Introduction

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 as 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 3W power consumption, equipped with Raspbian Linux OS, or Rock Pi S that consumes less than 0.5W), it works also on Windows and MacOSX.

Pros

  • 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 light.
  • Supports several programming languages (python, perl, php, lua) for plugins (used to implement new hardware and protocols) and scripts (used to create automations and 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, easy updates with no worries.
  • WebUI can be used by any web browser supporting HTML5, is responsive so it works well with PC, tablet and smartphone. Also, some APPs for Android and iOS are available, but not needed.
  • The webUI also integrates the floorplans and roomplans to show a layout with all sensors/actuators inside.

Cons

  • Lack of support for some hardware type
  • WebUI may look "old-style"

Some screenshots and videos of Domoticz panels, shown in a PC browser

Energy panel, showing car charging, heat pump,  photovoltaic, imported and exported power and controls related to energy/power.

Energy panel in Domoticz

Home energy self-consumption charts

Vehicle panel, showing car charging (using our DomBusEVSE module to make a DIY wallbox), total charging energy, also divided in energy from photovoltaic and from the grid,  current battery level and range, charging power factor to measure the efficiency, vehicle distance and location, ...

Kia vehicle panel in Domoticz

 

Heat pump panel, showing the current power consumption, photovoltaic power, setpoints, status, ... The complete panel is very long, containing also the valve status, rooms temperature and humidity, ... It's possible to note that heatpump power is automatically managed by a Domoticz automation (script) to consume all power from photovoltaic.

Heat pump panel in Domoticz

Hot water panel, using a boiler with integrated heat pump, showing some controls directly integrated in the heat pump, and some external sensors.

Hot Water using heat pump, with Domoticz home automation system

Hot water consumption

Burglar alarm panel, with 3 working modes, display status (to see IPcams), sirens, some lights, PIR and magnetic contact sensors.

Alarm panel with Domoticz home automation system, with some magnetic contact sensors, sirens, display, movement sensor, ...

Floorplans (thanks to Paolo Patt. for the video)

What you can 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

  • RaspberryPI and RockPI GPIOs
  • DomBus modules
  • ESP8266, ESP32 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, ...)
  • 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 !!

RaspberryPI

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.

RockPI 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.

 

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