Home Automation mit OpenHAB 4

Fenster und Türen überwachen mit Sonoff Produkten


Voraussetzung für die Integration der Sonoff Produkte ist eine funktionsfähige OpenHAB Installation (Grundlagen zu OpenHAB).

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 (COM3) an, wobei sich der COM Port nach der am PC angeschlossenen Hardware richtet (hier: COM3).

OpenHAB

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

OpenHAB

Es werden einige Empfehlungen angezeigt, sowie die ersten 12 Bindings werden alphabetisch 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: Keller) ist optional, der im Gerätemanager konfigurierte Port (hier: COM3) muss eingetragen werden. Flow Control = None und Baud Rate = 115200. Stimmen die Parameter, wird nach Bestätigung (Create Thing) 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. Noch besser geht es mit einem SIM-Karten Auswerfwerkzeug oder einer aufgebogenen Büroklammer.

OpenHAB

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. Kellerfenster) und den Eintrag mit OK bestätigen.

OpenHAB

Es kann etwas dauern bis sich der Status des Sensors von UNKNOWN auf ONLINE ändert. Sollte der Status auch nach mehreren Minuten noch auf UNKNOWN stehen, sollte die Batterie überprüft werden (zu wenig Spannung, schlecht sitzend).

Bei Bedarf können weitere Sensoren angelernt werden. Für einen ersten Test reicht ein Sensor aber vollkommen aus.

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. Im produktiven Betrieb als Alarmanlage ist der Channel Low Battery wichtig, um rechtzeitig die Batterie im Sensor austauschen zu können.





Abschließend auf Add to Model klicken.



Wähle ich jetzt unter Einstellungen - Model den Eintrag Kellerfenster 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).



Im nächsten Schritt soll eine E-Mail verschickt werden, sobald sich bei einem Sensor der Status von CLOSE auf OPEN ändert. Das dafür erforderliche Mail Binding ist hier beschrieben.



Auf das + Zeichen klicken, um eine neue Regel zu erstellen.



Die Unique ID kann geändert werden, um eine aussagekräftige Bezeichnung zu bekommen, hier: KellerfensterOffen. Im nächsten Schritt muss der Auslöser (Trigger) festgelegt werden.



Der Sensor Status CLOSE/OPEN steht in einem Item zur Verfügung.



Die Items im Kellerfenster aufklappen, Contact Portal 1 anklicken und rechts oben auf Pick klicken.



Eine Aktion soll ausgelöst werden, wenn sich der Sensor Status von geschlossen (CLOSED) auf offen (OPEN) ändern.



Jetzt erfolgt die Definition, was passieren soll, wenn diese Bedingung erfüllt ist.





E-Mail Versand ist keine komplexe Angelegenheit. Zwei Zeilen Code reichen aus

val mailActions = getActions("mail","mail:smtp:smtp")
val success = mailActions.sendMail("info@uherzog.de","Kellertüre unter dem Balkon ist offen","Türe vor Verlassen des Hauses schließen")

Ändert sich der Sensor Status von CLOSED auf OPEN, dann wird eine E-Mail verschickt: