Heimautomatisierung mit Domoticz

Aus LinuxUser 09/2024

Heimautomatisierung mit Domoticz

© Sebastien Decoret / 123RF.com

Effiziente Technik

Domoticz vereinfacht das Verwalten intelligenter Geräte in Ihrem Zuhause. Die quelloffene Heimautomatisierungplattform bietet eine leichtgewichtige, effiziente und gut anpassbare Lösung für Technikenthusiasten.

Heute existiert eine breite Palette an Lösungen für die Hausautomation, die sich grob in vier Gruppen einteilen lassen. Da sind zum einen die Ökosysteme einzelner Hersteller wie Apple, Google, Samsung und so weiter. Zum anderen gibt es kommerzielle Systeme, die Geräte verschiedener Hersteller integrieren – ein Beispiel dafür ist Homey. Zur dritten Gruppe gehören Open-Source-Systeme, die viele Standardfunktionen bieten, beispielsweise Home Assistant. Die vierte Gruppe richtet sich ebenfalls mit quelloffenen Systemen eher an Technikbegeisterte. Zu dieser letzten Gruppe zählt Domoticz [1].

Domoticz lässt sich einfach installieren. Es verfügt über einen auf offenen Standards aufbauenden Integrationskern, dessen Kompatibilität und Funktionalität sich erweitern lässt. Dafür eignen sich Programmiersprachen wie DzVents (Domoticz Easy Events, ein Lua-Ableger), Python, Ruby oder Blockly. Auf diese Weise wurden bereits komplette Heimautomatisierungen (Abbildung 1), Alarmsysteme, Batteriemanagementsysteme und Ähnliches programmiert. Die Werkzeuge eignen sich sowohl für Einsteiger (Blockly, Lua) als auch für fortgeschrittene Programmierer (DzVents, Python).

Abbildung 1: Eine umfangreiche Domoticz-Hausautomatisierung, die auch eine Solaranlage nebst E-Auto-Wallbox einschließt.

Abbildung 1: Eine umfangreiche Domoticz-Hausautomatisierung, die auch eine Solaranlage nebst E-Auto-Wallbox einschließt.

Domoticz läuft auf verschiedenster Hardware, unter anderem auf dem Raspberry Pi, der sich als Zentrale eines Eigenheims geradezu anbietet. Es fühlt sich unter nahezu jeder Linux-Distribution ebenso zu Hause wie unter Windows oder MacOS. Zusätzlich können etliche kommerzielle NAS-Speicher Domoticz als Dienst ausführen. Zu guter Letzt gibt es auch Docker-Images für Domoticz-Container.

Als Benutzeroberfläche dient ein HTML-5-Web-Frontend, das sich an Desktop- und Mobilgeräte anpasst und auf allen Hardwareplattformen für ein einheitliches Bedienkonzept sorgt. Zusätzlich gibt es mit Dashticz (Abbildung 2) ein vollständig anpassbares GUI-Frontend beispielsweise für Wand-Tablets, das auch externe Webdienste wie Wetterinformationen integrieren kann.

Abbildung 2: Die HTML-5-GUI Dashticz eignet sich beispielsweise für an der Wand befestigte Tablets.

Abbildung 2: Die HTML-5-GUI Dashticz eignet sich beispielsweise für an der Wand befestigte Tablets.

Wichtige Merkmale

Mit Domoticz lassen sich verschiedene Klassen von Geräten steuern, darunter die Beleuchtung, alle Arten aus der Ferne schaltbarer Geräte sowie Sensoren oder Messgeräte etwa für Temperatur, Luftfeuchte, Niederschlag, Windgeschwindigkeit, UV-Strahlung, Strom-, Gas- oder Wasserverbrauch und vieles mehr.

Das System unterstützt eine Vielzahl von Methoden zum Versand von Benachrichtigungen oder Warnungen, darunter Prowl (ein Push-Notification-Client für iOS), Pushbullet (Android, Browser), Pushover (Android, iPhone, Desktop), Pushalot (Windows 8 und Windows Phone Notifier), Clickatell, Telegram, HTTP, E-Mail, Google Cloud Messaging oder Mediensysteme wie Kodi und Logitech Media Server.

Mit Domoticz lassen sich sowohl Geräte gruppieren als auch Szenen erstellen. Eine Szene besteht dabei aus einem Auslöser (Sensor oder Schalter) und einem Gerät oder einer Gerätegruppe, die bei Aktivierung in einen bestimmten Zustand versetzt werden sollen (ein- oder ausgeschaltet, gedimmt und so weiter).

Die Ereignisbehandlung lässt sich wie schon erwähnt in verschiedenen Sprachen programmieren. Blockly bietet dabei eine visuelle Kodierungsschnittstelle, bei der man Blöcke verschiebt, um logische Abläufe vorzugeben (Abbildung 3). Fortgeschrittene Anwender programmieren Domoticz entweder direkt mit Lua oder mit DzVents. Diese spezielle, eng mit dem Event-System von Domoticz verbundene Sprache auf Lua-Basis bringt zahlreiche zusätzliche Funktionen für die Hausautomatisierung und Ereignisbehandlung mit.

Abbildung 3: Ein Beispiel für die visuelle Programmierung mit Blockly.

Abbildung 3: Ein Beispiel für die visuelle Programmierung mit Blockly.

Das Skripting mit Python bietet sich vor allem für komplexe Abläufe an. Alle Skripte können auf alle Attribute der Domoticz-Geräte zugreifen. Die Zeitbedingungen dürfen sehr komplex ausfallen. Ein Szenario wie “alle 10 Minuten im Zeitraum von 20 Minuten vor Sonnenaufgang bis 10 Minuten nach Sonnenuntergang, an jedem Montag, Dienstag und Freitag zwischen dem 20.05. und dem 25.08.” stellt keinerlei Problem dar. Jeder Gerätetyp hat seine eigenen Methoden für Abfragen oder Aktualisierungen. Allein die DzVents-Wiki-Seite [2] beschreibt so viele Funktionen, dass sie einen der umfangreichsten Teile des ganzen Domoticz-Wikis bildet.

Messdaten sowie protokollierte Events und Zustände speichert Domoticz standardmäßig in einer SQLite-Datenbank. Es unterstützt eine breite Palette an Hardwareschnittstellen, darunter RFXCOM für RF-basierte Geräte (433/868 MHz), das in der Hausautomation beliebte Zigbee/Z-Wave sowie P1 Smart Meter und YouLess Meter zum Überwachen des Stromverbrauchs. Domoticz kennt auch das Home Assistant Autodiscovery Protocol für die Integration mit Z-Wave JS, Zigbee2MQTT, ESPHome und vielen anderen Subsystemen. Eine vollständige Liste findet sich im Wiki [3]. Für den Fall, dass die vorinstallierten Integrationen nicht ausreichen, gibt es ein Plugin-System [4], mit dem sich in Python einfach Erweiterungen programmieren lassen. Eine Anleitung [5] zum Programmieren eigener Plugins nebst etlichen Beispielen gibt es im Domoticz-Wiki.

Domoticz ist in C++ geschrieben. Um externe Abhängigkeiten zu vermeiden, bringt es seinen eigenen, eingebauten Webserver mit. Das Web-Interface, für das mehrere Skins existieren, wurde in Angular programmiert. Auf die vielfältigen Skripting-Möglichkeiten sind wir bereits eingegangen. Das Projekt wird auf Github gepflegt [6].

Domoticz wird von einer engagierten Community getragen, zu der neben dem Hauptentwickler Gizmocuz einige Hundert aktive Entwickler zählen, dazu Forum-Maintainer, Wiki-Editoren und weitere Enthusiasten. Jeder ist eingeladen, zum Projekt beizutragen.

Fazit

Domoticz hilft dabei, eine auf seine Bedürfnisse zugeschnittene Hausautomation zu entwickeln. Gleich, ob Sie die Beleuchtung steuern, den Energieverbrauch überwachen oder mit verschiedenen Sensoren spielen wollen – Domoticz bietet dafür eine benutzerfreundliche Oberfläche und eine hilfsbereite Community. (jcb)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 09/2024 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben