This post is the start of a series in which I will periodically cover how my home automation system is set up. I’ll talk about what products and technologies am I using, what new automations or tricks are being used, and how much money and time I’ve wasted trying to get that Next Big Thing working just right.
Hardware and architecture
If pictures are worth a thousand words, diagrams are worth at least twice that. I’ve made one of my smart home hardware and how it all connects together (click to embiggen):
In that diagram you see the various hardware involved in my smart home, what talks to what, and the protocol with which they communicate. A few notes, in no particular order, about what you see on that diagram:
- Home Assistant is the brains of the operation and controls 99% of what happens. The rest of the connected systems (Hue, HomeKit, SmartThings) are used mainly as dumb device hubs and have virtually no automation smarts setup on them at the moment.
- I have some Z-Wave devices bound to the SmartThings hub, and some bound to the Aeotec Z-Wave USB stick. This is because I used to have them all on the SmartThings hub, but I started having some reliability issues when large batches of commands (e.g. turn off every light in the house) were sent through the SmartThings MQTT bridge. Some commands would just never make it, lights would remain on, and the WAF took a hit. So I am in the midst of migrating away from SmartThings as my Z-Wave hub. I’ll keep it for Zigbee, because I don’t have many Zigbee devices and small sets of commands work just fine.
- The Amazon cloud and Apple cloud are primarily used to process voice inputs to those systems (they also serve to provide connectivity to your smart home devices when you’re not at home, but I don’t use that feature since I use the Home Assistant app).
- The SmartThings cloud runs a lot of the apps on the SmartThings hub — it is a hybrid approach where some logic runs locally and some runs in the cloud. Since I have stripped all the automation rules off of the hub, mine really doesn’t do anything with the cloud other than download updates.
- The line marked “emulated_hue” is what allows me to control everything with my voice via Alexa. Because Phillips Hue is an officially supported platform of Alexa, Home Assistant has a component called emulated_hue that fakes like all of my devices are Hue devices. My Z-Wave wall switches, for example…definitely not Hue bulbs, but Home Assistant makes Alexa think they are by exposing them a certain way on my local network.
Home Assistant, as you can see, is essentially at the center of my setup. All roads lead back to it, because it is an awesome open source platform that has gained serious traction in the last couple years and can integrate with virtually anything.
I’ll talk about Home Assistant a lot throughout this site. While it’s not for the average consumer, your casual DIY techie can get it up and running. It’s for those who really want complete control over their entire system, and who want to knit together lots of different technologies/ecosystems (as I have). It does require setting up a small dedicated server (most people use $35 Raspberry Pi mini-computers).
But you can achieve many of the same things I have with more consumer-accessible tech…you’ll just be more limited in the breadth of brands and protocols you can integrate.
A few of my favorite automations
- Automatic evening mode — 1 hour before sunset (it dynamically adjusts based on the time of year), the house flips into “evening mode.” A number of lights come on around the first floor, others start activating with motion (whereas during the day they wouldn’t), and I am alerted via push notification if the garages are left open.
- “Alexa, turn on Kitchen Low” — I use this command to the Echo by our kitchen/family room when we’re done cleaning up after dinner as we retire to the family room. I have a scene configured in Home Assistant called “Kitchen Low” that puts the lights in the kitchen into a very low, relaxing state after dinner. It’s nice and dim, but bright enough so people can still easily walk through the kitchen can get snacks and such. The scene is exposed to Alexa via the emulated_hue component, so Alexa thinks it’s a Hue bulb and just “turns it on.”
- “Alexa, turn on night mode” — Said when we’re ready to head upstairs for the evening. This begins a power-down sequence where all the lights in the house are turned off and motion sensor rules are changed. The lights shut down in sequence; after the first floor lights shut off, the foyer chandelier and loft lamp remain lit for another few minutes to ensure we have enough light to get up to our room and settled, then they too turn off automatically. When in night mode, many of the motion sensors won’t activate lights, and those that do will only activate lights to a much dimmer setting than they otherwise would.
I still have my eye on integrating some PoE (Power over Ethernet) IP cameras, but I’ve been saying that for years and I can’t bring myself to actually run the wiring because it looks like it’s going to be an awful project.
I want to work on getting voice integration for starting specific Harmony activities (e.g. “Alexa, turn on Netflix” or “Alexa, turn on PBS Kids”).
I’m trying to figure out some way (other than a camera) to be alerted when someone pulls into the driveway (because we can’t see it from the house).
This is the first “State of My Smart Home” post, so future ones will undoubtedly see the format evolve. This one stays pretty high level to get us started; details of how certain things work will appear in subsequent posts.
If you have questions, please leave them in the comments!