The Ultimate Guide To Home Automation Software

Updated on 26th Oct 2020 17:55 in General, Smart

Home automation is quite common commercially these days. Big companies such as Amazon and Google have products that are the entire experience in one neat little package. While offers like these are very tempting due to their availability and constant media attention, there are countless alternatives when it comes to automation software. Here is my list of the best home automation software, along with my recommendations for which you should pick. 

Automation software

What is home automation software?

With so many different products that all use terms like "hub" or "controller", what is home automation software really? The answer is simply that it is any software that enables the control of one or more device. Merely controlling things is not too exciting, so almost every application on this list also supports the creation of automations which are the bread and butter of this industry. An automation is a set of rules matched to a set of actions that will do something when the rules are evaluated as being true.

A more concrete example is a situation where you want to automatically turn the lights off in a room after 5 minutes. The rules would be that: 1) the light in that room is on, 2) it has been 5 minutes or more since it was turned on. When those conditions are met, the software will then execute the associated action, which can be of any complexity. In this case, it is just one step: 1) turn off the light in the room. This basic principle is the foundation of automation and is what makes things interesting. It's important to remember that this example was arbitrary and basic, you can define any number of conditions and actions!

Factors to consider with each application

In determining what the "best is", there are a few factors that have been used. The first is that of usability or how easy it is for a new user that knows nothing about the system to pick it up and start doing meaningful tasks. Generally, this factor is inversely proportional to the one of customization and freedom of modification, but some programs manage to get the best of both worlds.

Speaking of customization, that is our next factor. When you are using a home automation system, you should feel like it is complimenting your efforts, not working against them. Many of the projects we will mention have virtually no limits to how they can be modified or extended, but these benefits are often at the cost of usability. If it becomes too difficult to use, it doesn't matter that the system offers great features because no one knows how to use them!

The two final factors are community and projected longevity. Community is an easy one to grasp, we are looking for projects that have users who can experiment with things and offer their solutions. There is nothing better than having a problem and being able to look it up and have a thread on the forum go over exactly how to fix it. Smaller projects, unfortunately, don't have this, and it results in the user being alone for many of the issues they encounter. Finally, we must consider how long we should expect the project to be around. There is little point in building a system around an application that could become inactive and unsupported next year!

Totally free automation software

The projects on this list are completely free with no gotchas. Many of them are open-source, though that isn't a requirement to be listed here.

Home Assistant

Recommended

Home Assistant website

Home Assistant is a project that we talk about a lot here, and for a good reason! It provides an integration for virtually every device in existence, allowing you to worry less about getting compatible devices. Even if the hardware is not supported by default, the forum is full of custom scripts that can be used to integrate it. The forum is another benefit, the huge community behind Home Assistant is super active on the forum and all over the internet in general. Using this software, it is improbable you will ever feel alone.

There is support for scripts using the UI or YAML for most basic situations, along with Python scripts for more complicated extensions or automations. All of this is very well documented meaning you won't have to do much guessing while you are trying to get something working. The final benefit is that this software can run on many different systems ranging from a Raspberry Pi to a dedicated server. These reasons are why I recommend you consider this as your automation software.

Check out the Home Assistant website here!

OpenHAB

Recommended

The OpenHAB website

Often compared to Home Assistant, OpenHAB is indeed very similar in a lot of ways. Almost all of the benefits provided in Home Assistant also exist here, along with some different features to make it stand out. They provide plugins for almost every device you could possibly want to use and also allow users to create their own plugins, increasing the list of supported hardware every day. They offer a rule engine for creating automations, along with a more advanced script-like interface that can be used to implement more complex automations. 

Those familiar with programming will probably like the syntax, although a common criticism is that the rules are too complex for regular users to use while being lacklustre compared to most programming languages. Core extensions can be developed using Java when adding new external devices is needed. The entire program is developed in Java which allows it to run on almost any computer you want. It also has a lot of support and guides for running the system using a Raspberry Pi. These reasons are why I recommend you consider this as your automation software.

Check out the OpenHAB website here!

HomeBridge

The HomeBridge website

HomeBridge is not quite as fully featured as the first two on this list, but it is an interesting project none the less. It is specifically designed to act as a bridge between a HomeKit ecosystem and other competing products. A common use is to add a device like a Nest thermostat to your HomeKit hub. Without the use of this software, such use cases would not be possible. Despite this primary use, many plugins offer standalone functionality, which could be useful. If you currently have HomeKit devices or are considering it, this project is beneficial!

Check out the HomeBridge website here!

EventGhost

The EventGhost website

While it is designed to work as a full-fledged home automation controller, it is a popular choice for implementing specific types of automations that would otherwise be difficult. An example of this is how it can be used to control a Windows computer, allowing the creation of rules that involve computer actions, like navigating to a website. Many will use this to open a media player or navigate to their favourite streaming website when a trigger is sent from a central system like OpenHAB.

Despite that, it is capable of being a standalone controller and offers many features to prove that. There are over 300 plugins that integrate external devices. As mentioned earlier, it offers keyboard and mouse emulation, which is great for automating a computer for things like a home theatre. The community is fairly active and is of a decent enough size that should you have any problems, there is probably someone else in the same situation.

Check out the EventGhost website here!

Domoticz

The Domoticz website

This is a featureful option that supports a web UI adapted for mobile or desktop, many different ways to implement automations, along with a big library of compatible devices. It offers block coding for automations, allowing users to drag and drop blocks together to define the reactions to each situation. The documentation behind this system is extensive: there is a PDF manual with 36 pages that explains the basics along with a massive wiki detailing each aspect of the software. Scripts can be written in Lua, but there is also support for Perl and Python. The community on the forum is also really active, making this a good option. 

Check out the Domoticz website here!

ioBroker

The ioBroker website

ioBroker is a Javascript home automation platform that offers everything you need from a system. It runs on almost all operating systems and computers and is based on Node.js, a popular server framework. The system offers a very unique web UI that can be used to control and visualize everything in your home. The community is fairly large, especially considering that the project is a lot newer than many of the other platforms on this list. It is also well documented, but it appears that the team is mostly german, so a lot of text is either in german or computer-translated, which can make it hard to understand.

Check out the ioBroker website here!

Node-RED

The Node-RED website

Another Javascript platform, Node-RED, is actually not specifically designed for home automation. It happens to have a rich set of features that can be used to create automations of all kinds using blocks that can be dragged and dropped into position. Each block can then be wired together to create "flows" that represent the actions taken. The provided blocks aren't the limit, though, blocks can also be assigned Javascript functions for advanced functionality. Perhaps the biggest downside is that this software wasn't made for home automation, so you don't get a nice panel or device integrations by default. It's best to use in conjunctions with something like Home Assistant for the best experience.

Check out the Node-RED website here

Calaos

The Calaos website

Calaos is another French project that supports a long list of hardware and platforms. The software stack includes a server application, a touchscreen user interface, web app, Android app, and an iOS app. As a result, there is no shortage of ways to control Calaos, resulting in a versatile system. The project has a forum that seems to be quite active, with many questions already answered. The problem is that almost everything is in french. The wiki does not seem to be updated often and is missing a lot of information a newcomer might want to obtain. While this project is certainly interesting, it will probably require a lot of tinkering to get going.

Check out the Calaos website here!

Smarthomatic

The Smarthomatic website

While most of the options on this list are focused on managing the smart home, smarthomatic is designed with a focus on the hardware and their firmware. The system is easily extendable, though extensions will require vast technical knowledge to complete and are not for the uninitiated. One interesting benefit is the depth of technical detail provided by the system, which could be useful to those looking to build smart devices from the ground up. While the software is interesting, it is not inviting for those who aren't technical and does not seem to have much of a community. 

Check out the smarthomatic website here!

AGO Control

The AGO Control website

A simple system offering a dashboard and a block-based scripting language. Blocks can be connected together to create reactions when certain events occur, such as turning on the lights when motion is detected. The strength of this system lies in its simplicity and extendability, which can be very desirable for more technical users. The community is mostly found on their IRC channel with the forum being a bit quiet. The software can run on almost anything, and they also offer an Android app to control the system on the go, though iOS users will need to use the web app. This is definitely a system for more advanced users who have technical knowledge.

Check out the AGO Control website here!

Pimatic

The Pimatic website

As the name would imply, Pimatic was designed for the Raspberry Pi. It's built with Node.js using Javascript, as many of the other platforms on this list have been. The software is extendable using plugins and provides a standard way for all device types within the system, allowing uniform control. Automations can be created using rules that are half English and half programming language, as documented on their website. There is a web frontend that is designed to be used on any device to access the main control panel. There is a community around this project, though it is a bit less active than many of the others on this list. Finally, the biggest downside is that the site tells us the software is still in beta and should not be used other than for testing.

Check out the Pimatic website here!

FHEM

The FHEM website

Well known in the world of home automation, FHEM is a Perl automation server. They provide support for a long list of protocols and devices, though sometimes the protocol is supported and integrating the device is less simple. Despite the benefits, it is not the most user-friendly software on this list and is certainly geared towards more technical individuals. Many pages on their website are in German only, which can make things hard to understand. This is a good option for those who are technically inclined and like to tinker with their system.

Check out the FHEM website here!

MyController

The MyController website

Intending to be a very lightweight server, MyController is a home automation project that allows a connection to many different types of devices. They claim to support even the most limited hardware, such as a first-generation Raspberry Pi, while still offering great automation features. It supports a rule engine for defining automations, an interactive dashboard with widgets, and script support of Javascript, Python, Ruby, and Groovy. The downside is that the community seems small, and the posts are rather infrequent. The supported types of devices are also rather limited unless you plan to use particular products.

Check out the MyController website here!

HomeGenie

The HomeGenie website

This software supports a large number of common protocols and offers a web UI with many different widgets. The widgets can be created as you like using their widget editor to customize the UI. There is also support for scripting using Javascript, Python, Ruby, and C# out of the box. The server can run on almost every computer and operating system, making it very versatile. While this project seems interesting, the community seems to not be very active, and there is no forum provided by the developers. 

Check out the HomeGenie website here!

Paid automation software

The following software either costs money to download, or requires a certain ecosystem that must be purchased.

HomeSeer

The HomeSeer website

Compared to many of the free options, this one offers some serious features. Their biggest claim to fame is the long list of supported devices out of the box, with no changes required by users. Like the free options, HomeSeer offers plugins to add additional functionality. The difference is that every plugin costs money to use, although some are priced at 0$ in the store. It's worth mentioning that you can try new plugins for 30 days before you need to pay. One benefit is the professional support you get with the software. Since you are a paying customer, you will receive the same support as commercial products.

The downsides are mostly that there is not much room to customize things nearly as much as the open-source options. There should be little need to, but if you wanted to add new functionality, the short answer is that you can't. The cost for a single license is also around 250$ to buy, so it's also a little expensive. 

Check out the HomeSeer website here!

HomeKit

Included here for its "freemium" model, it is technically totally free - but only if you own an iOS device. That technicality becomes more important when you consider that only some Apple devices can be used as a hub, which is required to create automations and control your home remotely. Despite this, it offers a really great ecosystem of its own that gives buyers confidence that what they buy will work without hassle. HomeKit is the easiest system to use on this list by far, with the biggest downside being that it requires Apple devices to use. If you want to know how you can use a Raspberry Pi as a "hub" of sorts, check out my article on that here.

Check out the HomeKit website here!

Conclusion

As you can see, there are a lot of options when it comes to home automation software. Every project has its pros and cons, so picking one as the single best is not an easy task. Despite the long list of differences, I would never hesitate to recommend Home Assistant or OpenHAB to anyone looking for smart home software. The community is what makes both of these projects shine and keeps everything moving forwards. If you'd rather not tinker with things, take a look at HomeSeer or even HomeKit. Both of those options are a lot less involved while still delivering great automation potential.

Other Posts