The Internet of Things isn't just a buzzword, it's a rapidly expanding reality.
With an ever-expanding number of devices available to help you automate, protect, and monitor your home, it has never before been easier nor more tempting to try your hand at home automation. Whether you're looking to control your HVAC system remotely, integrate a home theater, protect your home from theft, fire, or other threats, reduce your energy usage, or just control a few lights, there are countless devices available at your disposal.
But at the same time, many users worry about the security and privacy implications of bringing new devices into their homes. They want to control who has access to the vital systems which control their appliances and record every moment of their everyday lives. And understandably: In an era when even your refrigerator could now be a smart device, don't you want to know if you fridge is phoning home? Wouldn't you want some basic assurance that, even if you do give a device permission to communicate externally, that it is only accessible to those who are explicitly authorized?
These concerns are among the many reasons why open source will be critical to our future with connect devices. Being able to fully understand the programs which control your home requires the ability to view, and if necessary modify, the source code running on the devices themselves.
While connected devices often contain proprietary components, a good first step in bringing open source into your home automation system is to ensure that the device which ties your devices together—and presents you with an interface to them (the "hub")—is open source. Fortunately, there are many choices out there, with options to run on everything from your always-on personal computer to a Raspberry Pi.
Here are just a few of our favorites.
Calaos is designed as a full-stack home automation platform, including a server application, touchscreen interface, web application, native mobile applications for iOS and Android, and a preconfigured Linux operating system to run underneath. English speaking readers should be advised that, while some English documentation is available, some of the instructional material as well as support forums are primarily in French.
Domoticz is a home automation system with a pretty wide library of supported devices, ranging from weather stations to smoke detectors to remote controls, with a large number of additional third party integrations documented on the project's website. It is designed with an HTML5 frontend, making it accessible from both desktop browsers as well as most modern smartphones, and is lightweight, running on many low power devices like the Raspberry Pi.
Home Assistant is an open source home automation platform, and is designed to be easily deployed on most any machine that can run Python 3, from a Raspberry Pi to a NAS device, and even ships with a Docker container to make deploying on other systems a breeze. It integrates with a number of open source as well as commercial offerings, allowing you to link, for example, IFTTT, weather information, or your Amazon Echo device, to controls from locks to lights to even a command line notifier.
OpenHAB (short for Open Home Automation Bus) is one of the best known home automation tools among open source enthusiasts, with a large user community and quite a number of supported devices and integrations. Written in Java, openHAB is portable across most major operating systems and even runs nicely on the Raspberry Pi. Supporting hundreds of devices, openHAB is designed to be device-agnostic while making it easier for developers to add their own devices or plugins to the system. OpenHAB also ships iOS and Android apps for device control, as well as a design tools so you can create your own UI for your home system.
OpenMotics is a home automation system with both hardware and software under open source licenses, designed at providing a comprehensive system for controlling devices rather than stitching together many devices from different providers. Unlike many of the other systems designed primarily for easy retrofitting, OpenMotics focuses on a hardwired solution. For more, see our full article from OpenMotics backend developer Frederick Ryckbosch.
These aren't the only options available, of course. Many home automation enthusiasts go with a different solution, or even decide to roll their own. Some other potential options to consider include LinuxMCE, PiDome, MisterHouse or smarthomatic. Other users choose to use individual smart home devices without integrating them into a single comprehensive system.
So we turn to you. Are you thinking about using an open source home automation system, or perhaps you already have one in place. What advice would you have to a newcomer to home automation, and what system or systems would you recommend?