The problem....
Firstly lets define what is home automation. Oxford dictionary defines automation as:
"the use or introduction of automatic equipment in a manufacturing or other process or facility"
What we are trying to achieve with our modern homes should be more than 'automatic equipment', and definitely much more than remote control, although both these aspects should be part of the solution. A better term is a smart home - a home that has intelligence to be able to smartly apply device features like actuation and monitoring, adding attributes like remote control and automation to the devices within and adjusting the home environment to your preferences.
It is useful to look at the analogy of a modern day automobile and compare to see what is possible with homes. So much automation is now included to augment the basic function of the automobile to get you from A to B. Each feature in an automobile (like headlamps coming on automatically when it gets dark) by itself is nice, but it is the combination of all the features and how they integrate with each other that makes the difference. A good example is storing profile data about seat position, mirror adjustment, temperature settings and associating it with the key used to enter the vehicle makes the vehicle environment more comfortable, personalised and a generally better experience for the driver. Automobile makers are now putting a lot more attention around the infotainment and intelligent systems that interact with the driver, because consumers can see the advantages of a smart car and are expecting it. This is such a powerful trend that a major factor these days when selecting a $30,000 vehicle is how well it integrates with your $300 smartphone!
Our homes are the equivalent of the '80's automobile, functional and using technology to improve the basic home functions like remote control of the front gate (similar to how fuel injection improved the fuel efficiency of motor vehicles in the '80's) but hardly intelligent or personalised. In the future we will think of the intelligence and smarts of our home the same way we now think about the use of technology in the automobile. But we are long way from that today.
The single most important hardware consideration that is holding home automation back is the lack of a common standard for interfaces that makes the integration between devices harder and not seamless. It is why a central hub server and the software are even more important to create the glue that can (virtually) bind these devices together so that exciting things can happen.
OK, enough of the musing. What does all this mean about how we should think about smart homes?
- Is it being able to use an app on a smartphone to control a Philips Hue light? Nice but no.
- What about seeing the temperature & humidity on the display of a DIY Arduino sensor? Interesting but again no.
- Security cameras recording video from the front entrance on a DVR? Nope.
- Answering the front door through a video intercom? Helpful but still no.
There are many more of these examples that are the staple of today's home automation systems. All these automation features we add to our homes do have benefit but are mostly point solutions and we still fall well short of the potential of the smart home. I believe that we have to add integration, intelligence and personalisation to take home automation to the next level to truly become smart homes.
This is why the home automation 'problem' is a software problem much more than a hardware one. Hardware is still important and it provides the 'senses' (to monitor) and 'muscle' (actuation) of the system but we still need a brain to make some sense of it all, pull it all together in a synchronised way and do something useful with it. Software is the oxygen that fuels the senses, muscles and intelligence of our homes, and why the software side of home automation solutions poses interesting and challenging problems to solve.
Vision for the smart home
A home automation system in...
Read more »
Dean, I came across this project doing some background research - is this project still active? I have a home-grown custom system (now running on a Raspberry Pi) that has a similar architecture - except that mine is pure Javascript and Node.js ONLY. Like you, REST interfaces and Web sockets for the web interface. The main reason I grew my own was to integrate my dinosaur of an X10 security and home control hardware with all of the modern stuff - and I've yet to find a piece of IoT hardware that does not have an npm package. I've also integrated my system with Google Home (using IFTTT) for voice control and notifications.