habpanel

openHAB #8: Steuerung mit Amazon Alexa

 Banner 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, Echo Spot, Echo Show, Echo Plus oder FireTV Stick. Diese können bei Amazon erworben werden. Dafür benötigt man logischerweise ein Kundenkonto bei Amazon.

Seid neuem kann man auch mittels der Amazon Alexa App die Alexa Sprachsteuerung nutzen

Amazon Echo, Echo Dot oder FireTV

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

Angebot
Amazon Echo Dot (2. Gen.) Intelligenter Lautsprecher mit Alexa, Weiß*
  • Amazon Echo Dot ist ein sprachgesteuertes Gerät, das mithilfe von Alexa Musik wiedergibt, Ihre Smart Home-Geräte steuert, Informationen bereitstellt, die Nachrichten liest, Wecker stellt und vieles mehr
  • Kann über Bluetooth oder ein 3,5 mm-Stereokabel mit Lautsprechern oder Kopfhörern verbunden werden, um Musik von Amazon Music, Spotify und TuneIn abzuspielen. Spielen Sie Musik mit Multiroom Musik gleichzeitig auf mehreren Echo-Geräten und mit Kabel verbundenen Lautsprechern ab (Verfügbar für Amazon Music und TuneIn. Bluetooth wird nicht unterstützt)

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)*
  • Spielt all Ihre Musik von Amazon Music, Spotify, TuneIn und vielen weiteren ab - allein mithilfe Ihrer Stimme
  • Erfüllt den Raum mit einem 360° omnidirektionalen Klang. Spielen Sie Musik mit Multiroom Musik gleichzeitig auf mehreren Echo-Geräten ab (Verfügbar für Amazon Music und TuneIn. Bluetooth wird nicht unterstützt)

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 (Vorgängermodell - 2. Generation)*
  • Unser meistverkaufter Fire TV Stick mit Alexa-Sprachfernbedienung (1. Generation).
  • Über 9.000 Apps, Spiele und Alexa Skills, wie z. B. Prime Video, die Mediatheken von ARD für TV, ZDFmediathek, 7TV, Netflix, Maxdome, ARTE und viele weitere.

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

 

Seit anfang 2018 sind der Amazon Echo Spot und Echo Show mit Display verfügbar. Den Echo Spot haben wir ausführlich getestet – das Review findet Ihr hier: Amazon Echo Spot Review

 

Angebot
Amazon Echo Spot, Smarter Wecker mit Alexa - Schwarz*
  • Echo Spot wurde so entwickelt, dass es überall bei Ihnen zuhause hinpasst. Schauen Sie sich mit der 2. Generation unserer Fernfeld-Spracherkennung Ihre tägliche Videozusammenfassung an, zeigen Sie Songtexte, die Wettervorhersage oder To-do- und Einkaufslisten an, durchsuchen Sie Audible, hören Sie Hörbücher und vieles mehr. Allein mithilfe Ihrer Stimme - einfach fragen.
  • Echo Spot verbindet sich mit dem cloudbasierten Alexa Voice Service, um Musik abzuspielen, die Nachrichten vorzulesen, Fragen zu beantworten, Musikwecker zu stellen, Ihr Smart Home zu steuern und mehr.

 

Echo Show (1. Gen.), Intelligenter Lautsprecher mit 7-Zoll Bildschirm und Alexa - schwarz*
  • Echo Show bietet Ihnen alles, was Sie an Alexa lieben - jetzt neu mit Bildschirm. Schauen Sie sich Ihre täglichen Zusammenfassungen als Video an, verfolgen Sie Songtexte mit, zeigen Sie Sicherheitskameras, Fotos, die Wettervorhersage oder To-do- und Einkaufslisten an, durchsuchen Sie Audible, hören Sie Hörbücher, genießen Sie Amazon Video und vieles mehr. Allein mithilfe Ihrer Stimme - einfach fragen.
  • Eine ganz neue Art Zeit miteinander zu verbringen. Sprechen Sie per Sprach- oder Videoanruf mit Freunden und Familienmitgliedern, die ein Echo Show oder die Alexa App haben, und per Sprachanruf mit allen, die ein Echo-Gerät oder die Alexa App haben.

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 (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:

 

[tt]Item-Typ Item-Name „Beschriftungstext“ <Name des Icons> (Gruppe1, Gruppe2, …) [„tag1“, „Tag2“, …] {Konfiguration des Bindings}[/tt]

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" ]

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.

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

Wichtig: Diese Methodik funktioniert nur, wenn man die Items NICHT mit dem Simple Mode angelegt hat.

 

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.

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

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

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.

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

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.

Letzte Aktualisierung am 16.09.2019 / Affiliate Links / Bilder von der Amazon Product Advertising API