2021 Home Security/Home Automation Re-Design [ Part 3 of 3 ]
A lot of my old Pulse automations were based on my ADT alarm sensors: open the door into the garage, turn on the garage lights; alarm armed in Away mode, randomize the indoor lights to make the house look occupied; burglar alarm goes off, turn on all of the lights, inside and out. Now that I’d separated the home security and automation systems into Ring and HomeSeer, I needed a way to integrate them together in order to accomplish the same tasks.
Luckily, both products work with Amazon’s Alexa, so a slick combination of Alexa routines and HomeSeer virtual devices became the glue I needed to hold my new system together!
Alexa and Ring
Ring is owned by Amazon, so the integration of the security system into Alexa is pretty seamless (you can read about it in part 1). Every sensor I added to my Ring system automatically appeared in my Alexa app, including the Ring system itself. From the Alexa app, or via voice command, I can query the status of a sensor (“Alexa, is the guest bathroom window closed?”) or arm the system (“Alexa, arm Ring Away”).
Alexa routines let you create automations based on the status of a device. The Ring sensors and system all appear under Smart Home devices in the Alexa app, so you can create routines based on when a door or window opens (or closes) or when you arm (or disarm) the security system.
But what about all of my Z-Wave devices (lights, door locks, etc.) that are being controller by HomeSeer?
Alexa and HomeSeer
I didn’t write about this specifically in part 2, but HomeSeer can connect to Google Home and Amazon Alexa to allow voice control from their respective hardware devices. Confusingly, HomeSeer has two different Alexa skills: the Smart Home skill, and the Home Automation skill. I am currently using the more basic Smart Home skill, which can control lights, thermostats, and events with straightforward language syntax (i.e., “Alexa, turn on the dining room lamp”). The Home Automation skill supports a wider range of HomeSeer features, but requires the more cumbersome “Alexa, tell HomeSeer to …” syntax. When installing the skill, you need to link it to your MyHS cloud account. This procedure should be familiar if you’ve linked any other third-party service skills like Tile, Fitbit, Nest, etc.
Now that your HomeSeer system and Alexa can “talk” to each other through the MyHS connection, it’s time to determine which HS devices you want Alexa to “see.” Being able to decide which devices are voice controllable is actually a nice feature. With ADT Pulse, all Z-Wave devices you had paired would show up in the Alexa skill. Now most people probably want that, but being the Type A organized person that I am, maybe I don’t want the electrical outlet in the guest bedroom to clutter up my device list in Alexa. You can control that with HomeSeer by only enabling “Voice Command” on the devices you want. This can be done at the root device level, or the feature level (for devices that have multiple features like door locks) and devices that are voice command-enabled are identified in the GUI by a little microphone icon. You can even set the actual voice command you want to use to control the device. There’s also a “voice command confirm” checkbox, which is supposed to ask for confirmation before controlling, but I haven’t been able to get that to work yet.
Now that you’ve got some devices ready for voice control, you go back into the Alexa app and scan for devices. After a few seconds, your HS devices should appear in the app. You can now group them, rename them, add them to routines, control them from your Echo device, etc. Pretty cool!
All Together Now
Cool, so now you have some Alexa routines that can individually control devices paired with Ring and devices linked to HomeSeer. At this point you can even create routines to control your HS devices based on Ring sensor actions, like my basic “when the door into the garage is opened, turn on the garage lights.” But Alexa routines are still pretty new and limited in their features. Routines can also only be created and edited in the Alexa mobile app, so it’s a lot of tap-tap-tapping on a tiny screen. I’ve got this super flexible home automation system with advanced control through events, what if I’d rather have HomeSeer do all the heavy lifting and just have Alexa be the intermediary between Ring and HomeSeer? Enter virtual devices.
Physical devices are your light switches, door locks, thermostats, etc. Thus, a virtual device is? Not real. 🙂 It’s a device you can create and configure from scratch in HomeSeer and then use it in events. For my purposes of integrating the Ring security system and some door sensors for automation, I created a few simple on/off virtual devices in HomeSeer. For the doors, “on” is open, and “off” is closed. For the security system, I created three virtual on/off switches, one for each of the three modes: Armed Away, Armed Home, and Disarmed. At the feature level, I enabled voice command and then scanned for new devices in the Alexa app. The end result was “virtual” switches in Alexa I could toggle in the app (or via voice) and the corresponding virtual device in HomeSeer would toggle accordingly. Since Alexa sees these virtual devices as “switches” they have “power on” and “power off” statuses, but for the simple purposes of using them in routines, that’s fine.
Great, so these new virtual “switches” allow me to turn them on and off in HS and watch them turn on and off in the Alexa app, or vice versa, but they don’t actually do anything automatically, right? Well, not until we hook them up to some Alexa routines and HomeSeer events. First, in the Alexa app, I created two routines for each virtual device: one for on, one for off. There are probably some more complicated ways to combine these, but I wanted the management simplicity of just a single routine to flip a virtual switch. So for a door, one routine to “turn on” the switch when the Ring contact sensor is open, and another routine to “turn off” the switch when the Ring contact sensor is closed. For the alarm sensor I have three routines: one to “turn on” Armed Home, one for Armed Away, and a third for Disarmed (which “turns off” both Armed Home and Armed Away switches).
With me so far?
Now that we have virtual devices in HomeSeer that can be toggled by Alexa routines (or voice commands), it’s time to use them in HomeSeer events. Like I mentioned above, some of this could have been handled directly with Alexa routines, but I decided I wanted HomeSeer to do all the work allowing me to add/edit events using the more powerful logic in HS4. This also allows me to take advantage of HomeSeer’s local backup capabilities in case something goes wrong with Alexa. The worst I should have to do if there’s a complete meltdown of Alexa for some reason is to re-scan my devices and rebuild those basic on/off routines. All of the actual logic will be safe in HomeSeer where I can control the backup/restore process. Another nice side effect of having the Ring contact sensors appear as virtual devices in HomeSeer is that I can add them to a dashboard and actually see their status in the HomeSeer mobile app. I didn’t go so far as to add all of my Ring door and window sensors as virtual devices, just the ones I wanted to use with HS automations (that would have been a lot of additional Alexa on/off routines and virtual devices and I’ll use the Ring app if I need to check if a window is open).
Using HS, I can create more complicated events like: when Ring is armed wait 5 minutes then make sure the doors are locked, the garage light is off, and the little melted candle wax air freshener we have in the family room is turned off (it’s connected to the Z-Wave power strip I mentioned in part 2). Or, if it’s after sunset and the alarm is armed in Away mode, turn on the randomized indoor lights (via the BLOccupied plug-in). I also have a bunch of simple lighting events based on doors opening and closing.
Here’s a quick overview of the integration path: local Ring sensor event (door opens) –> Ring cloud service –> Ring Alexa skill –> Alexa routine toggles virtual switch –> MyHS –> HomeSeer fires event based on virtual switch (light turns on)
What’s amazing is that despite that long sequence of service hops, it’s fast! In fact, it seems even faster than when I had this all set up in Pulse. There’s virtually no noticeable delay: I open the door into the garage and the lights turn on. Every now and then there’s a slight lag, but I saw the same occasional delays in Pulse. Most of the time, it’s almost instantaneous and indistinguishable from when I had this all set up in Pulse. I’m obviously an Alexa user, but this setup should be similar if you’re using Google Assistant/Google Home.
The one automation from Pulse I could not replicate is turning on all of the inside and outside lights when the burglary alarm is going off. This is because the only Ring alarm states available in the Alexa app for routines are Home, Stay, and Disarmed. There is no status for “Alarming” so I can’t trigger any routines in Alexa or events in HomeSeer based on that. For now I’ve got an “All Lights On” event I can trigger from the HS mobile app (I plan on setting up a virtual device for this to link to a routine so I can say “Alexa, light up the house!” if a burglary alarm wakes me up) and I put in a feature request on the Ring Community.
That about sums up my Ring, Homeseer, and Alexa integration and puts a wrap on this three-part series on my 2021 Home Security/Home Automation Re-Design! Thanks for reading, I know these were long, but hopefully they’re helpful.