[openhab2] in Amazon Alexa integrieren

Wenn man eine Alexa inkl. Smart HUB besitzt lassen sich sehr einfach die Lampen von Philips HUE einbinden und per Sprache steuern. Existiert bereits eine Hausautomation über openhab, so können die Aktoren ebenfalls über Alexa angesprochen werden.

Zunächst muss hierfür ein Konto bei https://myopenhab.org eingerichtet werden. Für die Einrichtung wird die openhab UUID und das openhab Secret benötigt.

Die UUID befindet sich unter /var/lib/openhab2/uuid und das Secret unter /var/lib/openhab2/uuid.

Nachdem das Konto eingerichtet wurde muss unter der PaperUI(MISC) das Modul openHAB Cloud Connector installiert werden, im Anschluss erfolgt unter Configuration => Services die Einrichtung. Nach einem Neustart ist es möglich über myopenhab.org die Aktoren zu schalten.

Für die Verbindung von Alexa zum myopenhab wird der entsprechende Skill benötigt.
Damit Aktoren beim Pairing gefunden werden, muss in der items.cfg beim Item der Paramter Lighting hinterlegt werden.

Switch Lampe "Lampe" (flur) ["Lighting"] {fs20="1B1111"}

Für das einfachere Ansprechen der Aktoren kann in der Amazon Alexa App ein anderer Name hingelegt werden als im openhab2.


Update

Ich wurde darauf hingewiesen das eine Integration von Amazon Alexa zu openhab auch möglich ist in dem in openhab die HUE Emulation genutzt wird und auf der Alexa der HUE Skill installiert wird. Somit ist der Onlinezugang zu myopenhab nicht notwendig.

Ich habe eine Neue und Sie heißt Alexa

Unter Weihnachtsbaum lag vermutlich wie bei vielen anderen eine Alexa. Schon länger liebäugelte ich mit dem Sprachassistenten von Amazon.
Nach dem Auspacken war die Einrichtung schnell erledigt und die ersten Skills wurden eingerichtet. Primär wollte ich den Amazon Echo nutzen um Musik zu hören, zum Beispiel über Spotify oder Amazon Music. Mittlerweile wird auch der ein oder andere Skill verwendet.

Wie bereits geschrieben verwenden wir Amazon Echo hauptsächlich zum Musik hören, hier reicht ein einfaches „Alexa spiel mit Lied x von y“ oder „Alexa spiele mir 90er“ . Der große Echo plus mit integriertem Home-Hub hat einen sehr guten Klang und kann eine kleinere Stereo Anlage ersetzen.

Auf dem Handy sowie Tablet verwende ich schon länger die App Bring! als Einkaufsliste. Hierfür gibt es nun einen entsprechenden Skill. Es reicht ein „Alexa öffne bring und füge Milch hinzu.“ und der Artikel wird der Einkaufsliste hinzugefügt. Bei der ersten Nutzung des Skills wird die Standardeinkaufsliste festgelegt.

Ein Zugriff auf den Kalender von Google ist ebenfalls möglich, es können darüber unter anderem neue Termine erstellt werden.

Als letzen Skill wird der von openhab verwendet um zum Beispiel die definierten Items in Openhab über myopenhab zu schalten. Für das Zusammenspiel zwischen Echo und Openhab werde ich noch einen weiteren Artikel verfassen.

Abgesehen von dem ganzen „Die hört ja alles mit und und zeichnet alles auf“ gefällt mir der Sprachassistent sehr gut und bin gespannt welche Möglichkeiten noch kommen werden.

[openhab2 und myopenhab] einrichten

Ist man unterwegs und möchte zu Hause evtl. eine Lampe einschalten, so gibt es drei Möglichkeiten um auf openhab zuzugreifen. Zum einen könnte man über Dienste wie dyndns auf das heimische Netzwerk zugreifen, in der Firewall muss der entsprechende Port weitergeleitet werden. Alternativ kann zunächst über VPN ein Tunnel in das heimische Netzwerk aufgebaut werden und im Anschluss erfolgt der Zugriff auf openhab.
Die eleganteste Lösung finde ich ist myopenhab.
Zunächst muss unter der Paperui Addons=>Misc der openhab cloud connector installiert werden.

Nun wird noch für die Registrierung auf http://www.myopenhab.org die uuid und das secret benötigt.

Die Angaben befinden sich in den Folgenden Dateien:

/var/lib/openhab2/uuid
/var/lib/openhab2/openhabcloud/secret

Nach der Registrierung und Installation muss openhab neugestartet werden. Im Anschluss kann auch außerhalb des heimischen Netzwerks über die openhab App auf die Hausautomation zugegriffen werden.

Myopenhab wir auch für die integration in Amazon Echo benötigt.

[openhab2] Licht an wenn es dunkel ist

Damit das Licht eingeschaltet wird wenn es dunkel ist, gibt es mehrere Möglichkeiten.
Unter anderem gibt es die Berechnung von Sunrise bzw. Sunset oder es gibt diverse Sensoren im Hausautomationbereich die eingebunden werden können.

Wer im Besitz einer Überwachungkamera ist kann zum Beispiel Abfragen ob die Infrarod LED eingeschaltet wurde.

In diesem Fall wird der Status der LED einer Foscam Kamera abgefragt.
In der items Datei muss nur ein entsprechendes Item angelegt werden:
String Foscam_Carport_led „LED Carport Camera “ (camera,Status,Test) { http=“<[http://ip:88/cgi-bin/CGIProxy.fcgi?cmd=getDevState&usr=Benutzer&pwd=Passwort:4000:REGEX(.*?(.*?).*)]" }

In einer Regel kann der Status mit folgender Zeilg abgefragt werden:

if ( Foscam_Carport_led.state == "1"){

[openhab2] Anwesenheitserkennung

Durch einen Defekt auf einer SD Karte musste ich openhab neu installieren und bin auf die Version 2.1 umgestiegen. Um zu prüfen welche Handys sich WLAN befinden gibt es nun gegenüber openhab1 eine Änderung. Die alte Regel aus dem Artikel kann weiterhin genutzt werden, jedoch müssen die Items anders abgefragt werden.

Zunächst muss unter der Paperui das Network–Binding installiert werden.

Unter dem Ordner things wurde die Datei mobil.things mit dem folgenden Inhalt erstellt.

network:device:handy1 [ hostname="192.168.2.37", port="0", retry="1", timeout="5000", refresh_interval="60000", use_system_ping="true", dhcplisten="false" ]
network:device:handy2 [ hostname="192.168.2.34", port="0", retry="1", timeout="5000", refresh_interval="60000", use_system_ping="true", dhcplisten="false" ]

Die Datei mobil.items in dem Verzeichniss items ist wie folgt aufgebaut.

Group:Switch gMobiles

Switch Presence (fstest)
Switch Handy1 (gMobiles) { channel="network:device:handy1:online" }
Switch Handy2 (gMobiles) { channel="network:device:handy2:online" }