Benutzer-Werkzeuge

Webseiten-Werkzeuge


amazonecho:start

Sprachsteuerung der CCU2 per Amazon Echo

Meine Arbeit basiert auf der sehr guten Anleitung von Dragonfly aus dem Homematic Forum.

Mittlerweile gibt es aber das hervorragende HConnect Addon für Echo so das man nicht mehr unbedingt eine OpenHAB2 Installation braucht.

Benötigte Komponenten

Um die Anbindung von Amazon Echo an die CCU2 zu realisieren benötigt man folgende Teile:

  1. Homematic CCU2
  2. Raspberry Pi3 (oder 2b) mit OpenHAB2
  3. Amazon Echo oder Amazon Echo Dot

Das ist erfreulich wenig und ist auch relativ schnell realisiert. Ich war erstaunt wir einfach das Ganze war nachdem ich schon verschiedene Möglichkeiten der Sprachsteuerung inklusive Android mit Tasker und Autovoice hinter mir hatte.

OpenHAB2 braucht man quasi als Vermittler zwischen der Homematic Zentrale und Amazon Echo. Dazu benutzt man unter OpenHAB den Philips Hue „Konnektor“ über den Amazon Echo mit OpenHAB kommuniziert und OpenHAB reicht dann die entsprechenden Befehle an die CCU weiter.

OpenHAB2 Installation

Ich habe OpenHAB auf einem Raspberry Pi3 installiert da ich OpenHAB zwar sehr gelungen und gut finde allerdings ausser der Schnittstellenfunktion zwischen CCU und Echo zur Zeit nichts weiter davon nutzen möchte.

Die Installation ist recht einfach. Voraussetzung ist eine java 1.8 Version auf dem Raspbian, insofern reicht das Standard „Jessie with Pixel“ Image von Raspbian Download, dieses dann per „dd“ unter Linux oder „Win32DiskImager“ unter Windows auf eine Micro-SD Karte kopieren und den Pi3 damit starten.

Das Raspbian Image holt sich per Voreinstellung eine IP-Adresse per DHCP, dies sollte man umstellen da ansonsten der Pi3 eventuell irgendwann eine andere IP-Adresse bekommen kann und dann von Amazons Echo nciht emhr gefunden wird.

Dann am Raspberry Pi anmelden und auf der Konsole die Repositories von OpenHAB2 konfigurieren und dann OpenHAB2laden und installieren:

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -
echo 'deb http://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab2.list
sudo apt-get update
sudo apt-get install openhab2
sudo apt-get install openhab2-addons

Dann noch OpenHAB in den Systemstart einbauen:

sudo systemctl daemon-reload
sudo systemctl enable openhab2.service

Damit wir jetzt loslegen können dieses Mal OpenHAB manuell starten:

sudo systemctl start openhab2.service

Ob es läuft können wir mit folgenden Befehl prüfen:

sudo systemctl status openhab2.service

Wenn der Dienst gestartet ist sollte nach spätestens 15 Minuten (bei mir waren es 4 Minuten) per Browser auf die OpenHAB2 Oberfläche zugegriffen werden können.

Adresse ist dann http://IP-ADRESSE-PI3:8080

OpenHAB2 Konfiguration

In OpenHAB2 muessen jetzt die Verbindung zur CCU2, die Philips Hue Erweiterung installiert und konfiguriert werden und dann die Geräte aus der CCU2 importiert werden. Zum Schluss muss dann in einer Konfigurationsdatei die Verbindung zwischen den Homematic Geräten und dem jeweiligen Sprachbefehl angegeben werden.

Nachdem OpenHAB2 nach 1-2 Minuten gestartet ist kann man die Weboberfläche aufrufen:

Adresse ist dann http://IP-ADRESSE-PI3:8080

Wir wählen die „Paper UI“ Oberfläche aus:

Unter „Add-Ons“ blättern wir runter bis zur Homematic Erweiterung und klicken dann rechts auf „INSTALL“.

Im orangen Bereich oben klicken wir dann auf „Misc“ und blättern bis zur „Hue Emulation“ und klicken dann wieder rechts auf „INSTALL“.

Unter Configuration→Bindings„ finden wir jetzt das Homematic Binding

und unter Services die „Hue Emulation“

Wenn wir auf „Configure“ klicken koennen wir zwei Sachen einstellen, einmal ob das Pairing eingeschaltet ist und zum zweiten eine IP-Adresse. Entgegen der Annahme das das Pairing aktiviert sein muss damit Amazon Echo OpenHAB2 findet musste es bei mir (und wohl auch bei anderen) deaktiviert sein und unter IP traegt man die IP-Adresse des Raspberry Pi ein, d.h. die lokale Adresse.

Unter „Things“ sieht man die importierten Hoemmatic Geräte die OpenHAB2 von der CCU2 empfangen hat. Von diesen brauchen wir gleich den kryptischen String der einmal in der Übersicht angezeigt wird und andererseits in den Details zu den einzelnen „Things“ erscheint

In disem Beispiel zum Beispiel den „State“ eines Unterputz-Schaltaktors mit dem dann eine Lampe ein- bzw. ausgeschaltet werden kann.

Oder zum Beispiel ein Heizungsthermostat:

OpenHAB2 Items Konfiguration

Nun braucht es noch ein bisschen Handarbeit um eine Konfigurationsdatei zu erstellen in der wir die Verbindung zwischen den CCU2 Geräten und Echo herstellen. Dazu wird, auf dem Raspberry Pi, unter /etc/openhab2/items eine Datei namens alexa.items angelegt. Der Name ist egal solange er auf .items endet.

Dort werden jetzt pro Zeile eine Verbindung definiert. Im Grunde ist jede Zeile so aufgebaut:

itemtype itemname ["labeltext"] [<iconname>] [(group1, group2, ...)] [["tag1", "tag2", ...]] [{bindingconfig}]

itemtype - Kann z.B. Switch (Schalter sein), Dimmer, Number sein. Alle Moeglichkeiten sind hier aufgelistet

itemname - Ein eindeutiger (interner) Name fuer diese Defintion

bindingconfig - Die Defintion zu welchem der Geraete/Things diese Zeile gehoert (siehe unten)

Optional kann man noch angeben:

labeltext - Ein etwas sprechenderer Name fuer die Anzeige auf der Weboberflaeche

iconname - Der Name eines Icons der angezeigt werden soll

group1… - eine Gruppenzuordnugn fuer diese Defintion

tag1… - Eine Zuweisung von ein bis mehreren Tags zu dieser Definition

Das heisst mindest braucht man:

itemtype itemname {bindingconfig}

Einige Beispiele:

Dies bezeichnet einen Switch/Schalter (genauer einen Schaltaktor) mit itemtype=Switch, itemname=alexa_wz_licht, labeltext=„Wohnzimmer Deckenlicht“, gruppe=Ligthning und dem Binding zu dem entsprechenden Schaltaktor „homematic:HM-LC-Sw1-FM:c96ga930:MEQ0456040:1#STATE“

Switch alexa_wz_licht "Wohnzimmer Deckenlicht " ["Lighting"] {channel="homematic:HM-LC-Sw1-FM:c96ga930:MEQ0456040:1#STATE"}

Die bindingconfig kann man aus der oben schon gezeigten detaillierten Ansicht der „things“ entnehmen.

Hier noch ein Beispiel fuer einen Heizungsthermostat:

Number alexa_wz_temp_einstellen "Wohnzimmer Soll-Temperatur" [ "TargetTemperature" ] {channel="homematic:HM-TC-IT-WM-W-EU:c96ga930:NEQ0936076:2#SET_TEMPERATURE"}

In der Datei duerfen keine Kommentarzeilen stehen und bei Schreibfehlern kann es sein das gar nichts auf der Config→Items Webseite angezeigt wird.

Ansonsten wird der Inhalt der Datei als einzelne Items unter Configuration→Items angezeigt. Bei mir klappte das ohne Neustrat von OpenHAB2.

Amazon Echo

An dieser Stelle ruft man die Amazon Echo App auf dem Handy auf und laedt den Skill „Hue“ von Philips. Dazu oben links in der App auf die 3 Striche tippen, dann auf Skills, im Suchfeld oben „hue“ eingeben und den Skill aktivieren. Leider ist der Skill nicht umsonst da man mit einer E-Mail Adresse bezahlen muss die Philips fleissig sammelt (Entweder ein dediziertes Konto oder ueber die Google Anmeldung). Einen tieferen Sinn warum ich bei einer lokalen Verbindung zwischen Echo und Hue eine Anmeldung brauche erschliesst sich mir naemlich nicht, also werden fleissig Daten gesammelt.

Der Skill bietet dann auch direkt an nach Philips Hue Gateways zu suchen, dieses sollte jetzt auch gefunden werden wenn zuvor alles richtig gemacht wurde.

Dann wieder auf die drei Striche oben links tippen und dann auf „Smart Home“. Dort sollte jetzt der Hue-Skill auftauchen und darunter gibt es die Moeglichkeit Geräte zu suchen, dies machen wir und es sollten alle Geräteverknüpfungen erscheinen die vorher unter „Items“ auf der OpenHAB2 Oberflaeche zu sehen waren.

Das wars…

Alexa!

amazonecho/start.txt · Zuletzt geändert: 2022/10/25 18:42 (Externe Bearbeitung)