Yes, there are much more smart home systems. But over the last couple of years, I have worked with both Domoticz and Home and wanted to share my experience about these home automation systems with you. Luckily, both Domoticz and Home Assistant are the two biggest and best open-source home automation platforms in 2019. Since I don’t have any experience with OpenHAB I cannot compare it to the others. Both Domoticz and Home Assistant can be downloaded for free and run on a large number of devices, so your data is not in the cloud and you can stay in charge of it! I started a number of years ago with Domoticz and after a while, I decided to try out Home Assistant and now it runs besides Domoticz. Both smart home systems have their strong points, but they also have some weaknesses. With this article, I will try to explain the differences between the two of the best Home Automation platforms of this moment.
We tried to be as complete and precise as possible but it is not the easiest thing to compare them. Both have a vast amount of features and both systems have their own vision, so we are looking for the most common features and hardware. Which system is the best actually depends on your needs and how tech-savvy you are. Therefore is no ultimate answer and at the end of this it will still depend on your situation.
- 1 Product Vision
- 2 Installation procedure
- 3 32GB Samsung Class 10 Micro SD UHS Memory Card
- 4 DYS 5V 4A Power Supply Adapter for Raspberry Pi
- 5 LDTR – WG0011 ABS Case Protective Box – BLACK
- 6 Raspberry Pi Model 3B
- 7 Learning curve
- 8 Basic Configuration Options for Domoticz and Home Assistant
- 9 Core system, plugins and add-ons
- 10 Integrations, components, devices and hardware
- 11 Scripts and Automations
- 12 User Interface and Design
- 13 Development Process
- 14 User Community
- 15 Third party Integrations
- 16 Mobile applications
- 17 Domoticz versus Home Assistant End conclusion
- 18 More info and official resources on the smart home systems
Coincidence or not: Both the founders of Domoticz and Home Assistant are Dutch. Luckily, both development and projects communication are done in English while the products itself is multilingual. Both founders made the home automation platforms open-source, share it for free and allow the community help to get the product better. Also, the vision of most of the users is be the same: integrate as much as possible, as easy and as cheap as possible. However, the approach of the founders is a little bit different.
Domoticz started as a product that was primary aimed at the , a transceiver that communicates over the 433 frequency. After a while, it got support for much more devices and protocols, but if you decide to open up the code (written in C++) you will still find evidence that it started with RFXCOM. Domoticz uses GitHub and a PHPBB forum for the community. Therefore everyone can contribute, but the founder (Gizmocuz) still has the final say in how and which features would be included in the releases. There is no real transparent road-map and users cannot vote for features. The development branch of Domoticz gets updates daily, but the stable version is from 2018 and nobody knows when the next stable would be released.
Home Assistant took another approach and started in a language that is much more popular Python. Tthe contributions of code for the platform very fast. They were in need of the of contributions and documentation. Hass (stands for Home Assistant) are also using Github and a form, but besides that, a few more platforms we will write about later on. Home assistant is more modular, every piece of code is checked by much more users the same time the documentation is more accurate because it’s part of the development .
Because developing goes much faster they have a two-weekly release cycle that is very well documented, changes, fixes, new features and breaking changes are all part of the cycle.
So we can conclude that it’s very good that Domoticz has so much features and integrations while the community is a lot smaller. Domoticz got a head start because they are older, But the quality of releases the documentation and community are higher with Home Assistant.
The vision of the users and end-users of both platforms are mostly the same. Integrate as much as possible for a cheap as possible price. In addition, they both do a perfect job on that!
Both are cross-platform products. Which means they runs on several operating systems: Windows, MacOS and Linux. This means you can run both products on a PC, but the Raspberry Pi is by far the most popular system to run the software on. The reasons for this are the price and power efficiency yet the processing power. Another approach is to take an Intel NUC (a mini computer from Intel) and run the software virtual (with Docker of Vmware Esxi) with other virtual operating systems besides it. A more technical setup, so starters: Go for the Raspberry Pi until the point you want more and more and hit the limitations of the Pi.
Until now, you see both have the same options. However, besides installing Linux and start an install script, Home Assistant comes with a very nice additional option: Hassio. This is a Linux distribution that already includes Home Assistant. Write the image to an SD-card, plug in into your Raspberry and you are ready to go. This is the most simple method available. This also includes also a built-in App store to easily extend your system with additional features.
In the past Domoticz also had some pre-installed SD card images for the Raspberry but stopped supporting this due to problems with hosting but also maintaining the versions for different systems. No Domoticz has an install script that can be downloaded and installed by one command, but you are in need of a Linux installation first. Next to the standard installation script, there are some people in the community who made Docker images containing the Domoticz installation available. Beside the scripts and Dockers, Domoticz is also available as Windows and MacOSx installable files.
Home Assistant has more and easier options to get it up and running. And with Hassio they have the most flexible and user-friendly installation system. Hassio is also available as official Docker image, while Domoticz dockers exist it’s not official.
Most popular basic set to start with on both Domoticz or Home Assistant:
The install process of Home Assistant is a little bit easier, but when installed you have in both platforms an empty platform. It’s like an empty room where you need to put the furniture in place, you have to connect your equipment and that requires some decoration. This is the point you start adding hardware, setup the users, choose a theme, configure external access, etc. The time that is needed to set up a complete home automation platform and you get used to the system we call the learning curve. Both systems have a webbased user interface.
After you have installed Domoticz, you can configure everything through web based user interface. This is a great feature of Domoticz, No need to enter Linux terminal but the website User Interface.
Home Assistant is going to take the same approach but at the time of writing, you cannot add and edit everything you want in the web based user interface directly. And if you have set up some switches and lights its fun to make automation. Domoticz supports a few options that are available directly in the user interface. Out of the box Home assistant support one type of automation that is available from User Interface but at the moment not that easy as in Domoticz.
Configuring the components must be done in text file, so called Yaml files. Yaml is not that hard, but it sensitive for spaces and that can be very difficult.
Therefore, after installing you are able to set up a small system very fast in Domoticz. Faster and easier than Assistant, but what if you want more than a simple system?
If you have Yaml of Python experience Home Assistant is not that hard, especially with the documentation, samples and help of the community. At this moment, Domoticz is more easy to configure and include devices. I must say that Hass is working hard to change this and there goal is also to be completely configurable by the website User Interface.
Basic Configuration Options for Domoticz and Home Assistant
After installation it’s time for configuring. This like making users, rooms, set a password, set time-zone. All basics every system need.
In Domoticz you go to settings and everything is there. Automate backups, set password, set logging options, everything you can imagine can be found under the setting section.
Not every setting is located on the same place. Security and user settings are available from User in the left upper corner. Most of the other options are available under configuration. But not everything is there yet the rest must be typed in the configuration.yaml file. They are working hard to place everything in configuration that become available under the configuration page.
Domoticz has everything built-in and editable from User Interface. On Home Assistant not everything can be done from the GUI right now.
Core system, plugins and add-ons
With Domoticz you are almost done after installation. Choose your hardware, configure and ready to use.
But the fact that it is not easy to write C++ code to add net hardware the Domoticz user made a Python framework. And another user made a Python plugin manager. This way developers are able to add extra hardware a lot easier. More info about the plugin system https://gadget-freakz.com/domoticz-python-plugin-manager/
the list of integrated default compatible hardware can be found at: https://www.domoticz.com/wiki/Hardware
When started home assistant uses a discovery feature for devices. Due to this feature products like the Xiaomi Gateway (and the devices connected to the gateway), Daikin, Hue, tradfri, Yeelight are found automatically therefore really easy to add to Home Assistant. The rest of your hardware needs to be added into the configuration.yaml file. At first glance this can look hard but by using the samples in the documentation it is not that hard. But since the YAML languages uses spaces to indent, it can still be a bit tricky. Every hardware or integration (they call it components) can be found on: https://www.home-assistant.io/components/ this list grows very fast and expands daily!
Besides hardware Home assistant has an Add-on store where you can add other software in an easy way. For example to create a Samba share or FTP Server.
Domoticz is very lightweight and loads everything when started, Home Assistant has a more modular approach so if you don’t setup presence detection for example, it will not be loaded automatically. The big advantages of Home Assistant are the automatic discovery of devices and the build in add-on manager. Domoticz has a Plugin Manager but this requires some effort to get it up and running.
Integrations, components, devices and hardware
Both platforms are not switching lights are sensors or switches, you have to include them and buy separately. Without hardware you have almost have no use for it. I said almost… because we wrote an article earlier:
But you will get the most out of the smart home system when you connect it to real hardware. Components, Devices, Products, Integrations: all words for the same thing: hardware that you can include in your home automation system. This can be anything that is a sensor or a switch AND can communicate over a certain protocol that is supported by the smart home system.
In Domoticz you can add hardware by the User Interface, and after you receiving the devices for that hardware. Click, give it a useful name and choose the type of device. Adding a device is simple when the hardware is supported. RFX (where it started with) works very simple. However, when your hardware is not in the default list there are several options: in some cases there will be a Python Plugin available for it. Otherwise, you need to create dummy hardware device and fill or sync the state by using scripts or external programs. So adding hardware is easy when it is already in the supported list of devices, otherwise you need a little bit of Linux knowledge.
One big advantage is the auto discovering of devices. Hue, Yeelight and tradfri would be found automatically and you only have to push the button on the bridge to sync it to Home Assistant (and Home Assistant will instruct you to do so). There are a number of integrations that integrate that way. For the more exotic devices you have to include a line into the configuration file.
The most popular and cheap hardware we published at our shop page. Those products are compatible with both Domoticz and Home Assistant, take a look and safe some options.
As you can see in our shop is that both systems are supporting tons of hardware (we only show some very popular and cheap products). In terms of hardware the most popular devices are working on both systems, the exotic ones like a Tesla car for example you have to use Home Assistant.
For reference: In our review of a Yeelight bedside lamp we show you how to add this as a device in both Home Assistant and Domoticz.
But besides hardware you have something like virtual hardware that both platforms support. In Domoticz that are all types of sensors and switches that you have to fill with separate scripts, in Home Assistant this can be the default components, or custom components. You can think of things like: your TV guide, Google calendar, Trash services, shopping lists. So with Home Assistant you can add more than devices, in an easier way and present them in different ways.
Scripts and Automations
Both Home Assistant and Domoticz are able to do some logic for you. for example: when its 1 hour after sunset, and the door is opened switch the garden lights on for x minutes. These kind of steps with logic and variables are called . Smart are one of the nice things you can achieve with a home automation platform.
In Domoticz the component Blocky is the easiest and simple method to achieve automations. Blocky is default included in Domoticz and you can find it in the eventmanager. With Blocky, you can easily create flows with several steps and conditions by using drag and drop. In can you want to apply more advanced concepts like loops and a several separate flows you need a more complex method: scripting. Scripts can also be made in the same event studio. You can use LUA (Domoticz first script language) or DzVentz. Dzvents is also but with lots of extras, built-in methods, samples, and scripts. With dzVents you are able to make complex scripts a lot smaller and readable. Dzventz is very well documented and easy to learn. Check the interview with the creator of dzVents.
Besides that the popular Python scripting language is also possible. You can also use scripts outside Domoticz, Bash scripts, scripts for example. However, the downside of this that they would not be included in the default Domoticz database backup, creating and debugging is outside Domoticz and therefore sometimes a lot harder.
can be written in a YAML file which can be done via the web . But currently the options are rather minimal and not . Of course you can also use Python for but that isn’t easy either. of the latest contributions in version 0.91 is the Visual Studio Code add-on in Home Assistant. So you can use the features of Visual Studio like syntax control and auto completion for your .
Domoticz is easier to create simple logic but also more complex logic within your automations. It supports different languages but most of them available in the Event Manager in the User Interface. Home Assistant has no ‘easy option’ for automations, you either create it in YAML files or go for scripting in Python. Therefore, currently Domoticz wins this section big time.
User Interface and Design
Both platforms are presenting everything within a web interface. And these interfaces are also compatible with mobile devices.
Domoticz has a default theme with a bit outdated dark look, but there are plenty of sparkling themes that you can use to make your system a little bit nicer. Check out our article about the , a clear and up to date theme for Domoticz. In every theme you can customize the icons of a sensor or switch, we have also a little tutorial about changing your icons for this.
Home Assistant uses a bunch of open-source standards and has a much modern layout. assistant, there are several themes to change colors and background but in order to change them you need to know which CSS file to modify. Besides modifying the theme users can use the different build-in cards. And beside the default cards, there are plenty of extra ‘custom’ cards available. That way you can present every item in different ways. You can use a slider for a light, but a for showing disk space, while using pictures for showing the at home status of a family member.
Check out the demo website to check how the interface works and how it works. https://demo.home-assistant.io/
Both are doing a great job, but I think Home Assistant is the winner because of the latest front-end frameworks and the capability to change almost everything. However Domoticz is working behind the scenes to loosen the front and back-end and uses angularJS to achieve this task, but the moment of writing it is not finished yet.
Both platforms are using Github to maintain the source code. Here you can view changes, submit issues, push fixes etc. Github is the most popular platform to do version control in open-source software development.
The small group of developers is doing great work and every commit is checked / reviewed by Gizmocuz. But there is no control of the documentation and the actual commit is not always tested very well. When using the beta version you have always the latest features and it can took a while before the beta’s are integrated into the main stable branch. A lot of users are running the beta but are not helping the developers.
A has split up there platform into several projects: Documentation, GUI, Hassio (the OS system) and Home Assistant itself. There are plenty of developers that develop the system but also review work of their peer developers. There are strict rules to maintain also the documentation of the commits. This is very professional and well managed open-source project.
The approach of Home assistant is more professional and transparent. With the two weekly release cycle they are acting very fast! And as Linus’s Law defines: given enough eyeballs, all bugs are shallow.
Next to Github for ‘formal’ project communication the platforms both have a Facebook page, a forum and a place for documentation and apply systems for chatting like Slack and Reddit.
Domoticz forum is the biggest place for asking learning and sharing info about D. But it’s a simple phpBB forum without user ranking systems. Some new registered users are asking questions without searching first.
Home Assistant spends more energy and attention on there social networks, and sharing more info about the road-map on blogs. Home assistant has more information published on their website and has the wiki integrated so it’s just one big central information portal. Although Home Assistant is younger, it grows faster and that has a number of reasons:
- It is developed in Python, a very popular programming language.
- The product vision and road-map are clear and more
- Home Assistant is better represented on seminars, events etc.
- They have more active developers and a quicker development process and faster.
Third party Integrations
Both systems can be extended with third party apps. There are several dashboard apps for both to display all devices in a slightly different way. Both platforms support mqtt or API calls so you are free to program something and connect to the core of the system. Most of the time this would be used for dashboards on tablets.
I think both do a good jobs allowing external integrations. I think Home-assistant is slightly better because of the actual and good documentation.
However both platforms are performing well in the web browser on a mobile device, using an app can give you a number of extra options. These extras are widgets, location tracker integration and using sensor info from the app to home automation.
Domoticz has one app that is by far the best there is for Domoticz, and it’s out for iOS and Android. Read more in our article:
Home Assistant has an official iOS app but at the moment an official Android app. That’s the reason there are several apps out now, but most of them cost money and are not in line with the philosophy of Home Assistant. That is the reason they have done some first work for an official Home Assistant Android app. read the official announcement on the blog:
If you don’t like to wait on the official app you can take a look at Ariela.
Domoticz versus Home Assistant End conclusion
Like we wrote in the beginning: it is no good and bad and it all depends what you want to achieve with it, how tech savvy your are and what time you want to invest in it. Domoticz is a user-friendly system that is light-weight, fast, reliable and good for beginners. The community is not that big, but sufficient to get and keep you going. If you have equipment that communicates over Z-Wave or 433 it is a very good choice. If you are not a programmer and don’t like scripting in config files than Domoticz is the safe option. And you always have options to extend functions with plugins, create your own plugin or create scripts that interact with D.
Home Assistant is younger than Domoticz but has a bigger and more active community. It is a real rising star. Not every setting can be edited directly in the User Interface but the are working hard on that to make this possible in the future. Since documenting is vital part of the development process, the documentation is always up to date and helps you with configuring. If you get known with the basics it is not that hard to customize and extend to your needs and wishes. More advanced features like a are more difficult, but also possible with help of documentation, samples the help of the community.
We are a huge fan of both home automation projects and think both are still a safe choice to start with. On the short term Domoticz is a better choice as a smart home system for beginners. It is easier, more lightweight and basic automations can be done in the user interface. However, on the long run we think Home Assistant has more potential and is more future-proof due to its clear vision and roadmap and the way the development is structured. So it probably will be a matter of time before the odds are changed and Home Assistant becomes easier to use than Domoticz. On the other hand, Domoticz is working in the background to modernize some of the core components. But the question will remain if that is enough to keep up with the more streamlined development process of Home Assistant.
More info and official resources on the smart home systems