Update: I’ve had a rethink on this and won’t be trying to build an entire system after all. After playing around with CCTV cameras I have realised they can do most of the work already.
Update (2023): As a result of fairly frequent issues with the Ring not recording video, recording blank video, or dropping off the network altogether (requiring troubleshooting and rebooting) – which has caused me to miss several callers and deliveries – the final straw came with Ring’s discontinuation of the desktop app. I have switched to the Reolink PoE Doorbell as of mid-2023.
A few years ago I bought a Ring video doorbell. After a bit of fiddling setting it up, it has worked reasonably well, though it isn’t perfect.
For a start off, it relies on Wi-Fi, which is a bloody nightmare at the best of times in the home environment. It is also totally dependant on Ring’s own cloud system (it isn’t an ONVIF camera, which I will go into later). But my main niggle is that I have no control over my data – and Ring is trying to make access to it even more difficult, thus enhancing the imperfections.
You see, the Ring system can currently be accessed via a desktop app, a smartphone app, or via a browser. I use the desktop app to monitor my system, because I can see absolutely no point in having a HD camera and only viewing it on a small smartphone screen. Furthermore, the smartphone app has a tendency to alert you up to a minute or more after an event has been triggered (I often get in my car and drive off from my house, only to have my phone vibrate when I get to the end of the road informing me I left a short while ago). And the browser interface has two-factor authentication and logs you out every five minutes, so if you get an alert, it can take some seconds to log in, by which time whoever was at the door has left. The desktop app is always connected (albeit with a tendency to decide not to give a live feed after it has been triggered). And another niggle is that the system only records several seconds of footage when an event occurs – it doesn’t record continuously.
But a couple of months ago, Ring unilaterally announced it was discontinuing the desktop app – initially, in mid-October, and currently (following uproar across the community), in December.
As I said, the Ring doorbell and the Ring system are not perfect. It can be glitchy, and it could do things better (like record continuously). But it’s a million times better than just ‘ding-dong’’ when someone calls, especially when that someone knocks instead (which most seem to do). However, without the desktop app, the glitchiness factor increases in significance considerably – the variable time lags with the other two methods are simply not acceptable. And as the Ring is a subscription device, I was rather miffed at this drastic change.
Running in parallel with all this is a very relevant separate story. During the summer I installed a birdbox with a camera in it in my garden. Once I’d assembled it and powered it up, it was immediately visible on my home network. That’s because it is an IP camera, and it uses the ONVIF protocol (as I mentioned at the start, Ring doesn’t do that, and forces you to use its own cloud service). Being ONVIF also means I can stream the camera feed live. Admittedly, my birdbox camera is a Wi-Fi system in this case (it’s at the end of the garden, after all), but ONVIF cameras can be wireless or wired – it doesn’t matter, and they just have to be discoverable on your network, which the ONVIF protocol takes care of. Better still, with my NAS system – which has Surveillance Station software pre-installed – I can continuously record the footage. Obviously, there’s no point saving every minute of every day forever, so I have it set to automatically delete anything older than (in my case) two days. This gives me time to manually save any particular footage I want to keep. It has motion detection, and I can edit the zones I want to monitor (and edit detection sensitivity as necessary). And best of all, all the data belong to me, and they are free – no subscriptions of any kind.
You can probably see where this is heading. On the one hand, you have the Ring doorbell – which taps into your network, but which has to communicate with Ring’s own ring-fenced servers across the internet, and those have to communicate back across the internet (or by SMS) to send any messages. It doesn’t record continuously, and no internet (or no Ring cloud) means no functioning doorbell. On the other hand, you have an ONVIF camera, which doesn’t require an internet connection, just a local network, which records continuously, and which has virtually the same overall functionality as far as the camera is concerned (just not a bell push feature).
I mean, come on! Is there a DIY project here or what?
I discovered that you can build an ONVIF camera using the Raspberry Pi. You can get open source motion detection software specifically for the Pi (though my Surveillance Station software already has that). And you can include various event detection features – button presses, for example – in a multitude of different ways.
The schematic diagram at the top of this article shows what I am planning right now. I will have a camera system based on a Raspberry Pi Zero with a bell-push button on the outside of my front door. This will connect to a hub, based on a Raspberry Pi 4, on the inside of the door (most likely, by a wired connection through the door jamb, but with Wi-Fi as a back up for the short distance of a couple of inches if necessary). The Pi 4 will be on the network, and almost certainly wired. Finally, I want two remote alarm units (one upstairs, and one downstairs), and I haven’t decided yet whether these will be wired or wireless – a lot comes down to how prepared I am to lay network cables, and the routes I could take if I did. I also haven’t decided whether to control them from the Pi4 or via the network. These remote alarms will be audio-visual – they will chime and flash.
If anyone is thinking I will end up with something the size of a fridge on my front door, just bear in mind the Pi Zero is 30mm x 65mm x 13mm in size. Camera modules are smaller, though the lens adds height. What I have in mind will certainly look different to a Ring doorbell, but it will be of a similar overall size if I assemble it in an appropriate way. And a Pi 4 is only 57mm x 86mm x 11mm, so it will hardly be out of place if suitably enclosed behind the door.
This will be fun. Watch this space…