Home Automation mit OpenHAB 4
Amazon Alexa
Die Integration der Amazon Alexa ist einfach - vorausgesetzt im Amazon Konto ist die 2-Faktor-Authentifizierung aktiv, ansonsten scheitert die Einbindung. Vor der Konfiguration in openHAB die Sicherheitseinstellung in Amazon prüfen.
Im Add-on Store das Amazon Echo Control Binding installieren.
![OpenHAB Alexa Binding](bilder/openhab/openHABalexa1.png)
Anschließend in Things das neue Binding auswählen und das Amazon Konto konfigurieren.
![OpenHAB Alexa Amazon Konto](bilder/openhab/openHABalexa2.png)
![OpenHAB Alexa](bilder/openhab/openHABalexa3.png)
Die Unique ID kann frei gewählt werden, muss aber innerhalb von openHAB eindeutig sein, hier: AmazonKonto. Im Geräteerkennungs-Modus stellt Direkt und über Alexa-Skill die beste Alternative dar. Ein Klick auf:
![OpenHAB Alexa](bilder/openhab/openHABalexa4.png)
schließt die Thing Erstellung ab. Im nächsten Schritt muss openHAB die Berechtigung für den Zugriff auf Amazon erhalten. Dazu muss die Seite http://192.168.0.xxx:8080/amazonechocontrol/ im Browser aufgerufen werden. xxx entspricht der für openHAB vergebenen IP Adresse (manche Router nutzen auch die IP Range 192.168.178.xxx).
![OpenHAB Alexa](bilder/openhab/openHABalexa5.png)
Auf Amazon Konto klicken.
![OpenHAB Alexa](bilder/openhab/openHABalexa6.png)
Nach Eingabe der Amazon Zugangsdaten und Klick auf SIGN IN wird ein Einmalpasswort an die bei Amazon hinterlegte Mobilnummer geschickt. Diese eingeben und bestätigen. Wichtig: ohne 2FA scheitert die Authentifizierung. Auch wenn das Bilderrätsel korrekt eingegeben wird und die SMS am Smartphone ankommt, besteht keine Möglichkeit, die 6-stellige Nummer einzugeben. Nach wenigen Sekunden erfolgt der Redirect auf die Anmeldeseite!
Ist der Prozess erfolgreich ("Login succeeded") werden die gefundenen Devices angezeigt:
![OpenHAB Alexa erfolgreich](bilder/openhab/openHABalexa7.png)
In der INBOX werden die über die Alexa Skill erreichbaren Devices angezeigt und können als Thing hinzugefügt werden.
Beispiel:
Über Alexa ist eine schaltbare Steckdose mit dem Namen Lampe eingebunden. Diese erhält den Namen LampeFensterbrett und wird als Thing hinzugefügt. Anschließend kann diese über openHAB ein- bzw. ausgeschaltet werden.
Der Amazon Echo selbst kann zur Sprachausgabe genutzt werden. Zuerst wird der Echo als Thing eingebunden (über Eintrag in INBOX):
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa8.png)
Im Alexa Echo Thing Channels auswählen.
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa9.png)
Show advanced anklicken, um Zugriff auf den Channel Speak zu erhalten.
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa10.png)
Speak anklicken, Add Link To Item... wählen und eine neues Item erstellen (Create New Item).
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa11.png)
_Speak wird automatisch an den Namen (Unique ID) angehängt (bei Bedarf ändern). Ein aussagekräftiges Label wählen (hier: Sprachausgabe Alexa Wohnzimmer). Alexa soll zur Alarmierung beim Öffnen einer Türe genutzt werden, daher Category=alarm, Semantic Class=Alarm und Semantic Property=Opening. Nach Klick auf Item steht das neue Item zur Verfügung:
![OpenHAB Alexa Echo Item Sprachausgabe](bilder/openhab/openHABalexa12.png)
Jetzt eine neue Regel erstellen (in Rules rechts unten auf das Plus-Zeichen klicken). Nach Vergabe einer eindeutigen ID (hier: SprachausgabeEchoWohnzimmer), einem Namen (hier: Sprachausgabe Echo Wohnzimmer) diese Regel mit Klick auf Save speichern. eine neue Aktion hinzufügen (Add Action). Um Alexa zum Sprechen zu bringen, wird ein Inline Script benötigt.
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa13.png)
Mit Hilfe von Blockly können die erforderlichen Blöcke einfach zusammengestellt werden.
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa14.png)
In openHAB auf Items & Things klicken und send command auswählen.
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa15.png)
Einen beliebigen Text eingeben (hier: Balkontüre ist geöffnet) und das passende Item auswählen (hier: Echo_Wohnzimmer_Speak).
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa16.png)
Mit Click auf Run Now kann die Regel getestet werden.
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa17.png)
Alexa spricht nicht?
Wenn Alexa nicht spricht, hilft ein Blick in das Logbuch von openHAB, konkret in die Datei openhab.log. Am Dateiende stand bei mir:
Das deutet darauf hin, dass das JavaScript Add-on nicht vorhanden ist und nachinstalliert werden muss. Das erforderliche Binding befindet sich nicht in den Bindings, sondern in Automation:
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa18.png)
![OpenHAB Alexa Echo Einbindung](bilder/openhab/openHABalexa19.png)
Nach der Installation sollte die Sprachausgabe am Alexa Echo funktionieren. In der Regel kann jetzt noch ein Trigger hinzugefügt werden, der dann die Sprachausgabe initiiert.