MyopenHAB – Anbindung und Funktion
Nach meiner Anleitung zur Basisinstallation von openHAB, werde ich in diesem Artikel etwas zum Thema myopenHAB beschreiben. Was ist myopenHAB, wie wird die Anbindung konfiguriert und welche Funktionen können damit realisiert werden.
Bei myopenHAB handelt es sich um ein sogenannten Cloud Service, um zentralisiert im Internet die Daten der lokalen openHAB Installation auswerten und weiterverarbeiten zu können. Da openHAB eine lokale Installation ist, werden alle Daten nur lokal erfasst und verarbeitet, dadurch hat man selbst die Kontrolle was mit diesen Daten passiert.
Wie bei allen Anbindungen, gibt es auch für myopenHAB ein Addon vom Typ IO, was mit folgendem Befehl installiert wird:
sudo apt-get install openhab-addon-io-myopenhab
Nach einem Neustart von openHAB werden zwei Dateien generiert, eine UUID und ein Schlüssel. Sollten unter „/usr/share/openhab/webapps/static/“ noch keine Dateien mit dem Namen „uuid“ und „secret“ existieren, so werden diese neu generiert. Die UUID ist mit einem Nutzernamen zu vergleichen und der Schlüssel (secret) stellt das dazugehörige Kennwort dar. Aus diesem Grund sollten diese zwei Dateien gesichert werden.
Um die lokale openHAB Installation mit MyopenHAB zu verbinden, muss unter https://myopenhab.org ein Account angelegt werden.
Für die Registrierung werden eine Email-Adresse, ein Kennwort und der Inhalt der zwei generierten Dateien benötigt. Um den Inhalt ausgeben zu lassen, einfach folgende Befehle ausführen:
cat /usr/share/openhab/webapps/static/uuid cat /usr/share/openhab/webapps/static/secret
Nach der Registrierung bekommt man eine Email mit Bestätigungslink, um die Email-Adresse zu verifizieren. Anschließend kann der Account sofort verwendet werden.
Was kann man mit myopenHAB anstellen?
MyopenHAB kann zum Versand von Pushnachrichten auf’s Handy verwendet werden, oder zur Kopplung mit IFTTT (If This Then That), um mit Systemen zu interagieren, die keine direkte openHAB Schnittstelle besitzen. Desweiteren kann myopenHAB als reverse Proxy dienen, um von unterwegs auf das Webinterface oder via Handy App zugreifen zu können.
Pushnachrichten auf’s Handy
Um Pushnachrichten auf dem Handy empfangen zu können, muss die openHAB App für Andtroid oder iOS installiert sein und mit myopenHAB.org verbunden sein. Ob das Handy auf myopenHAB richtig registriert ist, kann man unter myopenhab.org/devices kontrollieren.
Da nun sichergestellt ist, dass mindestens ein mobiles Endgerät bei myopenHAB angemeldet ist, können nun auch Benachrichtigungen an diese Geräte gesendet werden. Dazu können folgende Befehle in Regeln verwendet werden:
sendNotification("dein my.openHAB User Email Adresse", "hier die Beispielnachricht")
Mit dem Befehl „sendNotification“ in einer Regel wird an den benannten myopenHAB Account eine Benachrichtigung gesendet. Wenn mehrere mobile Endgeräte mit diesem Account verbunden sind, geht die Pushnachricht an alle Geräte.
sendBroadcastNotification("Beispielnacricht an alle")
Mit dem Befehl „sendBroadcastNotification“ wird die Benachrichtigung an alle User und dessen Geräte, deines myopenHAB Account gesendet. Auf einen myopenHAB Account können mehrere Nutzer berechtigt werden, die jeweils ihre mobilen Endgeräte selbstständig verwalten können.
sendLogNotification("Beispieltext ins Log")
Mit dem Befehl „sendLogNotification“ wird die Benachrichtigung an myopenHAB aber nicht ans mobile Endgerät gesendet. Die Benachrichtigung kann in der Notification Area von myopenHAB eingesehen werden und dient eher dem Logging und Testzwecke.
Remote Zugriff
Da myopenHAB auch als reverse Proxy dienen kann, um von unterwegs auf das eigene System zu zugreifen, muss die Konfiguration der lokalen Installation angepasst werden. Dazu muss die openhab.cfg wie folgt angepasst werden:
security:option=OFF
Mit dieser Option schaltet man die reverse Proxy Funktion ab, um wirklich nur lokal an seine openHAB Installation zu gelangen.
security:option=EXTERNAL security:netmask=192.168.42.0/24
Mit dieser Option wird der Zugriff von extern erlaubt, dafür wird die Authentifizierung für externe Zugriffe deaktiviert, da myopenHAB die lokalen Accounts nicht kennt und eine eigene Authentifizierung mittels myopenHAB Account realisiert. Durch die Definition des lokalen Subnetzes, wird weiterhin realisiert, dass lokale Nutzer aus diesem Netz gegen die users.cfg authentifiziert werden.
Sollte das lokale Webinterface der eigenen openHAB Installation nicht auf dem Standard Port 8080 laufen, so muss noch zusätzlich folgende Option definiert werden:
myopenhab:localPort=<abweichende Portnummer>
Um jetzt von Unterwegs mittels Handy App auf das eigene Webinterfache zugreifen zu können, muss in der App als externe URL „https://myopenhab.org“ eingetragen und als Logindaten die des myopenHAB Accounts hinterlegt werden. Die App selbst versucht immer das lokale Webinterface zu öffnen, sollte das nicht möglich sein wird automatisch der externe Aufruf verwendet.
Aber auch mit dem Browser kann man das Webinterface von extern öffnen, in dem man sich mit seinem myopenHAB Account anmeldet und folgende URL aufruft: https://myopenhab.org/openhab.app?sitemap=<YourSitemapName> , ähnlich der lokalen URL.
Anbindung von IFTTT
Der Dienst IFTTT stellt einfache Logikbausteine für duzende Internetdienst bereit, die fast alle nach dem Muster „Wenn A eintritt dann mache B“ arbeiten. Um mit IFTTT interagieren zu können, muss erstmal definiert werden, welche Items ihre Werte an myopenHAB senden, denn standardmäßig werden keine Daten an myopenHAB gesendet. Dafür wird eine Persistence Datei mit dem Namen „myopenhab.perstist“ im Konfigurationsordner „configurations/perstistence“ angelegt. Um es etwas zu vereinfachen hier ein Beispiel um alle Items bei jeder Änderung an myopenHAB zu übertragen:
Strategies { default = everyChange } Items { * : strategy = everyChange }
Damit können wir auf die Werte oder Zustandsänderung mittels IFTTT zugreifen und interagieren. Folgende Trigger und Actions werden von IFTTT mittels myopenHAB unterstützt:
Daraus ergeben sich eine Vielzahl von Möglichkeiten, um mit anderen Systemen zu interagieren. Es werden von IFTTT schon einige „Rezepte“, so heißen die Sammlungen von Regeln, vorgeschlagen.
Da ist bestimmt für jeden etwas dabei.
So das war’s zum Thema MyopenHAB, zusammenfassend lässt sich sagen, dass man alles in der Hand hat, wann welche Daten das System verlassen, was mir persönlich sehr wichtig ist.
Im nächsten Artikel wird es wahrscheinlich um Heizungssteuerung gehen.
Hallo, ich habe mein OH2 einmal neu aufsetzten müssen.
Seit der Neuinstallation bekomme ich in myopenhab keine Items mehr angezeigt.
Liegt das auch den der perstistence?
Da habe ich nämlich noch keine Anpassung gemacht.
Kann es auch an der JAVA Version liegen?
Der Account von myopenhab ist online.
Mein Device sehe ich auch. Ich kann mir auch Nachrichten schicken.
Nur die Items kann ich nicht sehen.
Ich möchte den Alexa Skill mit meinem OH2 verbinden.
Das hat vorher wunerbar geklappt.
Habe auch was davon gelesen, dass OH den Dienst zu Alex deaktiviert haben soll. (also kürzlich Juni Juli 2019)
Hat davon jemand etwas mitbekommen?
Was kann ich machen, damit meine Items wieder per Alexa steuerbar sind.
VG
Markus
Ich habe genau das gleiche Problem kann mir da evtl. jemand helfen.
Schöne Grüße Bernd