6 open source home automation tools

Build a smarter home with these open source software solutions.
No readers like this yet.
Open lightbulbs.

Opensource.com

Editor's note: This article was originally published in March 2016 and has been updated to include additional options and information.

The Internet of Things isn't just a buzzword, it's a reality that's expanded rapidly since we last published a review article on home automation tools in 2016. In 2017, 26.5% of U.S. households already had some type of smart home technology in use; within five years that percentage is expected to double.

 

With an ever-expanding number of devices available to help you automate, protect, and monitor your home, it has never 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—a very real and serious consideration. They want to control who has access to the vital systems that control their appliances and record every moment of their everyday lives. And understandably so: In an era when even your refrigerator may now be a smart device, don't you want to know if your fridge is phoning home? Wouldn't you want some basic assurance that, even if you give a device permission to communicate externally, it is only accessible to those who are explicitly authorized?

Security concerns are among the many reasons why open source will be critical to our future with connected devices. Being able to fully understand the programs that control your home means you can 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 that 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

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. The Calaos project emerged from a French company, so its support forums are primarily in French, although most of the instructional material and documentation have been translated into English.

Calaos is licensed under version 3 of the GPL and you can view its source on GitHub.

Domoticz

Domoticz is a home automation system with a pretty wide library of supported devices, ranging from weather stations to smoke detectors to remote controls, and a large number of additional third-party integrations are documented on the project's website. It is designed with an HTML5 frontend, making it accessible from desktop browsers and most modern smartphones, and is lightweight, running on many low-power devices like the Raspberry Pi.

Domoticz is written primarily in C/C++ under the GPLv3, and its source code can be browsed on GitHub.

Home Assistant

Home Assistant is an open source home automation platform designed to be easily deployed on almost any machine that can run Python 3, from a Raspberry Pi to a network-attached storage (NAS) device, and it even ships with a Docker container to make deploying on other systems a breeze. It integrates with a large number of open source as well as commercial offerings, allowing you to link, for example, IFTTT, weather information, or your Amazon Echo device, to control hardware from locks to lights.

Home Assistant is released under an MIT license, and its source can be downloaded from GitHub.

MisterHouse

MisterHouse has gained a lot of ground since 2016, when we mentioned it as "another option to consider" on this list. It uses Perl scripts to monitor anything that can be queried by a computer or control anything capable of being remote controlled. It responds to voice commands, time of day, weather, location, and other events to turn on the lights, wake you up, record your favorite TV show, announce phone callers, warn that your front door is open, report how long your son has been online, tell you if your daughter's car is speeding, and much more. It runs on Linux, macOS, and Windows computers and can read/write from a wide variety of devices including security systems, weather stations, caller ID, routers, vehicle location systems, and more

MisterHouse is licensed under the GPLv2 and you can view its source code on GitHub.

OpenHAB

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 design tools so you can create your own UI for your home system.

You can find openHAB's source code on GitHub licensed under the Eclipse Public License.

OpenMotics

OpenMotics is a home automation system with both hardware and software under open source licenses. It's designed to provide 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.

The source code for OpenMotics is licensed under the GPLv2 and is available for download on GitHub.


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. 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 is an open source (GPL v2) home theater automation tool that operates only on Microsoft Windows PCs. It allows users to control media PCs and attached hardware by using plugins that trigger macros or by writing custom Python scripts. 
  • ioBroker is a JavaScript-based IoT platform that can control lights, locks, thermostats, media, webcams, and more. It will run on any hardware that runs Node.js, including Windows, Linux, and macOS, and is open sourced under the MIT license
  • Jeedom is a home automation platform comprised of open source software (GPL v2) to control lights, locks, media, and more. It includes a mobile app (Android and iOS) and operates on Linux PCs; the company also sells hubs that it says provide a ready-to-use solution for setting up home automation.
  • LinuxMCE bills itself as the "'digital glue' between your media and all of your electrical appliances." It runs on Linux (including Raspberry Pi), is released under the Pluto open source license, and can be used for home security, telecom (VoIP and voice mail), A/V equipment, home automation, and—uniquely—to play video games. 
  • OpenNetHome, like the other solutions in this category, is open source software for controlling lights, alarms, appliances, etc. It's based on Java and Apache Maven, operates on Windows, macOS, and Linux—including Raspberry Pi, and is released under GPLv3.
  • Smarthomatic is an open source home automation framework that concentrates on hardware devices and software, rather than user interfaces. Licensed under GPLv3, it's used for things such as controlling lights, appliances, and air humidity, measuring ambient temperature, and remembering to water your plants.

Now it's your turn: Do you already have an open source home automation system in place? Or perhaps you're researching the options to create one. What advice would you have to a newcomer to home automation, and what system or systems would you recommend?

Are you interested in reading more articles like this? Sign up for our weekly email newsletter.

Jason Baker
Former Red Hatter. Now a consultant and aspiring entrepreneur. Map nerd, maker, and enthusiastic installer of open source desktop and self-hosted software.

24 Comments

Wow. This is an amazing article. I just spent ten days with a family member who's got a partially automated home. I'm sending this article to him. Thanks for sharing this.

Thanks Don, and thanks for all of the great Raspberry Pi related home automation things you've been cc'ing me on via Twitter - I'm hoping to do a follow up to this piece just on the Raspberry PI part of the home automation puzzle.

In reply to by Don Watkins

The world of home automation is a changing. I spent a good deal of my adult life in the home automation field. I have seen it change from a few controlled light in the home theater to controlling most everything in the home. Most of the stuff I dealt with was proprietary software, such as Elan, Crestron, Lutron Radio Ra2, and RTI Remote.
I have worked some with LinuxMCE. It was once considered the Crestron killer but never really took off.

With the use of Zwave and Zigbee technology, and to some degree Bluetooth, it is amazing to see where home automation came from to where it is now. The possibilities are endless.

Really nice article. A few years back I worked on a project using open remote. It has an open source version as well as a commercial one. Opensource one meets the basic needs of any home automation enthusiast.

Hi. Thanks for this article . Just to mention Jeedom which also do a gréât jobs ans and have thé particularity to have a store and therefore à lot of plugins.

I've been researching home automation for *months* now for my new home, and was kind of resigned to spending a lot of money on proprietary hardware. But in looking at OpenHAB, I think it'll do the trick just fine! It's so nifty, and I'd not even heard about it. I've submitted a Nooks & Crannies article on OpenHAB for April, in fact...

Openahb really heavy solution . No one answer and it is not active . Openhab never can run on Android because of Framework use for Eclipse

In reply to by druthb

There is a new very flexible open source home automation project - ioBroker. It has very good visualisation features.

I've tried ioBroker and it's a really great system. Thx

In reply to by Bluefox (not verified)

You may also want to have a look at pimatic - https://pimatic.org/

pimatic is an open source (GPLv2) home automation framework that runs on node.js. It provides a common extensible platform for home control and automation tasks and it is backed by a vivid and quickly growing user community.

pimatic will be soon a part of iobroker, both on node.js and can simply work together

In reply to by Liebezeit (not verified)

it's funny that probably the oldest home automation platform available was not mentioned.

EventGhost It has over 300 available device/software plugins. as an example. MicasaVerde Vera, Domoticz, RTI, Denon/Marantz, Harman Kardon, JVC, Samsung, Pioneer, Sony, Epson, Weather Underground, MQTT, TP-Link, Google Voice, Lutron, Kodi, VoxCommando, PushBullet, Global Cache. It is open source. allows for installing and uninstalling plugins without the need to restart the software. drag and drop event/action based solution. You can also use a variety of available IR remotes. It also incorporates just about full control of a windows based computer for things like moving the mouse. or keyboard emulation.

Eventghost runs on Windows PCs only. Which is quite a limiting and power consuming.

In reply to by kgschlosser (not verified)

Do not forget FHEM

http://fhem.de/

Pytomation is also a great system for straight python stuff. http://www.pytomation.com/ It is more designed to be use as an automation system as opposed to be controlled by a smartphone but it does have Web apps.

I'm using Home Assistant and had started a webpage with tips and tricks I had picked up at https://gadgeteer.co.za/homeassistant.

Amahi is another home automation tool that I would like you to review. I noticed it because the Google Summer Code School...

Hi David, I'm not familiar with Amahi but we would welcome an article on it from you or anyone else who would like to write about it. Shoot us a message at open@opensource.com if you're interested.

In reply to by ErSoul

Very informative. Wasn't aware that this domain had progressed so far. Calaos and Domoticz looks to be very documented as well.

What is the home automation protocol used for this Smart Home (purchase at Costco)?

The following project looks very promising:

https://gkiefer.github.io/home2l

It's new, open source, very lightweight and portable. Automation rules written in normal Python code. I tried the step-by-step tutorial and was surprised by the concepts and efficiency.

AMAZING!!! Thank you so much for sharing about smart home technology! It’s a Genius!!! it makes life more comfortable by giving you smart control over the things you use every day.
https://izone.com.au/

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.

Are you new to open source?

Browse our collection of resources.