Home Automation:a.k.a: How to drive yourself crazy to make life easier
Once upon a time I had a large home in the mountains of Pennsylvania, and I had automated the majority of it using a mix of various technologies with SmartThings and later Hubitat as the core of the solution. Home Automation back in those days was pretty simple and well… when it worked it was great.
Fast forward a number of years, I have moved into a large apartment in Bethlehem, PA. a one bedroom duplex/loft style unit with 2 bathrooms and a home office. I figured it was a good time to ‘start fresh’ with automation as the market and technologies have greatly progressed since my first go at it with X10. Zigbee and Z-Wave devices many moons ago.
First Steps for the New Home Automation
When I moved into the apartment, the first thing I did was start with the Apple HomeKit ecosystem. All of my devices are Apple iOS or macOS and (at first) it seemed to make sense. Migrating the devices I salvaged from the house were a few Nanoleaf LED Strips and Wall Tiles, and a Philips Hue Bridge with a bunch of A19 and BR30 bulbs (aka: regular bulbs and floods).
Setup was as simple as resetting all the devices to factory (honestly the hardest part), installing the Apple TVs and HomePod Mini’s I used for my TVs and music throughout the apartment, and configuring the Hue Hub to work with Siri, and scanning the other devices QRCodes in the HomeKit app on my iPhone.
This met the basic needs of getting things on/off with Siri voice commands, and very basic automations. What it needed was more advanced scripting, home automations based on triggers and device states, as well as granular presence based rules. And while you could probably make that happen within the ecosystem, exposing it was a royal pain in the ass and fraught with failures.
Sometimes "Keep it Simple Stupid" (KISS) isn't simple
So, Apple ease of use made it difficult for me to do multi layer automations, or adding more funky or DIY hardware, so I tested a few options I have used or wanted to use in the past. It really came down to either saying screw it and staying clean in the Apple ecosystem, or integrating the Apple HomeKit with Hubitat or Home Assistant.
Queue up the testing, failures and eventually success
So I built out a test plan for deciding on which platform I would go with. As I mentioned, the choices were between Hubitat and Home Assistant. I had all the necessary equipment to try them out and get a feel for each.
The devices for integration testing included:
- Hue bridge
- Hue Sync (TV ambient lighting)
- 10 Hue A19 Bulbs
- 5 Hue BR30 Bulbs
- 3 Zigbee Smart Outlets
- Homekit Devices
- Eve Energy Strip
- Eve Motion Sensor
- Eve Room Temperature/Humidity/Air Quality
Gentlemen Start Your Hubitats
I set up the Eve Energy Strip and Motion Sensor but they would ‘disappear’ randomly. Hubitat to their credit anticipated this issue, and the integration had setting to restart the service hourly … but honestly it was a PITA.
Another area of difficulty, automations are very powerful in Hubitat – but without addons like WebCORE or similar they are quite difficult to manage. I was able to get then running and created a few simple motion and time based automations, but with the Motion Sensor going MIA randomly, it really wasnt working for me.
Next up Home Assistant ...
Home Automation - Current Status and Solution
So, as I sit here and write this article, my Home Assistant environment has grown exponentially. I’ve integrated nearly everything in my home that has a blinking light – and even some things that do not 😇
Once I got all my HomeKit and Zigbee devices registered and working the way I want them to, I started down a couple of rabbit holes – MQTT and ESPHome. I will leave the details of these for other posts, but basically MQTT is a communications protocol that allows IoT devices to communicate and publish or subscribe to information via a broker. This is how I have connected my BambuLab 3d Printers to Home Assistant, as well as other devices like a Govee LED Bars. I am using ESPHome devices for so many different types of sensors; temperature, humidity, human presence, air quality and the list goes on and on.
Things have gotten so deep that I started using Github to maintain all the configurations and files that are the heart of a HA solution, here are some of the statistics:
|Number of entities
|Number of sensors
|Number of automations
|Number of scenes
|Number of zones
|Number of binary sensors
I also have the following Add-ons and Custom Integrations:
|Advanced SSH & Web Terminal
|Dreo Smart Device Integration
|Govee to MQTT Bridge
|Home Assistant Google Drive Backup
|Extended Openai Conversation
|OpenThread Border Router
|Home Assistant Plant
|Philips Hue Play Hdmi Sync Box
|Silicon Labs Multiprotocol
Yes! That seems like a lot, and it honestly is. This does not even take into account the “out of the box” integrations like Zigbee Home Automation, MetNO Weather, HomeKits, etc. I have a number of integrations and devices that expose a TON of data to Home Assistant. For example my BambuLab printers expose over 250 entities and my ESPHome devices add up to over 650. The good news is the data is available to drive automations, or to use to control the various devices with great granularity. On the downside, I am starting to outgrow my Raspberry Pi platform and will be rebuilding the solution sooner or later using a miniPC ProxMox and Docker containers – a story for another article.
What's Next in my Home Automation Journey?
So next up for this? Here’s the funny part – I am going to be moving later this year. I am buying a house and going to have a hell of a lot of fun, frustration and learning building this all out again.
What would I do different? Well, firstly I would have started this build on a mini PC rather than a Raspberry Pi. Don’t get me wrong – a Pi solution is perfect if you want to do some automation, have a reasonable number of devices, etc … but I’m not the “reasonable” sort. I love to play and experiment so a bit more power is necessary.
Another thing I probably would have done (and will do) is run two Zigbee dongles – one SkyConnect USB running Matter/Thread – and if necessary ZHA. The other would/will be a Conbee stick to run Zigbee2MQTT (Z2M). Z2M is another Zigbee platform built on top of MQTT so it is more flexible, supports more devices, but has a steeper setup and learning curve. The SkyConnect USB stick can run both Zigbee as well as the newer Matter/Thread standard, which if it actually delivers on the promise will make Home Automation systems all interoperable – Apple talking to Google talking to Alexa talking to Open Source solutions … nirvana achieved? Jury is out at this point, but I am starting to mess around with it.
If you are using Home Assistant, Hubitat, or other home automation platform, I would love to hear from you, your successes, horror stories (we all have that ONE device …) leave a comment and start the discussion!