Tuesday, February 6, 2018

Smart Home Version 10?

Original Web Front End
Ok, maybe it’s not version 10 but I have been through a LOT of major version changes in my home automation / smart home history. Starting way, way back in the 1980’s with a Commodore Vic20 running as a dedicated controller for turning on and off X10 lights based on my “programmed” schedule and some X10 control pads around the house, through SEVERAL different PC versions of X10 based controls, to a dedicated Time Commander+ setup in the middle 1990’s, to a TC+ version and my own interface to fake keystrokes into the control software, then an integrated TC+ and web services version.
WAP Access - Simple Pull downs

Around this time some very basic WAP pages were developed to allow remote phone access for those nice limited Nokia phones. It worked just fine and was just a list of things to scroll up or down to and click on. With smartphones showing up the mobile interface was updated to a full html style page and formatted to fit the small screen. That interface is still the main front end I used day to day but is on it’s way out. Next to an expanded version of that with Arduino and ESP8266 end points and now my migration from my now “legacy” system over to a dedicated Raspberry Pi3 running Home Assistant / Hassio. That could be more than 10 actually.


Mobile Web Access
I’ve been questioning myself over what is the next version or phase of smart home I’ll be moving to for a while. Actually for a few years now. Obviously X10 is dead and has been for some time but that is what all my controlled devices were built around. Watching the Z’s (Zigbee and ZWave) battle it out, I never made a commitment to either. I did buy one Insteon wall switch that could do both X10 and their own power line carrier (PLC) but at their price point I could see it was going to be way more than I was willing to pay for budget wise to move everything that direction.

Then along came the Internet of Things (IoT) and WiFi device disturbance along with what seems like a million different protocols, options, and “apps” to use. I always loved how my home built web service put everything into a single site of controls so there was no way I was going to “app hop” to turn lights on, then arm the alarm look at cameras, etc. In the meantime I was slowly deploying my own ESP8266 IoT things on my network for temperature monitoring and some endpoint / relay controls but using my own HTTP API processes to do so. I had checked out Smartthings when they were a startup but after being bought out and up by a corporate giant my interest waned.

Hassio Control Screen
Finally during my wanderings around the web I ran across Home Assistant, or more specifically for me Hassio. I had actually recently picked up a Raspberry Pi3 on a whim as I knew I really needed to learn more about them and I had a $50 gift card on Amazon burning a hole in my pocket so to speak. I’ve coded in microcontrollers for years, check that, decades from 68HC11 devices through BX24 chips and for the last several years on the Arduino platform. I’m not saying I’m good by any means, just have been using them for my own fun. Seeing Hassio was basically made to run on a Pi3 with little effort I figured it was worth a try. Honestly the install was dead simple and before long Hassio was running and finding devices on my network.

So my goal now is to slowly, well I really want to do this quickly but time and money come into play so it's slowly, migrate all my old light switches, inputs and outputs, and automation routines over to Hassio and grow it from there. I’ve migrated quite a few switches, have text to voice working, have Alexa and Siri listening and responding, and am working on migrating my automation routines over. Learning YAML and its idiosyncrasies was a bit troubling at first as I am a quite sloppy coder but after a few thousand errors and fixes I’m getting better.

HA Dashboard Master Screen
Although the Hassio control screen does it's job well, it's just too much at once and not that easy to customize. Fortunately, the wonderful HADashboard add on for Hassio and Home Assistant, makes it super easy to build out new web interfaces to replace what I’ve built before. With HADashboard one can configure multiple dashboards and customize them for the particular endpoint display as needed. For example my small old phone displays are laid out different than my larger phones versus the Android tablets versus the old Ipad devices. You can setup your “widgets” and then include them in your dashboards adding easy re-usability of existing code.

I have to say version “10” (or maybe even higher) of our automated home is better than the old versions of the past and continues to improve. There is much work to do including moving inputs and outputs such as the washing machine, dryer, garage doors, alarm system and other sensors over to the new system but this will actually be easier as ESP8266 end points will be much easier to build out than running wires everywhere.

Watch for more details in the future as this decades long adventure continues…

Resources:

Home Assistant/ Hassio:
HADashboard:
My ThingiVerse Things for 3D printable items I've used:

To learn more about Home Assistant and DIY Smart Homes in general check out these Youtube channels:




No comments: