Drahtlose Fensterkontakte mit OpenHAB
Fensterkontakte sind nicht nur etwas für Alarmanlagen!
Mit diesem Satz möchte ich in diesen Beitrag starten. Ich erzähle dir hier etwas über Fensterkontakte, mit denen wir vor kurzer Zeit gespielt haben. Diese Fensterkontakte lassen sich auch als Türkontakte nutzen, ich spreche in diesem Beitrag allerdings vorwiegend von Fensterkontakten.
Unser Szenario sah vor, dass wir in Openhab sehen können, ob derzeit Fenster geöffnet sind. Wenn man die Wohnung verlässt, kann uns der Raspberry Pi eine Nachricht hinterher schicken, dass nicht alle Fenster geschlossen sind. Denkbar wäre auch, dass der Raspberry Pi als Alarmmeldesystem fungiert und einen Alarmton auslöst, sofern ein Fenster geöffnet wird und keiner anwesend ist.
Für welches Szenario auch immer man sich entscheidet, es gibt genügend Möglichkeiten Fensterkontakte im Smart Home einzusetzen.
Aus diesem Grund erkläre ich dir nun, wie du deine Fensterkontakte in dein Smart Home integrieren kannst. Damit das problemlos klappt, nutzen wir den CUL-Stick von Busware.
Was auf deine Einkaufsliste muss
Für deinen nächsten Einkauf setzt du folgende Artikel mit auf die Liste:
Du kannst natürlich auch andere Sensoren nutzen, allerdings kann ich dir nicht versprechen, dass sie funktionieren. Wir haben es mit dem oben genannten Komponenten erfolgreich testen können. Und auch wenn die Komponenten nicht gerade die günstigsten sind, würde ich an dieser Stelle eher vorsichtig sein, wenn es um das Sparen geht. Wie wir bei den Ikea Tradfri Lampen und den 433 MHz Steckdosen lernen mussten, ist günstig nicht immer gut.
Der CUL-Stick ist der Empfänger der 868 MHz Signale, die wiederum durch den Fensterkontakt per Funk ausgestrahlt werden. Ohne ihn funktionieren zwar die Fensterkontakte, es ist allerdings nicht möglich, dass man die Signale abfängt und verarbeitet. Und da es sich hier im Falle der Fensterkontakte um Sensoren und keine Aktoren handelt, werden diese lediglich Signale senden. Die Rollen von Sender/Empfänger werden somit nie getauscht.
Übrigens bietet 868 MHz den Vorteil, dass diese Frequenz durch weit weniger Geräte genutzt wird, als die Frequenz von 433 MHz.
Der CUL-Stick
Wie im letzten Abschnitt bereits angemerkt, ist der Stick als Empfänger tätig und fängt die Signale des Kontakts auf. Er muss daher auch die Signale verarbeiten und entsprechend aufbereiten, dass man diese weiterverarbeiten kann.
Aus diesem Grund befindet sich auf dem Stick eine Firmware – also ein kleines Betriebssystem. Dieses System sorgt für den richtigen Austausch von Daten zwischen Stick und Kontakt. Bei unserem Modell war die Firmware bereits installiert, ich erkläre dir daher im Verlauf nicht, wie du die Firmware auf den Stick bekommst. Damit habe ich leider keine Erfahrung machen können.
Mehr Informationen zur Firmware und wie man diese auf den Stick bekommt, findest du allerdings auf dieser Seite.
Den CUL-Stick schließt man an den Raspberry Pi * per USB an. Im Anschluss daran sollte er zur Verfügung stehen und genutzt werden können. Doch bevor das möglich ist, brauchst du noch ein wenig Software. Die Installation ist aber ziemlich einfach.
Die Installation der Software
Nun musst du eine Paketquelle hinzufügen. Wenn dein Raspberry Pi unter Debian Jessie läuft, gibst du folgenden Befehl in die Kommandozeile oder in Putty ein:
sudo echo 'deb https://apt.homegear.eu/Raspbian/ jessie/' >> /etc/apt/sources.list.d/homegear.list
Danach hast du eine weitere Paketquelle hinzugefügt und die Pakete können zur Installation gefunden werden. Du kannst es überprüfen, indem du in den Ordner /etc/apt/sources.list.d/ navigierst und die Datei homegear.list zum Bearbeiten öffnest. Dazu brauchst du kein sudo eingeben. Außer du möchtest etwas ändern.
Super, du hast nun schon einen Schritt in Richtung Homematic getan!
Wenn du übrigens ein anderes System hast oder mehr Infos brauchst, findest du weitere Hinweise im Bereich Installation in der Dokumentation von Homegear.
Die Pakete installieren
Wir haben direkt alle Pakete installiert, was du allerdings nicht unbedingt machen musst. Laut der offiziellen Dokumentation reicht es dir, wenn du folgenden Befehl ausführst:
sudo apt install homegear homegear-nodes-core homegear-management
Solltest du dennoch alle Pakete haben wollen musst du den folgenden Befehl ausführen:
sudo apt install homegear-homematicbidcos homegear-homematicwired homegear-insteon homegear-max homegear-philipshue homegear-sonos homegear-ipcam homegear-kodi homegear-beckhoff homegear-knx homegear-enocean homegear-intertechno homegear-nanoleaf homegear-ccu2 homegear-mbus homegear-influxdb
Danach kann es direkt weiter gehen!
Den Homematic-Server einrichten
Nun hast du alle benötigten Pakete installiert. Aber diese müssen noch eingerichtet werden. Die Kommunikation zwischen deinem Kontakt und dem Stick findet verschlüsselt statt. Da du nicht den Standardschlüssel benutzen solltest, muss du dir einen eigenen einfallen lassen.
Doch öffne zuerst die Konfigurationsdatei, in der du die Einstellungen vornehmen musst. Navigiere dazu in den Ordner /etc/homegear/families
Hier führst du den folgenden Befehl aus, um die Datei zu bearbeiten:
sudo nano homematicbidcos.conf
Als erstes musst du die Verschlüsselung anpassen. Wie oben bereits erwähnt ist der Standardschlüssel keine gute Idee und sollte dringend geändert werden. Wichtig ist, dass du nur Zahlen und Buchstaben benutzen darfst und der Schlüssel genau so lang sein muss, wie der Standardschlüssel.
Wir haben Zahlen und Großbuchstaben genommen, damit es zu keinerlei Problemen kommen kann.
Folgende Einstellungen musst du anpassen:
General Settings:
- rfKey = DEINGEHEIMERKEY (mindestens 32 Zeichen)
Der rfKey ist der geheime Schlüssel, der zwischen deinen Geräten verwendet wird. Damit sollte keiner die Signale abfangen können.
CUL
- id = My-Cul
- deviceType = cul
- device = /dev/ttmyACM0
Die ID gibt den Namen deiner Basis an. Der Device Type gibt an, welche Art von Gerät du betreiben möchtest. In diesem Fall ist es der CUL-Stick, also gibst du cul an. Das Device gibt den Pfad zum Gerät an, das der Raspberry Pi ansteuern soll. Dieses Gerät wird unter dem Pfad /dev/ttmyACM0 ins Betriebssystem eingebunden.
Deinen Homegear-Server starten
Siehe da, du hast die Installation gemeistert! Dein Homegear-Server ist nun einsatzbereit und kann gestartet werden. Danach kann es mit der Einrichtung in OpenHab weiter gehen.
Den Server starten kannst du ganz leicht mit dem Befehl:
sudo service homegear start
Du kannst den Server auf diese Art auch neu starten und beenden. Dafür musst du nur das start gegen ein restart oder ein stop austauschen. So einfach funktioniert das.
Fehlen nur noch deine Fensterkontakte
Die Einrichtung und der Einbau deiner Homematic Fensterkontakte * wird sehr gut in der mitgelieferten Anleitung beschrieben. Ich werde dir zwar nun das Anlernen erklären, dennoch lohnt sich ein kurzer Blick in die Anleitung.
Bevor du mit dem Anlernen beginnen kannst, musst du natürlich die Batterie einlegen, dass der Sensor mit Strom versorgt ist. Du versetzt im Anschluss deine Homegear-Zentrale in den Pairing-Modus.
Den Pairing-Modus startest du mit den Befehlen:
homegear -r
pairing on
Der erste Befehl ruft die Kommandozeile von Homegear auf. Der zweite Befehl aktiviert schließlich das Pairing und du kannst deine Komponenten hinzufügen.
Um den Pairing-Modus an deinem Sensor zu aktivierten, musst du die Schritte in der Anleitung befolgen. In unserem Fall mussten wir einen Knopf im Inneren des Sensors für einige Sekunden gedrückt halten.
Einrichtung deiner Komponenten in Openhab
Du wirst erstaunt sein, aber den schwierigsten Teil der Installation hast du schon gemeistert. War nicht schwer, oder?
Jetzt navigierst du in deinem Webbrowser zur PaperUI von Openhab, dort setzen wir die Einrichtung fort. Denn aktuell kann dein Stick zwar den Status deiner Fensterkontakte auslesen, allerdings kannst du damit noch nicht so wirklich viel anfangen.
Installiere bitte zuerst das Binding Homematic von Gerhard Riegler.
Danach legst du ein neues Thing basierend auf dem Binding an. Dein angelegtes Thing muss die Homematic Zentrale sein. Alles was du zur Konfiguration eingeben musst, ist das Wort localhost im Feld Gateway Address.
Localhost steht für den aktuellen Rechner. Damit ist aber nicht der Rechner gemeint, an dem du arbeitest. Gemeint ist der Rechner, auf dem das Binding bzw. Openhab läuft. Du könntest alternativ die IP-Adresse des Raspberry Pi angeben oder die IP-Adresse 127.0.0.1 – das gilt nicht nur für Linux, sondern auch für andere Betriebssysteme |
Du solltest als nächstes in deiner Inbox die Fensterkontakte deiner Homematic-Zentrale sehen. Eventuell kann das einen Moment dauert, Openhab muss diese auch erst einmal finden. Unser Fensterkontakt hat übrigens – wie bei dir – eine sehr eigenartige Bezeichnung. Lass dich davon nicht irritieren. Sie wird später nicht auf der Oberfläche auftauchen.
Füge diese als Things hinzu. Dann kannst du basierend auf diesen Things neue Items erstellen und in deine Sitemap einbinden. Ganz einfach!
Regeln für die Fensterkontakte definieren
Ich habe dir schon zu Beginn des Beitrags einige mögliche Szenarien für den Einsatz von Fensterkontakten geliefert. Diese will ich jetzt mit dir in die Tat umsetzen. Dazu habe ich mir ein Szenario rausgesucht, was sicherlich viele interessieren könnte.
Du baust dir nun ein eigenes Alarmmeldesystem basierend auf deinen Fensterkontakten und deinem Openhab-Server. Dazu musst du Regeln definieren, welche bei jeder Statusänderung durchgeführt werden. In der Theorie sieht das so aus, dass du in der Regel bestimmst, dass eine E-Mail versendet werden soll, sobald der Kontakt geöffnet wird.
Wenn du bereits eine Anwesenheitserkennung eingebaut hast, kannst du diese mit der nachfolgenden Regel kombinieren. Ich habe beispielsweise angegeben, dass eine E-Mail verschickt werden soll, wenn keiner Zuhause ist und die Tür geöffnet wird.
Die Regel dazu sieht folgendermaßen aus:
rule "Balkontür geöffnet" when Item Balkontuer changed to OPEN then if(Iphone.state == OFF) { sendmail("deine@email.de", "Balkontür offen", "Die Balkontür wurde geöffnet") }
Die Regel greift, sobald man die Tür öffnet. Völlig egal, ob man zu Hause ist oder nicht. Erst innerhalb der Regel wird der Anwesenheitsstatus geprüft. Ist dieser auf OFF – nicht zu Hause – wird eine E-Mail an die entsprechende E-Mailadresse versendet.
Achte bitte darauf, dass du den Namen des Items unter Umständen anpassen musst. Den Namen des Items findest du in der PaperUI.
Für das Versenden von E-Mails muss ein Gateway eingerichtet sein. Das bedeutet, dein Raspberry muss über einen fremden Server E-Mails verschicken können. Das kann jedes deiner E-Mailkonten sein. Wenn du eine eigene Domain hast, richte deinem Raspberry doch dort ein eigenes Konto ein. |
Lass Alexa sagen, dass die Tür offen ist
Vor einer Weile habe ich dir ein Binding vorgestellt, das die Steuerung des Amazon Echo * mit Hilfe von Openhab erlaubt. Das Amazon Echo Control Binding. Wenn du dieses Binding einsetzt, kannst du die Regel oben entsprechend anpassen und folgendes einfügen:
Echo_TTS.sendCommand('Balkontür wurde geöffnet')
Du wirst sehen, dass Alexa wie durch Zauberhand auf einmal anfängt zu sprechen, sobald du den entsprechenden Kontakt öffnest.
Natürlich musst du noch das Echo_TTS durch den Namen deines Items austauschen, sonst wird das nicht funktionieren.
Noch eine kleine Scherzidee am Rande, die du allerdings nicht von mir hast: Wenn du das nächste Mal Besuch bekommst, passe die Aussage von Alexa an und nutze den Namen deines Besuchers. Wenn du ihn jetzt bittest die Tür zu öffnen, wird er ganz schön komisch schauen.
2 Kommentare
Was Hersteller über Smart Home lernen müssen - Hobbyblogging · 23. Januar 2020 um 17:02
[…] Fensterkontakte wären in der Lage dem Thermostat mitzuteilen, dass gerade gelüftet wird woraufhin diese die Heizleistung drosseln. […]
Eine LED-Schrankbeleuchtung mit Fensterkontakt - Hobbyblogging · 3. Juli 2019 um 20:15
[…] Wie du deinen Fensterkontakt mit deinem Raspberry Pi verknüpfen kannst, das verrate ich dir im Artikel Drahtlose Fensterkontakte für dein Smart Home mit OpenHab. […]