Home Automation mit OpenHAB

Einbindung von Sonoff Produkten

V1.0, 24.05.2023

In den letzten Jahren ist auch bei mir das Interesse an Home Automation gestiegen. Inzwischen gibt es unzählige Produkte auf dem Markt. Der Nachteil der meisten Lösungen: sie sind nicht miteinander kompatibel. Unterschiedliche Übertragungswege und proprietäre Protokolle machen die Verwaltung und Steuerung der Endgeräte nicht gerade einfach. Zum Glück gibt es inzwischen Open Source Lösungen, die versprechen, die unterschiedlichen Welten zusammenzuführen.

Aber welche?

Im Rahmen einer Internet Recherche stößt man sehr schnell auf folgende Lösungen:


OpenHAB läuft auf unterschiedlichen Plattformen (Windows, Linux, Mac, Android und iOS) und bietet weit über 300 Integrationen an. Home Assistant benötigt eine virtuelle Umgebung und schied für mich erst einmal aus. Und mit ioBroker und anderen Alternativen habe ich mich nicht beschäftigt. Also OpenHAB!

Vielleicht nutze ich OpenHAB zukünftig auf einem Raspberry Pi, aber für die ersten Gehversuche soll die Home Automation in einer Windows Umgebung laufen.

Was brauche ich?

OpenHAB benötigt zwingend eine Java Umgebung. Häufig ist Java (von Oracle) bereits auf dem Windows PC verfügbar, empfohlen wird aber die OpenJDK Implementierung von azul. Diverse Quellen empfehlen die Version 17.0.7, auch wenn es schon die Versionen 19 und 20 gibt.

Vor der Installation ist die Überprüfung einer eventuell bereits vorhandenen Java Version sinnvoll. Dazu die Kommandozeilen Version öffnen (Windows-Taste + R, cmd eingeben und bestätigen), java -version eingeben und mit Enter drücken. Ist Java nicht installiert, kommt es zu einer Fehlermeldung, z.B. Der Befehl "java" ist entweder falsch geschrieben oder konnte nicht gefunden werden. Ansonsten wird die aktuell installierte Version angezeigt (z.B: java version "1.8.0_261" von Oracle). Um auf Nummer Sicher zu gehen, sollte die vorhandene Java Version deinstalliert werden.

Ausführen der Download Datei zulu17.42.19-ca-jdk17.0.7-win_x64.msi

OpenHAB

OpenHAB

OpenHAB

OpenHAB

OpenHAB

Bestätigung erforderlich, dass die Installation wirklich erfolgen soll.

OpenHAB

OpenHAB

Die Installation von OpenJDK erfordert keinen Neustart.

Download openhab-3.4.4.zip von der OpenHAB Download Seite für Windows und Version "stable" (aktuell 3.4.4). OpenHAB muss nicht installiert werden, sondern wird lediglich in ein beliebiges Verzeichnis entpackt (Empfehlung C:\OpenHAB, ca. 1.274 Dateien), das vor dem Entpacken über den Explorer angelegt werden muss. Anschließend im Explorer in dieses Verzeichnis navigieren und die Batchdatei start.bat aufrufen. Der erfolgreiche Start von OpenHAB sieht dann so aus:

OpenHAB

Aktuelle Windows Versionen benötigen in der Firewall die Bestätigung, dass ein Zugriff auf Java erlaubt wird:

OpenHAB

OpenHAB Runtime kann auch als Service gestartet werden (siehe Link.

Die grafische Benutzeroberfläche von OpenHAB wird im Browser mit:

https://localhost:8080

gestartet (alternativ mit https://127.0.0.1:8080).

Zuerst muss ein Administrator-Konto eingerichtet werden:



Empfehlung: Benutzername admin. Inwieweit man das Kennwort in der Browser Kennwort Liste speichern möchte, muss jeder für sich selbst beantworten.



Bei Bedarf Sprache, Region und Zeitzone anpassen und anschließend auf Überspringe Setup klicken. Die im Setup angebotenen Schritte werden später nachgeholt.



OpenHAB ist einsatzbereit und kann jetzt für die unterschiedlichsten Anforderungen konfiguriert werden. Meine primäre Zielsetzung für Home Automation ist die Überwachung von Fenstern und Türen. Einerseits soll beim Verlassen des Hauses auf einen Blick erkennbar sein, ob noch Fenster geöffnet sind, andererseits soll ein Alarm ausgelöst werden wenn eine Türe oder Fenster in Abwesenheit geöffnet wird (Funktion: Alarmanlage). Für diese Anforderung gibt es die unterschiedlichsten Produkte auf dem Markt. Ich habe mich für Produkte von Sonoff entschieden:


Der Sonoff ZBDongle-E arbeitet als Zigbee Bridge und wird am USB Port angeschlossen. Aktuelle Windows Versionen erkennen den Stick und zeigen diesen nach automatischer Treiberinstallation im Gerätemanager unter Anschlüsse (COM&LPT) und dem Namen USB-Enhanced-SERIAL CH9102 (COM5) an, wobei sich der COM Port nach der am PC angeschlossenen Hardware richtet (häufig COM3).

OpenHAB

Über sogenannte Bindungs muss die Zigbee Bridge OpenHAB erst als Add-on hinzugefügt werden. Dazu unter Einstellungen im Bereich Add-Ons Bindings auswählen:

OpenHAB

Die ersten 12 Bindings werden angezeigt. Mit Klick auf:

OpenHAB

werden alle Bindings angezeigt. Bei den über 300 alphabetisch sortierten Bindings ist das passende Binding nicht einfach zu finden, da es weder unter Sonoff ... noch unter Zigbee ... zu finden ist. Das erforderliche Binding heißt OpenHAB ZigBee Binding:



Zum Installieren auf Install klicken. Die Installation muss am unteren Bildschirm nochmals bestätigt werden.

An dieser Stelle könnten weitere Bindings installiert werden.

Geräte und Dienste müssen jetzt noch konfiguriert werden, bei OpenHAB Things genannt. In Einstellungen auf Things klicken:



Mit Klick auf das Plus-Zeichen rechts unten werden die verfügbaren Bindings angezeigt, in diesem Beispiel das ZigBee Binding:



Dieses Binding auswählen. Es werden die verfügbaren Bridge Coordinators angezeigt:

OpenHAB

Für den eingesetzten Sonoff ZBDongle-E wird der Ember Coordinator benötigt. Nach Klick auf diesen Eintrag müssen einige Einstellungen geändert werden:

OpenHAB

Die Location (hier: Arbeitszimmer) ist optional, der im Gerätemanager konfigurierte Port (hier: COM5) muss eingetragen werden. Flow Control = None und Baud Rate = 115200. Stimmen die Parameter, wird nach Bestätigung der Ember Coordinator mit ONLINE angezeigt (kann etwas dauern):

OpenHAB

Die erste, große Hürde ist geschafft. Die Zigbee Bridge wurde erfolgreich in OpenHAB eingerichtet.

Jetzt müssen noch die Sensoren angelernt werden. Der Tür-/Fenstersensor SNZB-04 von Sonoff besteht aus zwei Teilen. Im kleineren Teil befindet sich nur ein Magnet, im größeren der eigentliche Sensor mit der Batterie (Typ: CR2032). Hier den Deckel vorsichtig abhebeln und die Schutzfolie unter der Batterie herausziehen. Damit ist der Sensor einsatzbereit.

OpenHAB

OpenHAB

Leider ist die Batteriehalterung im Sensor sehr locker und die Batterie sitzt nicht fest. Eine zuverlässige Spannungsversorgung des Sensors ist damit fraglich. Ich habe die Platine herausgenommen, die Batteriehalterung etwas runtergedrückt, die Batterie wieder eingesetzt und den Deckel aufgesetzt.

Auf der Stirnseite des Sensors befindet sich ein kleines Loch. Dahinter liegt ein Mini-Taster, der mit einer Nadel gedrückt werden kann. Zuerst in OpenHAB Unter Einstellungen - Things einen neuen Eintrag hinzufügen (Plus-Zeichen rechts unten) und das ZigBee Binding auswählen. Über den verfügbaren Coordinators auf Scan klicken und sofort am Sensor den Mini-Taster für mindestens 5 Sekunden drücken. Das startet den Pairing Modus und nach wenigen Sekunden sollte der Scan den Sensor finden:



Das Scannen kann mit Stop Scanning abgebrochen werden. Jetzt den neu gefundenen Sensor anklicken:

OpenHAB

... einen aussagefähigen Namen vergeben (z.B. FensterArbeitszimmer) und den Eintrag mit OK bestätigen.

OpenHAB

Es kann etwas dauern bis sich der Status des Sensors von UNKNOWN auf ONLINE ändert.

Und wie kann ich jetzt den Sensor abfragen?

Dazu unter Einstellungen den Eintrag Model wählen und anschließend Create Equipment von Thing



Auf Thing klicken.



... und den Sensor auswählen:



Es wird empfohlen eine Category (hier: window) und eine Semantic Class (hier: Window) einzugeben. Wichtiger sind aber die Channels, die der Sensor bereitstellt. Es können alle Channels mit Select All ausgewählt werden. Sinnvoller ist, nur die Channels anzuklicken, mit denen man später arbeiten möchte. Contact Portal 1 ist der wichtigste Channel, denn dieser enthält die Information, ob das Fenster (oder die Türe) geöffnet oder geschlossen ist.



Wähle ich jetzt unter Einstellungen - Model den Eintrag FensterArbeitszimmer (=Equipment) und klappe das Menü darunter auf, erscheint der Channel Contact Portal 1 als "Point". Klicke ich diesen an, wird mir rechts der Status OPEN oder CLOSE angezeigt, je nachdem ob sich der Magnet nahe am Sensor (CLOSE) befindet oder nicht (OPEN).



Entsprechend können weitere Sensoren angelernt und konfiguriert werden. Die Konfiguration das Dashbaords mit allen Sensoren, die Einbindung weitere Bindings sowie die Erstellung von Regeln mit entsprechenden Interaktionen wird in einem späteren Artikel beschrieben.