Homematic steuern mit Amazon Echo (Dot / Alexa)

Leider gibt es für Amazon Alexa Voice Service (Amazon Echo) keinen Homematic Skill. Dennoch lässt sich die [amazon_textlink asin=’B00BZ6XLJ0′ text=’Homematic‘ template=’ProductLink‘ store=’rpininja-21′ marketplace=’DE‘ link_id=’5c019a96-ed0f-11e6-88c1-6f4f9540b732′] sehr leicht mit dem Echo, bzw, dem Echo Dot steuern. Diese Anleitung kann man in ca. 20 Minuten abarbeiten. Da wir dem Echo Hue Lampen simulieren (diese kann Alexa ohne Skill bereits ansprechen), können wir leider nur Licht schalten und dimmen. Weitere Funktionen wie Rollläden wären auch denkbar, müssen jedoch mit dem Sprachbefehl „Licht anschalten“, „Licht ausschalten“, „Licht dimmen“ gesteuert werden und bietet daher hierfür noch keine perfekte Lösung. Möchte man jedoch nur Lichter schalten, ist dies eine sehr gut funktionierende Lösung, welche ich nicht mehr missen möchte.

Ausgangssituation: Ich habe eine Homematic (keine Homematic IP) mit einer CCU1 und daran angeschlossenen Lichtaktoren. Außerdem benötigen wir einen [amazon_textlink asin=’B01CEFWQFA‘ text=’Raspberry Pi‘ template=’ProductLink‘ store=’rpininja-21′ marketplace=’DE‘ link_id=’7d861404-ed0f-11e6-9605-d1552f921464′]. Diesen habe ich bereits für andere Dinge im Betrieb und kann ihn hierfür leicht erweitern. Darüber hinaus ist natürlich ein Amazon Echo oder Amazon Echo Dot nötig.

Die Vorgehensweise in Kurzform:

  1. Auf dem Raspberry installieren wir die habridge, eine Opensource Java Software welche Hue Lampen simuliert
  2. Diese simulierten Hue Lampen werden von Alexa erkannt
  3. habridge sorgt dafür das beim Schalten der simulierten Lampen eine frei gewählte Aktion durchgeführt wird, in unserem Fall lassen wir die XML Schnittstelle der CCU ansprechen
  4. Fertig 🙂

Beginnen wir mit der Installation der habridge auf dem Raspberry Pi:

habridge ist eine Java Software, daher müssen wir sicherstellen das Java auf unserem Pi installiert ist. Dies geht mit

sudo apt-get update && sudo apt-get install oracle-java8-jdk

Nun erstellen wir einen neuen Unterordner in unserem Homeverzeichnis und downloaden es

cd /home/pi/
mkdir habridge
cd habridge
wget https://github.com/bwssytems/ha-bridge/releases/download/v4.1.2/ha-bridge-4.1.2.jar

Als nächstes erstellen wir eine Startdatei für habridge. In dieser geben wir auch den Port an auf welcher das Webinterface zu erreichen sein soll. Diesen musste ich ändern, da der Standardport 8080 auf meinem Raspberry Pi bereits benutzt wurde:

vi starthabridge.sh

Und tragen ein:

cd /home/pi/habridge
rm /home/pi/habridge/habridge-log.txt
nohup java -jar -Dserver.port=8080 /home/pi/habridge/ha-bridge-4.1.2.jar > /home/pi/habridge/habridge-log.txt 2>&1 & chmod 777 /home/pi/habridge/habridge-log.txt

Dann machen wir das Startscript ausführbar

chmod u+x starthabridge.sh

Und starten habridge

./starthabridge.sh 

Nun kontrollieren wir das Logfile auf Fehler

tail -f habridge-log.txt

Sollten keine Fehler aufgetreten sein ist habridge nun installiert und über den oben konfigurierten Port im Webbrowser erreichbar.

Wir rufen nun das Webinterface auf. Auf der Startseite sehen wir alle Geräte die Alexa als Hue Lampen erkennen würde. Aktuell ist natürlich noch keines angelegt, dies ändern wir in dem wir auf „add/edit“ klicken.

Für die Anlage benötigen wir nur wenige Felder:

  • Name (unter diesem Namen wird Alexa das Gerät erkennen, der Name „Wohnzimmer Licht“ führt demnach zu folgendem Sprachbefehl „Alexa, schalte Wohnzimmer Licht an“)
  • Device Type „Custom“
  • Map Type „HTTP Device“
  • On Items -> Target Item
    • http://[CCU_IP]/config/xmlapi/statechange.cgi?ise_id=[ise_id]&new_value=1
  • Off Items -> Target Item
    • http://[CCU_IP]/config/xmlapi/statechange.cgi?ise_id=[ise_id]&new_value=0
habridge Einstellungen

Hinweis: Dafür wird das XML-API Addon der CCU benötigt, dies gibt es hier. Die ise_id findet man in dem man folgende Url im Browser aufruft und dort dann nach dem entsprechendem Gerät sucht

http://[CCU_IP]/config/xmlapi/devicelist.cgi

Nun speichern wir die Konfiguration. Dieses Gerät wurde damit fertig eingerichtet. Das machen wir auch noch für alle anderen Geräte / Lichter die wir schalten wollen.

Zuletzt koppeln wir das ganze noch mit Alexa:

Wir gehen in die Alexa App, dort auf Smart Home und scrollen ganz runter. Dort lassen wir Alexa neue Geräte suchen. Dies dauert kurz und danach ist die Einrichtung abgeschlossen. Die Lichter können nun geschalten werden.

7 Kommentare

    • Hallo, ich habe mir die neue Version gerade angesehen. Die Oberfläche wurde ordentlich überarbeitet – ich habe den Artikel angepasst 🙂

  1. Danke, läuft jetzt bei mir, bist ein Held. Weisst du zufällige wie man den dim item konfiguriert/verwendet per Sprache? Der Aufruf der dimmbaren Lampe ist „http://ip/config/xmlapi/statechange.cgi?ise_id=243xy&new_value=0.5“ für 50%

    • Ich habe keine dimmbare Lampe, aber da wir Alexa vorspielen eine Hue Lampe zu sein, müsste sich das ganze so einrichten lassen. Laut habridge Dokumentation wird beim Dimmen der an Alexa genannte Dimmwert im Feld ${intensity.percent} mitgegeben. d.h. dieses Feld musst du in deine URL einbauen. Da du aber nicht 50%, sondern 0.5 brauchst, musst du tatsächlich folgendes einbauen: ${intensity.math(X/100)}
      Deine DimmUrl würde also aussehen: http://ip/config/xmlapi/statechange.cgi?ise_id=243xy&new_value=${intensity.math(X/100)}

      Alexa sollte auf folgende Befehle hören:
      – Alexa, stelle die Helligkeit im Esszimmer auf 60%
      – Alexa, dimme das Licht im Wohnzimmer

      Wie gesagt, ich kann es leider nicht testen, aber so steht es in den Dokus.

1 Trackback / Pingback

  1. Homematic per ioBroker über Alexa steuern – raspberry-pi.ninja

Schreibe einen Kommentar zu Thory Antworten abbrechen

E-Mail Adresse wird nicht veröffentlicht.


*