Compiled from the Domoticz README, website and wiki as at October 2026. The "lightweight/stable" claims below come from the Domoticz site's own marketing and are not independent benchmarks. Corrections welcome.
1. What it is
- Runs on Linux, Windows, macOS, FreeBSD and embedded boards such as the Raspberry Pi, and in Docker.
- The Domoticz site claims it uses under 50 MB of RAM and can run on a Raspberry Pi Zero, and that everything runs locally with no cloud account needed.
- Supports 150+ hardware types: Z-Wave, Zigbee, MQTT, RFXCOM, P1 smart meters, YouLess, 1-Wire, EnOcean, Philips Hue and more.
- Automation via dzVents (Lua), Python plugins, Blockly and Lua scripts, plus time-based and device-triggered events.
- Auto-learning switches/sensors, push notifications, extensive logging and sharing devices between instances.
Linux install script (per the wiki; the pre-built binaries require Ubuntu 24.04 LTS or newer on Ubuntu):
Code: Select all
sudo bash -c "$(curl -sSfL https://install.domoticz.com)"Docker: the official image is domoticz/domoticz, available for 64-bit Linux and 32/64-bit ARM. The wiki recommends the stable tag (there is also beta), docker compose for maintainability, and notes:
- Persist the config folder as a volume (it holds the domoticz.db database and your scripts) and back it up before updating.
- For USB dongles, map the device by its stable path, e.g. - "/dev/serial/by-id/usb-...:/dev/ttyUSB0".
- Publish the ports you need: 8080 (HTTP), 443 (HTTPS) and 6144 (device sharing) if you use them.
- Python plugins and dzVents work in the container, but see the wiki's Docker page for details on custom plugins.
Serial permissions on Linux: if Domoticz runs as a non-root user and you use a USB stick (RFXCOM, etc.), add the user to the dialout group:
Code: Select all
sudo usermod -a -G dialout YOURUSERNAME3. Adding hardware
The basic workflow: Setup > Hardware, add a gateway/hardware type, then manage the discovered devices under Setup > Devices. The wiki's Hardware page is a community-curated list of devices and services (433 MHz via RFXCOM/RFLink, Z-Wave, Zigbee, Bluetooth, EnOcean, IP cameras, Modbus, solar inverters, EV chargers and more).
Modern protocol support is increasingly through MQTT:
- Zigbee - through Zigbee2MQTT and the MQTT Auto Discovery Client Gateway (full walkthrough in the project thread).
- Z-Wave - the wiki says Domoticz talks to Zwave-JS-UI over MQTT with Auto Discover; it is no longer integrated directly like the previous OpenZWave. There is a wiki page on migrating from OpenZWave.
- Other devices that publish Home Assistant-style MQTT discovery messages (Tasmota can, when configured) can use the same gateway - check each device's docs.
- Cameras - the wiki lists IP cameras by brand, including a method for grabbing snapshots from RTSP streams with an ffmpeg-based script. Domoticz is not an NVR; I'd pair it with a dedicated camera system. (There is no native ONVIF event integration that I know of - tell me if I'm wrong.)
dzVents is the recommended way to write automation: Lua scripts that declare what triggers them (device changes, timers, variables, scenes, custom events, HTTP responses, shell command results, and so on) and an execute function. Python plugins add hardware support the core doesn't have.
5. Strengths and limitations (my view)
- Strengths: light on resources, quick to get going, mature, very good for energy/P1 metering and classic sensors, dzVents is easy to learn.
- Limitations: fewer integrations than Home Assistant or openHAB; UI feels dated to some people; newer protocols rely on MQTT bridges rather than native support; support is via the forum (the GitHub issue tracker is explicitly not for end-user support).
- domoticz.com and the wiki
- Domoticz forum (first place for support per the README)
- GitHub repository
- MQTT wiki page