Home automation open source system

OpenMotics improves home automation

Image by : 


OpenMotics is an open source home automation hardware and software system that offers features like switching lights and outputs, multi-zone heating and cooling, power measurements, and automated actions. The system encompases both open source software and hardware. For interoperability with other systems, the OpenMotics Gateway provides an API through which various actions can be executed.

Open source software: Download, adjust and recompile the source code of our Home Automation Modules; licensing as GPLv2.

Open hardware: Download the PCB files (including BOM and schematics) to create, adjust and manufacture your own hardware; licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

The project first started 10 years ago with basic hardware modules for switches and outputs. Since then the number of modules has increased to create an extensible full-featured home automation system. The modules include a Gateway module that is the heart of the system which drives all other modules. An Input module for reading the status of the switches. An Output module that toggles lights, outlets or other devices. And others like a Dim Control module, a Sensor module and a Power module for measuring the power consumed by each appliance in your home.

Two years ago we decided to open source the software running on the Gateway module, all firmware running on the other modules and the schematics and PCBs (printed circuit boards) for all modules. The choice to open source the project was very conscious—at OpenMotics we believe there are three fundamental problems with the existing commercial home automation offerings.

The first problem concerns the price: home automation systems tend to be ridiculously expensive for the features that they offer. Most vendors target the high-end market with fully integrated custom solutions. The alternative is using open source software like OpenHAB to stitch together components from different vendors. With OpenMotics we offer a complete solution that is easy to install, configure and use, at a fair price.

The second problem is that many home automation systems are not maintainable by the customer, and every change to the system requires an installer to come by at location to make the changes. We believe a home, and how it is used, changes over the years and the owner should be able to modify the configuration of his home automation system to reflect this. Compare this to a smartphone where you don't have to run to the shop every time you want to install a new app. So why should your home automation system be any different? Why shouldn't we be in full control of our own homes?

For more tech-savvy users, the inability to configure your own system brings us to the third problem: most proprietary systems use closed communication protocols and you—as a user—are not able to interface or change anything. Everybody has ideas on how they could make their home better, a home automation system should enable the user to implement these improvements. We tackled this problem on three different levels.

First, as described above, the user is in full control over the configuration of the system and can change it at any time. For techy users, we provide a plugin mechanism on the Gateway module: any self written or community developed plugin can be installed through the secure web interface. These plugins can communicate with the modules, catch events like lights turning on or off, expose a web interface and communicate with other services. The possibilities are up to your own imagination. And third, because the software and hardware are both open source, an electronics and/or software enthusiast can modify both hardware and software at will, or even create their own modules. Or you can just use the system as is, with lots of features readily available.

About the author

Frederick Ryckbosch - I'm a backend developer for OpenMotics, a complete and open source home automation solution. I program in python and create the bridge from the hardware to a nice web based api.