Heterogeneous Home Automation with Home-Assistant
The rate of change in internet connected devices continues to accelerate, with new devices, platforms and “things” appearing all the time. Home Automation has been an area I’ve dabbled in on and off over the past few years, recently I’ve made a more concerted effort to add some easy to use devices, that pass the family acceptance factor test.
Overcoming Barriers to Home Automation
Many years ago I experimented with using a Philips Pronto remote control to enable me to automate my TV/DVD/AV setup along with some lighting. This used a programmable remote control and some IR blasters to switch everything to the desired state. This included turning on the different components, switching inputs on the TV and Amplifier if necessary and also controlling the light level in the room. I thought this was great, my wife, however, did not, as it never seemed to switch everything into the right state when ever she tried to use it. The “it works for me” response didn’t go down too well.
I spent time debugging the sequence of commands, delays etc with little success in improving the outcome, until I observed her using the remote. Where she would hold the device up vertically to read the display, then press the desired button. At which point the Pronto fired out a sequence of IR signals which bounced off the ceiling, with only some of them reaching the intended devices. Doh! In hindsight I completely understand why this happened as you had to look at the screen to ensure you pressed the correct option, meaning it was both likely and easy not to be pointing the remote in right general direction.
When we moved home 15 years ago I was reluctant to repeat the same mistakes. Luckily, in recent years smart devices have become simpler to use and easier to consume. The smartphone has provided a familiar visual interface to many smart devices. More recently, there has been a growth in voice interfaces (that really work) in the form of Amazon Alexa and Google Home. I’ve a couple of Amazon Echo Dot devices which has enabled all members of the family to control my smart devices easily. (Well easily, once I printed off a list of some of the device names in the house).
As well as overcoming the interface challenges, more devices can be more readily retrofitted into an existing UK house wiring system, without needing to run extra control wires, of have both live and neutral present at a light switch, which is very uncommon here in the UK. So now it’s easy to add smart devices to my home and hook them up to be controlled from phones and even voice controlled by with Alexa.
Too Easy = Too Many
LightwaveRF smart switches and dimmers, plugin adapters from a wide range of vendors (Belkin, TP-Link, LightwaveRF,Energenie and many more), make it incredibly easy to add a hint of home automation to your home. You can just replace a few bulbs with smart colour changing bulbs like Philips Hue to add interesting colour scenes to a room. I’ve a Nest Thermostat which controls my heating and hot water and looks so much nicer on the wall than the original thermostat. Along with a ever expanding range of other random devices and sensors. With each new device often comes a new hub/control device to plug in somewhere to control each specific vendor’s range of devices. In addition to this hub sprawl there are a plethora of Mobile Apps too and the joy of finding the right app to control the right device.
Something that started simple quickly becomes complex as you have to find the right app to control the right device. Clearly something that is going to hamper easy of use and acceptance within the family.
Some manufactures are trying to help control some of this diversity, e.g. Samsung Smartthings, Apple HomeKit, but these still tend to be limited in the systems they support.
One System to Rule Them All
As always, where there is a large enough problem and group of sufficiently motivated people, Open Source projects tend to pop up. With an active community and a bit of drive it’s amazing what can happen. I took a look at a couple of different platforms (Domoticz and OpenHAB) trying them out for a day or two to work out what they could do. I finally adopted Home Assistant which has provided me with a great project to deal with my heterogeneous Home Automation environment. I’ve stopped feeling tied to particular ecosystems and feel I can easily chop and change platforms and devices without needing to worry about integration. It was easy to get started with, helped by a range of tutorial videos and libraries of shared configuration files, showing how other users control their setups.
Now I have one App to monitor, control and even automate all the smart devices in my home. There are even devices which can make those dumb devices a little smarter. The front end can be accessed via web browser, or an Mobile App with many of the capabilities also available though Google Home or Amazon Alexa.
Once you have various input and output devices connected you can really start to interesting and useful things with automation. For example, I turn off sockets when there hasn’t been movement in a room for a while, ok that’s cool and simple, but also annoying to have to go the wall to turn things back on again. So with slightly smarter sockets that also report power usage, we can decide only to turn things off if something plugged in has been left switched on, for example an Iron.
In terms of the setup required, I’m running Home Assistant on a Raspberry Pi 3 Model B, with a couple of USB devices for controlling non-Wi-Fi connected devices:
An RFXCOM RFXtrx433E provides the ability to send and receive data and commands from a vast range of 433MHz based devices such as LightwaveRF products, a bunch of wireless temperature sensors and even my living room fire. | The Aeotec Z-Stick Gen 5 allows me to use Z-Wave devices. I’ve only a couple of Z-Wave devices so far as but can see this growing overtime. |
![]() | ![]() |
So if you’re starting to suffer from device and platform sprawl, or you’re feeling limited and locked in to a specific platform. I’d suggest looking to an Open Source Hub like Home Assistant maybe as this may be the answer to hiding the complexity whilst providing the flexibility.