Beitragsbild Amazon Alexa

openHAB #8: Steuerung mit Amazon Alexa

Banner openHAB Alexa

Amazon hat sich mit seinem Sprachassistenten Alexa, neben Google Assistant oder Apple Siri mit einer relativ offenen Struktur platziert. Durch sog. Skills kann der Funktionsumfang in viele Richtungen einfach erweitert werden. Auch die Verbindung und Steuerung von openHAB lässt sich damit realisieren. Wir erklären euch im letzten Teil unserer openHAB-Basics-Serie wie das funktioniert.

Offizieller Alexa Skill

Seid Anfang des Jahres existiert ein offizieller openHAB Skill im Amazon Alexa Skill Shop – dieses vereinfacht die Einbindung von Amazon Alex in openHAB immens. Hier nochmals vielen Dank an digitaldan für die Arbeit. Der Mann hat mehr als einen spendierten Kaffee verdient! Vorher konnte man die Einbindung nur über die Philips Hue Emulation von openHAB (für die bereits ein Skill im Amazon Alexa Shop vorhanden war) umsetzen.

Vorbereitung und Voraussetzungen

Um Amazon Alexa nutzen zu können, benötigen wir natürlich zuerst ein Amazon Alexa-fähiges Gerät, wie die Fernfeld-Spracherkennung Amazon Echo, Echo Dot oder FireTV Stick. Diese können bei Amazon erworben werden. Dafür benötigt man logischerweise ein Kundenkonto bei Amazon.

Amazon Echo, Echo Dot oder FireTV

Für den Einstieg reicht der Amazon Echo Dot, den man in Schwarz oder Weiß erwerben kann.

Amazon Echo Dot (2. Generation), Weiß*
Amazon - Elektronik
59,99 EUR

Der Echo Dot wird bald in einen Technik-Review von uns getestet. Dieser Guide hier bezieht sich auf den Echo Dot.

Wer den Echo Dot auch für Streaming von Internet-Radio, Spotify oder Amazon Music nutzen möchte und mehr Wert auf Tonqualität legt, sollte sich den Amazon Echo anschauen:

Amazon Echo, Weiß (Vorherige Generation)*
Amazon - Elektronik
179,99 EUR

Möchte man das ganze in seine TV-Anlage integrieren, kann man hier den Amazon FireTV Stick der neuesten Generation nutzen:

Fire TV Stick mit Alexa-Sprachfernbedienung*
Amazon - Elektronik
39,99 EUR

Hier hat man den Nachteil, dass der Fernseher laufen muss um Alexa zu nutzen.

Des weiteren ist ein Smartphone mit Android bzw. ein iPhone zur Einrichtung des Echo notwendig.

myopenHAB Cloud

Nun müssen wir einen funktionierenden Zugang zu unserer lokalen openHAB Instanz mit der openHAB Cloud von myopenHAB.org haben. Wie dies gemacht wird, könnt Ihr im vorherigen Beitrag nachlesen (falls noch nicht geschehen).

Die Items die Alexa später steuern soll, müssen über den openHAB Cloud Connector zur Fernsteuerung freigegeben sein. Auch dies wird im vorherigen Beitrag beschrieben.

Items mit Tags versehen

Damit der openHAB-Alexa-Skill auf die Items zugreifen kann, müssen sogenannten Tags an die Items vergeben werden. Da die PaperUI Oberfläche die Erstellung der Tags noch nicht unterstützt, müssen wir diese auf einem anderen Weg einbauen. Hier gibt es mehrere Möglichkeiten:

Variante #1 – über .items – Datei

Die Intention dieses Guide war ja ursprünglich, openHAB einzurichten ohne mit Konfigurationsdateien zu hantieren. Leider ist es an dieser Stelle unserer Meinung nach einfacher, die Tags über die Konfigurationsdateien anzulegen.

Dazu erstellen wir im Verzeichnis /etc/openhab2/items eine Datei mit dem Titel alexa.items wo wir unsere Items, die wir per Alexa-Sprachsteuerung bedienen möchten, anlegen.

Der Aufbau einer Item-Datei sieht folgendermaßen aus:

Item-Typ Item-Name "Beschriftungstext" <Name des Icons> (Gruppe1, Gruppe2, ...) ["tag1", "Tag2", ...] {Konfiguration des Bindings}

Mehr Informationen zu Items findet Ihr in der offiziellen openHAB2-Dokumentation. Wichtig ist das Ihr den korrekten Tag für das Item vergebt. Also “Thermostat” für eine Thermostat, “Lighting” für eine Beleuchtung. Eine Übersicht aller Tags gibt es auch in der offiziellen Homekit-Anleitung für openHAB

Der Inhalt der Datei sieht zum Beispiel für mein Wohnzimmer-Thermostat so aus:

Group gWohnThermostat "Wohnzimmer Thermostat" ["Thermostat"]
Number WohnThermostatCurrentTemp "Wohnzimmer Thermostat Aktuelle Temperatur" (gWohnThermostat) [ "CurrentTemperature" ] {channel="homematic:HG-HM-CC-RT-DN:fa22ae2a:MEQ0576485:4#ACTUAL_TEMPERATURE"}
Number WohnThermostatTargetTemperature "Wohnzimmer Thermostat Soll Temperatur" (gWohnThermostat) [ "TargetTemperature" ] {channel="homematic:HG-HM-CC-RT-DN:fa22ae2a:MEQ0576485:4#SET_TEMPERATURE"}
String WohnThermostatHeatingCoolingMode "Wohnzimmer Thermostat Heating/Cooling Mode" (gWohnThermostat) [ "homekit:HeatingCoolingMode" ]
Werbung

Ein Schalter lässt sich folgendermaßen ansteuern:

Switch WashSwitch "Waschmaschine"  (gKeller) [ "Lighting" ] {channel = homematic:HG-HM-ES-PMSw1-Pl:fa22ae2a:LTK0124566:1#STATE}

Wichtig sind hier Channel-Angaben ganz am Ende – diese könnt Ihr über PaperUI auslesen.

HomeKit Items

So legt ihr eure Items komplett an – Ihr könnt hierbei auch alles Items nacheinander in eine .items-Datei schreiben.

Tipp

Ihr könnt auch Gruppen aus mehreren Items erstellen um so z.B. die Heizung in der ganzen Wohnung auf einmal zu steuern.

Variante 2 – per REST-API

Die zweite Möglichkeit die Tags zu den Items hinzuzufügen ist über die REST-API. Entweder man verbindet sich über eine REST-Client mit openHAB oder man installiert über PaperUI das AddOn “REST Documentation” aus dem Misc -Reiter. Nach der Installation erscheint im Startbildschirm von openHAB ein weiterer Button.

openHAB Startbildschirm

Im folgenden Fenster wählen wir die Aktion items und dort den letzten Eintrag PUT /items/{itemname}/tags/{tag}

REST Item Put

Dadurch klappt der Eintrag auf und wir können das Items sowie den gewünschten Tag eingeben und anschließend mit dem “Try it out Button” speichern

REST Items Save Tag

Diese Methode empfiehlt sich allerdings nicht für Anfänger – Wir empfehlen Variante 1, weil wir sie auch selbst getestet haben.

Alexa mit openHAB verbinden

Wir öffnen den Alexa Skill Shop in unserer Alexa App auf dem Smartphone und suchen nach dem Skill »openHAB« oder wir gehen über den folgenden Link im Browser.

Werbung

Den Skill aktivieren wir und werden dabei aufgefordert, uns in die myopenHAB Oberfläche einzuloggen, um die Accounts zu verbinden. Anschließend können wir über die Smart-Home-Funktion von Alexa nach den Komponenten, für die wir Tags angelegt haben, scannen und diese in Alexa einbinden.

 

Geräte per Sprachbefehl steuern

Sind die Komponenten erfolgreich mit Alexa verknüpft, können nun folgende Befehle genutzt werden:

  • Alexa, schalte ein Waschmaschine
  • Alexa, schalte aus Waschmaschine
  • Alexa, setze Wohnzimmer auf 19 Grad
  • Alexa, schalte Wohnzimmer aus
  • Alexa, erhöhe Wohnzimmer um 3 Grad

Alle weiteren Befehle findet Ihr auch unter der Hilfeseite für den openHAB Skill. Alexa unterstützt neben deutschen Befehlen auch Englisch.

Die Bedienung per Alexa, funktioniert schon recht gut – jedoch nicht immer fehlerfrei. Da sich der Skill jedoch noch in der Entwicklungsphase befindet und neue Funktionen eingebaut werden, kann man das gerne hinnehmen.

Solltet Ihr weitere Frage zu diesem Thema haben, nutzt bitte unsere Kommentar-Funktion.

 

 

Patrick
Gründer und Autor von frombeyond.de - Seit 25 Jahren im Bereich IT unterwegs, leidenschaftlicher Computerspieler, Technik-Freak und begeistert von allem was einen Motor (Auto/Motorrad/Flugzeug) hat.Nutzt Zuhause openHAB2 zusammen mit HomeMatic Komponenten sowie netatmo als Wetterstation. InfluxDB und Grafana zur Auswertung.

*Diese Links führen zu Amazon- oder anderen Online-Angeboten, keine Verfügbarkeitsgarantie, keine Garantie auf günstigsten Preis, Preise können variieren, Preise inkl. MwSt. / evtl. zzgl. Versandkosten, alle Angaben ohne Gewähr. Letzte Aktualisierung am 16.10.2017

Werbung