Build a smarter home with these open source software solutions.
— Jason Baker
Useful link to the original article
Please visit the “original article link” at the end of this post to get clickable inline links, full-size original images, and related articles.
Acknowledgements
Compiled from | https://opensource.com/life/17/12/home-automation-tools Author | Jason Baker Translator | qhwdw ? ? ? ? ? Total translations: 87 articles Contribution time: 124 days
Build a smarter home with these open source software solutions.
The Internet of Things[1] is not just a buzzword; in reality, since we published a review article about home automation tools in 2016, it has also been rapidly taking over our lives. In 2017, 26.5% of American households[2] were already using some smart home technology; that number is expected to double within five years. With the growing number of these devices, which can help you automate the management, security, and surveillance of your home, home automation has never been easier or more appealing than it is now. Whether you want to remotely control your HVAC system, integrate a home theater, protect your home from theft, fire, or other threats, or save energy, or simply control a few lights, there are now countless devices that can help you. But at the same time, many users worry about the security and privacy issues brought by the new devices installed in their homes — this is a very real and serious problem[3]. They want to control who can access this important system, which manages their applications and records every detail of their lives. This idea is understandable: after all, in a day when even your refrigerator is a smart device, don’t you want a basic guarantee? Even if you authorize a device to communicate with the outside world, is it only accessed by authorized people? Concerns about security[4] are one of the many reasons why open source is crucial to the connected devices we will use in the future. Since the source code runs on their own devices, it is entirely possible to understand the program that controls your home, which means you can look at its code and even modify it if necessary. Although connected devices usually contain their proprietary components, the first step in bringing open source into home automation is to make sure your devices and these devices can work together — that they provide you with an interface — and that it is open source. Fortunately, there are many solutions to choose from today, from PCs to Raspberry Pi, on which you can do anything. Here are a few of my favorites.
Calaos
Calaos[5] is a full-stack home automation platform designed to include a server application, a touchscreen interface, a web application, native mobile apps for iOS and Android, and a preconfigured Linux operating system running underneath. The Calaos project comes from a French company, so its support forum is mainly in French, but a large amount of introductory material and documentation has already been translated into English. Calaos uses the GPL[6] v3 license, and you can view its source code on GitHub.
Domoticz
Domoticz[8] is a home automation system with support for a large library of devices, and it has extensive documentation on its project website, from weather stations to remotely controlled smoke detectors, as well as a large number of third-party integrations[9]. It uses an HTML5 front end, which can be accessed from a desktop browser or most modern smartphones, and it is a lightweight application that can run on low-power devices like the Raspberry Pi. Domoticz is written in C++ and uses the GPLv3[10] license. Its source code[11] is on GitHub.
Home Assistant
Home Assistant[12] is an open source home automation platform that can be easily deployed on any machine capable of running Python 3, from a Raspberry Pi to network-attached storage (NAS), and can even be easily deployed to other systems using Docker containers. It integrates a large number of open source and commercial products, allowing you to connect them — for example, IFTTT, weather information, or your Amazon Echo device — to control everything from locks to lights. Home Assistant is released under the MIT license[13], and its source code can be downloaded from GitHub[14].
MisterHouse
Since 2016, MisterHouse[15] has made a lot of progress, and we have listed it on this list as “another alternative to consider.” It uses Perl scripts to monitor anything, and it can query or control anything that can be remotely controlled through a computer. It can respond to voice commands, query the current time, weather, location, and other events, such as turning on lights, waking you up, noting your favorite TV shows, announcing incoming calls, alerting you when a door opens, tracking how long your son has been online, and telling you if your daughter’s car is speeding, and so on. It can run on Linux, macOS, and Windows computers, and it can read from/write to many devices, including security systems, weather stations, caller ID, routers, vehicle location systems, and more. MisterHouse uses the GPLv2[16] license, and you can view its source code on GitHub[17].
OpenHAB
OpenHAB[18] (short for open Home Automation Bus) is a home automation tool well known among open source enthusiasts, and it has a large user community as well as support for and integration with a large number of devices. Written in Java, OpenHAB is very lightweight and can be used across most mainstream operating systems; it even runs well on a Raspberry Pi. Supporting hundreds of devices, OpenHAB is designed to be device-agnostic, which makes it easy for developers to add their devices or plugins to the system. OpenHAB also supports controlling devices through iOS and Android apps as well as design tools, so you can create your own UI for your home system. You can find OpenHAB’s source code[19] on GitHub; it uses the Eclipse Public License[20].
OpenMotics
OpenMotics[21] is an open source hardware and software home automation system. Its design goal is to provide an integrated system for controlling devices, rather than piecing together various devices from different vendors. Unlike other systems that are mainly designed for easy retrofitting, OpenMotics focuses on hardware solutions. For more information, see the full article[22] by OpenMotics backend developer Frederick Ryckbosch. OpenMotics uses the GPLv2[16] license, and its source code can be downloaded from GitHub. Of course, our choices are not limited to these. Many home automation enthusiasts use different solutions, or even build their own. Other users choose to use individual smart home devices without integrating them into a single comprehensive system. If the solutions above don’t meet your needs, here are some potential alternatives to consider:
◈ EventGhost[24] is an open source (GPL v2[25]) home theater automation tool that only runs on Microsoft Windows PCs. It allows users to control media PCs and connected hardware, using plugins or custom Python scripts that trigger macros.
◈ ioBroker[26] is a JavaScript-based IoT platform that can control lights, locks, air conditioning, multimedia, webcams, and more. It can run on any hardware that can run Node.js, including Windows, Linux, and macOS, and it uses the MIT license[27].
◈ Jeedom[28] is a home automation platform built from open source software (GPL v2[25]) that can control lights, locks, multimedia, and more. It includes a mobile app (Android and iOS) and can run on a Linux PC; the company also sells a hub, which provides an off-the-shelf solution for configuring home automation.
◈ LinuxMCE[29] bills itself as the “digital glue” between your multimedia and electronic devices. It runs on Linux (including the Raspberry Pi), is released under the Pluto open source license[30], and can be used for home security, telephony (VoIP and voicemail), A/V equipment, home automation, and playing video games.
◈ OpenNetHome[31], like other solutions in this category, is an open source piece of software for controlling lights, alarms, applications, and more. It is based on Java and Apache Maven, can run on Windows, macOS, and Linux — including the Raspberry Pi, and is released under the GPLv3[32] license.
◈ Smarthomatic[33] is an open source home automation framework focused on hardware devices and software, not just the user interface. It is based on the GPLv3[34] license and can be used to control lights, appliances, and air conditioning, detect temperature, and remind you to water the plants.
Now it’s your turn: have you already set up a home automation system? Or are you researching how to design one? What advice do you have for home automation beginners, and what system would you recommend?

