Key Takeaways
- Home Assistant offers a centralized platform for smart home devices sans cloud sharing.
- Integrating the Ring Video Doorbell into Home Assistant is straightforward and user-friendly, but comes with some serious limitations.
- Not all Home Assistant integrations are equal; there’s a more potent MQTT integration available—if you’re willing to invest the time and effort.
Interested in adding your Ring Video Doorbell to Home Assistant? I recently added mine, so let me show you how I did it and talk you through what I learned along the way.
Why Bother Doing This?
If you’ve never heard of Home Assistant before, I suggest reading our Home Assistant explainer to get you up to speed. In a nutshell, Home Assistant is a free and open-source community-supported home automation platform that can manage a huge spectrum of smart home devices and brands.
With the wide and ever-expanding variety of smart home devices populating our homes comes a growing collection of apps needed for managing them. You could consolidate most of them using smart home platforms like Google Home, Amazon Alexa, or Apple HomeKit but if you aren’t interested in having all your data in their respective clouds, Home Assistant can do that locally without having to share your data.
What first drew me to HA was the allure of having all my devices managed under a single app. It takes devices and atomizes their features into individual “sensors” and actions that you can then use to stitch into automations across diverse brands and devices. This means that my Ring doorbell can trigger an automation that turns on my foyer light via my Lutron Caseta switch (as one example).
What’s great about HA is that with such expansive community support, you’ll be hard-pressed to find a device that can’t be brought into its ecosystem, at least not without a bit of work. That same community is also hard at work to make adding and managing devices easy. When I saw that Ring was already a mainstream integration for HA, adding my doorbell was a no-brainer.
How to Add Your Ring Video Doorbell to Home Assistant
Thanks to the native integration, adding your Ring Video Doorbell (or all your Ring devices for that matter) to Home Assistant is as easy as it gets. All the steps can be done within the UI without needing to resort to editing lines in a configuration file or installing dependent modules.
From the Settings tab in Home Assistant, click on “Devices & Services.” Click on the “Add Integration” button in the bottom right corner. In the dialog box that loads, search for ‘ring’ and then click on the “Ring” entry. You can also scroll down the list to find the Ring integration.
You’ll be prompted to enter your Ring credentials at this point. If you have two-factor authentication enabled for your Ring account, you will also need to enter your one-time passcode. Once Home Assistant successfully signs into your Ring account, it will auto-discover all your devices and present you with a dialog for optionally grouping them into areas.
And you’re done! When you return to your Overview page, your doorbell, along with all your other Ring devices will be listed under the areas you assigned them. Now that you have your doorbell in HA, you’ll be able to control all the individual features available to HA from your dashboard.
From here, you’re ready to start constructing automations incorporating your doorbell’s features like using the motion sensor or triggering a chime.
Creating My First Automation
Right out of the box, integrating your doorbell into Home Assistant only exposes the features available on the device via the Ring integration. Any of the features that are automatically surfaced by your Ring app like motion notifications won’t happen in HA unless you specifically set them up as automations. Fortunately, creating them is fairly straightforward using the familiar “if X happens, then do Y” workflow.
This is where you will start to see some of the big differences in managing devices in HA compared with the Ring app. All the logic that delivers functions like simple notifications needs to be defined explicitly for each device you want to set up. Creating these recipes can be a bit of trial and error as you hunt for the proper buttons and levers necessary for constructing your triggers and actions.
It took me several iterations to find the correct automation recipe for getting a “motion detected” notification due to how functions have been mapped and labeled in the Ring integration. Not everything was as intuitively classified as I would have liked. Below is what I needed to set up for a simple recipe for pushing a notification when motion is detected on my Ring doorbell:
How My Doorbell Works Now
I spent some time recreating some of the notifications I originally received through my Ring app, but it wasn’t long before I realized that continuing down that path would take an eternity. Not only would I need to create each notification type, but I would need to repeat that for each device.
Once set up, my notifications were rather rudimentary compared to my Ring app notifications. Yes, I can get simple text notifications similar to what I received from the Ring app, but they were purely static text notifications whereas those from the Ring app had a neat snapshot image included with the text. Recreating that functionality is possible, but would be a far more involved process.
What’s wonderful about Home Assistant is also what makes it daunting. You have access to a smorgasborg of functions, but it is up to you to stitch them together into cohesive and user-friendly automations. It’s like starting a Lego project with all the pieces dumped into one enormous pile. This gets tiresome because you must sort out the minutiae of steps needed, build, test, debug, and iterate much like an app developer does.
For some, this can be a welcome and fun venture, but if you’re like me, you just want it to be easy.
Once up and running, notifications came reliably (whether I was home or not) but significantly delayed. Using my phone stopwatch, from the initial motion event, I clocked Ring app notifications in under 3 seconds whereas the HA app took upwards of 30 seconds—far too long to be actionable.
With the basic notification done, I then tried to create another that also turns on my foyer lights when my doorbell is pressed. This did not go as well because I couldn’t figure out how to actually trigger the notification off the doorbell button press. After trying multiple triggers (then running up and down the stairs to ring my doorbell) I aborted my attempt when my legs ran out of gas.
However, manually triggering actions from within my automation worked swimmingly. The notification was nearly instantaneous and so was turning on my lights. At least the mobile push notifications and integration with my lights worked without a hitch.
Aside from my failed automation attempt (which is probably user error), another thing I neglected to consider is the fact that Home Assistant runs locally on my home hardware. Without enabling remote network access, the app can’t connect to my Home Assistant server. More importantly, I couldn’t do what I took for granted with the Ring app: tap the notification to bring up a live stream of the camera.
We outlined several ways to go about opening up your network in our how-to for accessing your network remotely, but as it turns out, I still wouldn’t be able to view my camera live views because only later did I learn that the Ring integration did not support it. Which brings me to my next observation.
Not All Integrations Are Created Equal
In addition to the lack of live view capability, the timing disparity I saw between native Ring app notifications and HA-based notifications can probably be chalked up to the integration rather than Home Assistant itself. Integrations are built by different teams—or the device manufacturer if you’re lucky—so the outcome of using an integration can vary widely.
Fortunately, for most, if not all supported integrations, Home Assistant has integration-specific pages that outline key features and limitations for you.
Included in their guides are a handy pair of metrics: IoT class and quality scale. These scores or grades can give you insights into the robustness and user-friendliness of a particular HA integration. You can find a breakdown of the classifications and scales on Home Assistant’s IoT classification and quality scale pages.
The Ring Integration page gave middling scores with an IoT classification of “Cloud Polling” and “Silver” on the quality scale. This may explain why my notifications were so slow (your network also plays a vital role, but I know mine is rather fast). If the Ring integration had scored as Gold or Platinum on the quality scale, notifications might have been much faster.
In my experience with Home Assistant, a recurring theme has always been “there’s more than one way to skin a cat”. What I have written about thus far was using the standard Ring integration, but there is a far more powerful integration available that leverages the MQTT protocol. You will find that for other devices there are multiple integration paths as well.
The MQTT-based integration removes many of the limitations of the standard Ring integration, but the tradeoff is added complexity with setup and implementation. To go into detail would probably take more than one article’s worth of space so I’ll save that for another time (if I can drum up the time and energy).
In the end, while I can see the immense potential of using Home Assistant instead of my Ring app, the inherent limitations of the integration coupled with my unwillingness to go further down the rabbit hole has led me to remain reliant on the Ring app.
Home Assistant is a feature-rich playground for tinkerers looking to build sophisticated Rube Goldberg-esque recipes but I’ll stick to the easy button for now.