At this point, there's a lot of little bits of tech in my house, and a lot of it is tied together doing cool or useful things. You may have noticed in my IP Camera posts that one of my cameras is focused on the front door. It's handy for checking for packages, and will have a record if anyone steals one. But I also thought it would be handy for checking who's at the door when the doorbell rings. Getting out your phone, opening the app, and finally checking is a little awkward to do while someone is waiting at your door.
Basically, I thought it would be handy if I was watching TV and someone came to the door to have the camera feed show up on the TV - ideally in the picture-in-picture box. I'll be honest, I had
the idea to do this shortly after getting the IP cameras set up, but it took over two years of occasionally revisiting the idea until I finally figured out how to do it.
At first I thought it was going to be easy. Our main TV (in our living room) is a Samsung 'Smart' TV (and those quote marks are very much intentional). The smart TV is what I thought was going to make this easy. Manufacturers keep jamming features into these so-called smart TVs, like microphones to listen to you, and cameras to watch you, etc... But basically the whole idea is that the TV has 'apps' - and you can do all sorts of the things on a TV that are above and beyond just using it to play video sources now that you have apps. Obviously this would be perfect. Since the cameras are IP cameras, I don't need to run any kind of video signal wire anywhere, just grab it from the nearest network connection (the whole point to having an extensive prewire!) then, I'll just find some sort of IP camera viewing app for the smart TV, and figure out later how to activate it. Maybe I'll have to fake a remote button press, but if I'm lucky, maybe someone has a plugin or something that can control the TV through IP.
So here's the thing about smart TVs: The apps suck. There was not ONE kind of IP camera viewing app available. I mean, It's a giant video screen that you've just enabled with apps. What kind of apps did you think they would have if not a basic IP camera viewer? I'll tell you. About 3 weather apps, and 132 different ways to stream media. There's the obvious ones, Hulu, Netflix, YouTube, and then a giant list of streaming services I've never heard of. It's ridiculous. I went to Samsung's website to see if there was one available that I couldn't find just browsing and searching on the TV. Nope. There was one that sounded like (by its description) it might possibly play an IP source... but it was available for a different TV (not mine). So somehow, even though my TV had all of the requisite parts (a screen and internet connection, and some sort of processor to run apps) it was not able to run the apps that were for a different set of Samsung TVs. It's probably for the best anyway, since booting up the smart TV and loading any of the apps is surprisingly slow. So nothing smart about it. Basically it's an AppleTV that's way slower and clunkier and harder to use. Why would anyone EVER use this?
So smart TV is not the solution. How then do I view an IP Camera on video? Clearly someone on the internet MUST sell a configurable box with a network port and HDMI out. I cannot be the first person to want something like this. Well, it turns out that they are remarkably hard to find - at least for a reasonable price. They seem to be relatively common if you're willing to spend a few hundred dollars (I'm not). I did find this Grandstream one that was about $95, but it still seemed a bit pricey for what I wanted to do - plus it looked like it only decoded SD video. (I really only needed SD video, but my cameras were HD, and if it couldn't decode it, that was going to be an issue).
In the meantime, my father-in-law had decided to install some IP cameras in his house. He bought a pre-packaged kit that was basically a set of IP cameras, and a central NVR (Net Video Recorder) to control them. This thing is fully standalone, does all the motion detecting, etc. and records to its own internal hard driver. And it had an HDMI out, which my father-in-law used to play his cameras on his TV and make me rage with envy. Back to google. I found that I could just buy a standalone NVR, but even that was a bit of overkill. Finally I found the solution. You can buy a standalone-standalone NVR. It hooks up to the network, and will control/monitor the cameras, but you have to supply your own external hard drive. It's just a little square box with an ethernet port, a couple of USB ports, and HDMI out, and a VGA out. And it was $50. When it arrived... well, for $50 there's going to be some cut corners. Getting it set up was a pain. I got it all hooked up and had a heck of a time actually getting it to display a camera (but I eventually did!). You can log into it from a web browser, but it's easier to plug it into a TV and plug a mouse into one of the USB ports. (Don't bother with a keyboard though, it only supports a mouse. Fun times for entering any text with the onscreen keyboard). The software is filled with broken english and other idiosyncrasies. But it works! You don't really have to interact with it too much once it's set up. I set it to automatically display the camera on full screen when it starts up, so even if there's a power interruption, everything gets back to where it should be.
So now that I can decode the IP stream, how do I get it onto the TV? I should just be able to plug it in to an HDMI port and play it in the PIP, and then all I have to figure out is how to activate the PIP. But of course this won't be easy either. It turns out that my TV will only play antenna signals on the PIP. For real. (Note: I bought this TV in 2013, so it isn't exactly a relic.) I wonder who they expect to only want to view an antenna source through the PIP, while watching other stuff on HDMI. To be fair, I suspect it's just some old carryover TV system that they keep putting into new TVs, because while it had the PIP function, there's no PIP button on the remote. You have to go into the menu, click down a few rows, click something else and press sideways to turn on the PIP. Ugh. How is that going to work? Another problem.
First, lets get the dang video feed to play in the PIP. I figure if PIP has to be an antenna source, then I will have to put video on that, which means one of those old-school RF modulators (like we used to use to play Nintendo. Turn the Nintendo on and turn the TV to channel 3!) However, I just can't find an RF modulator that has an HDMI input. Well, I found this amazing thing. It's an RF modulator with an HDMI input. But more than that. It doesn't just knock it down to SD and then transmit it on channel 3. This thing actually transmits it like an over-the-air HDTV signal, so the picture is perfect. It even lets you pick the channel and add a channel label. I wanted to buy this so badly. It is the absolutely RIGHT way to do this. Unfortunately, it's $800 so that was that. Instead, I settled for an RCA RF Modulator. This beauty only takes composite video input, and outputs onto your choice of channel 3 or 4. Cost: $9.50. So I still have an HDMI out and a composite in. But my problem is getting smaller. Back to Amazon, I found a VGA to composite video converter (don't forget, the NVR also has a VGA output). Another box to filter the signal through. $17 and 2 days later, I had this baby and was good to go.
So now how do we activate the PIP? This was a bit easier than I thought. I already knew that manufacturers tended to show some consistency in their IR codes from model to model, and reckoned that if they were reusing some TV management system that included the PIP function, but had no button on the remote, than maybe a code from a different TV would work. I considered trying to find such a remote on eBay for cheap, but it wasn't even that hard. I just found a model that did have the button, and loaded it up as an extra device in my Harmony remote software. I set up one extra button for PIP in all of my activities. Press the button and boom! the front door view shows up in the PIP. Outstanding.
At this point it was pretty good... but wouldn't it be better if it would turn on automatically when someone rings the doorbell? My alarm already has a small accessory that connects to the doorbell and it is aware of when the doorbell rings. And there is also an Indigo plugin that can communicate with the alarm. All we have to do now is figure out how to make Indigo to turn on the PIP on request.
I've mentioned in other posts the usefulness of the Global Cache networked serial ports (basically a little box that connects to the network and is basically a remote serial port). Well, Global Cache makes a similar device called an IP2IR. This thing is just a little box that connects to the network and has some ports for IR emitters. Basically, you can command it to send whatever IR command you want over the network. And a talented Indigo user has created a plugin to control this thing from Indigo. Now, all I have to do is plug an emitter into the IP2IR and place it in front of the TV's IR sensor. However, on this TV, all of my equipment is hidden inside of a cabinet, and the TV itself lifts out of the cabinet for use. So there is already an IR distribution system that has an IR receiver and transmits any received IR signals to an emitter placed on each device. Well, the distribution block has an extra input so I was able to simply plug the IP2IR output into that distribution block and the TV would get the signal.
So now we have all the parts. When someone rings the doorbell, it activates the doorbell detector on the alarm and basically 'violates' the zone (in alarmspeak). Indigo sees this via the plugin and has a rule that whenever that happens, use the Global Cache plugin to send the PIP signal from the IP2IR, which goes through the distribution block to reach the TV and turn on the PIP. The camera signal is being picked up off the network and decoded by the NVR, which knocks the resolution down and outputs the signal from its VGA Port. Another converter turns the signal into an even lower quality composite signal, at which point it goes into the RF Modulator and is transmitted on channel 3 so it can show up in the PIP.
Honestly, it is a complete miracle that this works. What's really shocking though, is that it works WELL. The low resolution of the final signal is not an issue at all given the limited viewing size of the PIP. Secondly, although the activation signal goes through so many steps, I'd say between pressing the doorbell and seeing the image on screen takes somewhere between 1 and 2 seconds (and even half of that seems to be the TV tuning the PIP image in, as it seems to actually activate the PIP almost instantly). It's also been completely reliable. I've cut the power a few times at the circuit breaker for unrelated reasons, but the whole thing appears undisturbed.
The best test happened on the very day after I finally finished this thing. My wife (who had watched the whole thing from afar with multiple eye rolls) was home sick from work, laying on the couch with the TV on when the doorbell rang. She said she was still just filling with dread at having to tear herself off the couch and see who the heck was at the door while she was half asleep, when the PIP came on and she saw it was just a UPS guy dropping a package and heading back to the truck, so she stayed on the couch. She was actually impressed. Huge.