In this post, I highlighted the expectations from a home automation prototype.
As a hobbyist, for someone who is trying to balance work and life, time and cost of development is pretty high the list. As such I tried to search options for systems that are already existing (preferably open). Google is everyone’s friend and rarely disappoints. One look here at the popular options documented in Wiki reveals that home automation is not really open. For systems where complete integrated solution is available for a smart home, there is a cost.
Some more googling took me to another list of open source options.
So to start off, the idea is simple, “choose a good enough open source platform, adapt it for custom hardware, scale it layer”.
OpenHAB (Open Home Automation Bus)
OpenHAB is a popular open source home automation platform or rather just a big piece of software that allows you to play around with any type of automation hardware. I choose OpenHAB mainly due to,
This means I can run it anywhere (laptop/pad/mobile/RaspberryPi?). I understand that Java has its own performance issues on smaller systems, but its a different problem all together. For now, this is good enough.
2) Integrates with any known/custom automation hardware
Be it an Insteon, Zigbee, NXP or any known automation device in market, OpenHAB can work with it. Basically, the developers have a done a great job of reverse engineering these devices and their closed protocols.
Of course, I can add support my custom hardware to!
3) Provides advanced features like rules
OpenHAB comes with a rich set of features like rules which makes the software job easier. I can add rules like “If LIGHT_SENSOR = ON then CURTAIN=OPEN” .
4) Open Source
OpenHAB is completely reusable and can be modified for our use. Whats more, i can contribute to it.
OpenHAB can be run anywhere. It could be installed as a single controlling entity at home while also running on a node like a switch controller. Whats more, it can be installed on cloud as well using services like Xively. Basically it can work with any number of devices and any number of instances because of its event bus architecture. There basically doesnt seem to be any practical limit on the number of devices that can be controlled or monitored by OpenHAB.
OpenHAB allows for a layer of security when communicating with devices. More here.
7) User Access
OpenHAB comes with very usable user interfaces. While the server instance of OpenHAB can be accessed using a web-browser (for ex: http://192.168.0.105:8080/openhab.app?sitemap=demo), an Andriod or IOS version provides the exact same interface. The Andriod interface is quite neat and uses network discovery to find the OpenHAB server instance. The user access system is complete on its own and seems easy to tweak around.
So with the decision to stick with OpenHAB, my next job is to find a linux based platform (like RaspberryPI?) to run it.