Those of you who've read my most recent ramblings will have come across the work I've been doing to try and get my home Control4 automation system connected up with my hot water timing switch. It's been nice to hack around with a new language, and also to better understand the low-level bit-level operations that are required to interface with the thermostats and timers. What hasn't been nice is the wall of silence from Control4 on offering assistance, despite the fact that I expect my work to add value to their product.
To take a step back and look at the wider home-automation environment would begin to give some clue as to the state of affairs. Home automation is the realm of the wealthy or the geeky - as up until relatively recently each environment has required fairly time-intensive and bespoke programming. Control4 has a whole market built up around providing this bespoke service, so to start to allow geeks to work on their products for free has the potential to undercut their partner network.
Instead of focusing on 'whole house' automation, new companies have come into the market by offering automation of a 'single' element of your home. Nest for heating, Hue for lighting .etc The challenge here is that each of the elements are operating in their own silo. Automation isn't about just having things connected, it's about intelligent connections and the concept of pre-programmed or dynamic 'scenes' - that'll set all the devices based on some kind of intelligence.
Taking these new silo'd modules and fitting them into an overall solution is https://home-assistant.io/. The beauty of the architecture is that each of the modules is not only being kept completely independent, but rather than producing specific modules for the platform, it leverages the pre-existing python modules. Of course, there's a little bit of interface code to import the module and expose the right values to the system - but it's limited to purely an interface. The beauty is that there are already a load of python libraries out there, and even last week I was able to both convert some pre-existing python scripts into a heatmiserV3 module, to then integrate with home assistant.
The other advantage of home-assistant that I'm starting to consider is the ability for the system itself to be 'cloud' based, rather than hosted at home. For many of the modules, this system is a true 'internet of things' - as everything is web-connected. Unfortunately, my heatmiser serial communication requires a local network connection (and isn't encrypted/protected, so wouldn't be straightforward to open up to the internet) - so it's more an 'intranet of things'.
Either way, it's an exciting evolution of home-automation software. In a not dissimilar way to IFTTT.com, I expect 'recipes' with pre-configured relationships between two devices will start to propagate - and hopefully more people can get the financial and energy benefits of the new wave of home automation.