Home automation systems have two main goals:

  1. make the building smart, adding new features and automations
  2. save power consumption

but to get advantage of such technologies, it must be EASY!

Domoticz is a free open source software that works a home automation system controller, and it's quite easy to be implemented by people with a minimum programming skill.

It's written in C++, requires very low resources, is multi-platform and manages a large quantity of domotic hardware (sensors, actuators, I/Os, ...).

Although it best matches a linux platform (e.g. Raspberry PI single board controller, with less than 10W power consumption, equipped with Raspbian Linux OS), it works also on Windows and MacOSX.


  • Optimized to work with computer with low resources: 0.5GB of RAM and 1GHz dual-core CPU is enough for almost any home automation system!
  • Uses less than 50MB of disk, excluding backups.
  • Written in a low-level programming language, C++: it's fast and tiny.
  • Supports several languages (python, perl, php, lua) for plugins (used to implement new hardware and protocols) and scripts (used to manage the installed devices).
  • Almost all configurations are done by WebUI: no need to edit files!
  • WebUI can be customized, and also it's possible to use Dashticz to implement a different WebUI (check picture )
  • Very stable
  • WebUI can be used by any web browser supporting HTML5, is responsive so it works well with PC, tablet and smartphone. Also, there are many APP for Android and iOS.
  • The webUI also integrates the floorplans/roomplans to show a layout with all sensors/actuators inside.


  • Lack of some hardware support
  • WebUI may look too simple

What can you do with Domoticz

  • Lights: turns ON/OFF by pushbuttons, at specific time (e.g. turn on 25 minutes after sunset and turn off 40 minutes before sunrise). Dimming and changing color.
  • Doorbell: captures a snapshot from IPcam when someone ring the bell, and send the picture to one people or a group by Telegram: also email and many other notification systems are implemented.
  • Gate, pedestrian door, garage door, main door can be open remotely (from smartphone, for example): when amazon delivery man ring the bell and you're away, you can see the picture on Telegram then you can open the gate to let him enter and deliver goods for you!
  • Weather sensors: outdoor temperature, humidity, pressure, rain, wind, wind direction, .... can be monitored and recorded in graphs
  • Monitors room temperature, relative humidity, CO2 and manages the heating/cooling/ventilation system in a smart way
  • Monitors the power consumption/production from/to electric grid, sending alert when power consumption reaches a threshold above which there will be an imminent power disconnection, and activating/disabling appliances to optimize power usage
  • When power from renewable sources is available (e.g. solar photovoltaic), it can manage the heat pump to consume most energy from renewable sources
  • Monitors the rainwater tank level used for garden and vegetable garden irrigation
  • Fully manage the alarm sensors (magnetic contact sensors, PIRs, radars, ...) and sirens, to get a fully functional and customizable burglar alarm system
  • ...

Hardware support

  • Raspberry GPIOs
  • ESP8266 and derivated: cheap WiFi modules with several I/Os which can manage several device types
  • RFXcom, Zwave, Enocean wireless devices at 433/868/915 MHz
  • ZigBee devices, at 2.4GHz
  • several 1wire and I2C bus devices
  • Philips Hue (RGB led lamps)
  • LAN GPIOs and sensors (Denkovi, Lantronix, ...)
  • RS485 GPIOs and sensors (DomBus, ...)
  • several solar inverters

and many other devices and protocols.

Check the article that shows in brief how to design a domotic system using DomBus modules !!


Althought Domoticz works in many platforms, including Windows and Mac, a good solution is Raspberry, a single-board computer hardware with quad-core ARM MCU that is stable, cheap and normally consumes less than 3W.

Normally Raspberry is equipped with a Raspbian operating system (Debian GNU/Linux for Raspberry), and as any Linux operating system supports many services like web, dhcp, dns, ftp, Samba, mail, ... safely and reliably.

Rock PI S

This is a very small single board computer with quad-core CPU, 512MB of RAM, and very low power consumption: 400mW normally. An ideal solution for Domoticz, if working without many scripts (automations) requiring a lot of CPU.

Some screenshots

Floorplans (thanks to Paolo Patt. for the video)

Electric car panel

Domoticz panel for the electric car

Heat pump panel

Domoticz and heat pump panel

Domoticz and Creasol DomBus modules

We are an electronic company producing home automation system modules optimized for high reliability and very low power consumption, available with 2 different firmwares:

  1. DomBus proprietary protocol, working with Domoticz
  2. Modbus standard protocol, working with almost any home automation systems

Creasol DomBus modules and Domoticz

What operating system are you using for Domoticz?

Restart Domoticz, and in Setup -> Hardware you'll find a new Creasol DomBus hardware: add an instance, giving a name (e.g. dombus), selecting the serial port attached to the RS485/USB converter (or virtual serial port attached to a network/RS485 module), and click on Add button.

When you connect a new DomBus module, you'll find a new device in the Domoticz Switches panel : select it (Edit button) and change it's address to a unique one, by modifying the the device Description field adding the text ,HWADDR=0x0001 (set the addresss to 1, if this is the first module), or writing an address of your choice. Click on Save button , then reloading the Switches panel (or Utility panel, ....)  you'll find new devices associated to that module.
Next attached modules will be shown in the same way, and similarly you'll have to change the default address to 0x0002, 0x0003 and so on. Each module, one unique address! Domoticz will add automatically one device for each module port.

Also, many modules ports can be configured in different ways, for example a digital input can also be configured as water/gas/energy counter, twinbutton (UP/DOWN button controlled by a single port), temperature sensor NTC, analog input (to measure a voltage or a resistor value), distance sensor, ...
With Domoticz, configuration can be done by simply writing the device Description field.

Also, DomBus modules (with DomBus protocol) supports DCMD commands: similarly to KNX, it's possible to set a port to automatically activate different devices , for example if a button has been pushed shortly, toggle the light (connected to the same module or to another DomBus module), if it has been pushed for 1 second turn ON another device, if it has been pushed for 2 seconds do something else, and if 4 seconds ... It's clear that in this way it's possible to write simple automations very very easily, and they works also if the main controller (Domoticz) is down.
Finally, with DCMD commands it's also possible to activate Domoticz scenes/groups.

For very complex systems it's also possible to use more USB/RS485 adapters (or network/RS485 modules) to have different buses, for example one for each floor, enabling one DomBus hardware plugin for each bus. In this way if a bus stop working (for maintenance, for example), other buses continue to work.
In this case DCMD commands work only inside the same bus: it's not possible to automatically activate devices in another bus without passing through the Domoticz controller.
Dombus domotic modules connected also via wifi