Home Automation Fun

It’s been a fun year playing with creating home automation software, but totally unproductive. I had decided to write my own Mac Mini, Swift based programming to control all my IoT devices. I did this, and then ran into lots of issues trying to interface with all my IoT devices. To make matters worse, the things I was trying to interface with kept changing (eg. new Samsung Smartthings APIs, programming language, etc). So while I think I came up with a pretty powerful code base for automating my home, I hadn’t actually automated anything in the past year. So I’m going to call that a fun learning experience, but I need to change direction if I actually want to automate my RV home.

Home Assistant v0.91

So, I reevaluated my objectives, and took another survey of the existing platforms, and was absolutely shocked to see how far Home Assistant has come in the past year or so. There is a veritable army of folks using and developing this system. There are YouTube videos explaining how to setup and configure it, and new built-in components that allow me to tie in my Patriot home-made, Photon based IoT controller devices using MQTT very easily.

So I’m off to the races with Home Assistant. I dusted off my Raspberry Pi, and spun up a copy of HASS.io, and had lights working fairly quickly. I’ve been reading a lot of forums and documentation, and am getting pretty excited about this.

I’ve got to say that after a couple weeks I still find this pretty complicated. I think I’m not as smart as I used to be, but I’m determined to tackle this. Most of the to-do list items I had planned for writing myself are already present in Home Assistant: useful, filterable logging, support for just about any additional device, custom display formatting. The list is huge, which is part of what makes this a bit overwhelming.

I’ll be converting my current Raspberry Pi based Home Assistant to run on my Mac Mini before long, but for now the Pi is working just fine, and I’m adding automations to control my devices one-by-one.

Alexa as Home Automation Integration Point

Over the past few months I’ve done a lot of experimenting with getting various home automation technologies to communicate with each other. For example, setup a Raspberry Pi to bridge between SmartThings and Home Assistant using MQTT. SmartThings in turned connected to my Harmony Hub. Then tied in my Patriot custom electronics devices via MQTT. What I ended up with worked, but seemed overly complex. I don’t even want to try to blog about how to reconstruct such a beast.

So that got me thinking about how to simplify things. I realized that the individual pieces are are fairly simple: SmartThings, Patriot, Harmony. Each of these provides their own Alexa smart home skill, and most of what I want to accomplish can be done entirely by Alexa. So it isn’t really necessary to try to bridge between each of those. Instead, I can let Alexa be the common interface to each of them.

So that’s what I’m trying now. I’ve removed the bridging pieces, and will be using Alexa to control everything. Things certainly are simpler now. I’m hoping that the recently announced support for Echo Buttons indicates a direction for Amazon that will allow other inputs to be used with Alexa. Amazon is holding to their “voice first” mantra, but we’ll see where this goes.

In the meantime, I’m investigating whether I can trigger an Alexa skill lambda handler directly from a Patriot device. I think it may be possible…