Home Assistant und Alexa mit Node RED

Bisher dachte ich es gibt zwei Möglichkeiten um Alexa und Home Assistant miteinander zu verbinden. Da wäre die Lösung über AWS und die Lösung über Home Assistant Cloud. Die Lösung über AWS ist relativ komplex und für die HA Cloud fallen jedes Jahr 75€ an. Es gibt aber noch die Node-RED Alexa Home Skill Bridge von Ben Hardill. Für Diejenigen, welche sich mit Node-RED auskennen und es eventuell schon aktiv haben, ist dieses die perfekte Alternative. Somit lasst uns beginnen und Home Assistant und Alexa mit Node RED verknüpfen. In diesem Beispiel werde ich versuchen eine Szene in Home Assistant mittels Alexa zu aktivieren.

Account anlegen

Wir starten damit einen Account anzulegen, geht dazu auf die Seite von Ben und registriert euch.

Home Assistant und Alexa Registrierung

Device erzeugen

Unter Devices können wir nun neue Devices anlegen. Vergebt einen Namen zur Steuerung und legt die Eigenschaften fest. Anschließend seht ihr das neue Device in euerer Übersicht.

Skill aktivieren

Nun starten wir die Alexa App und suchen den Skill Node-RED von Ben. Anschließend meldet ihr euch mit den oben erzeugten Account an und Alexa sollte ein Gerät finden.

Node-RED

Solltet ihr Node-RED noch nicht nutzen, könnt ihr es als Add-on installieren. Folgt dazu einfach der Dokumentation. Hier ist bereits alles enthalten, außer den Alexa-Nodes. Solltet ihr bereits eine eigene Instanz von Node-RED nutzen, müsst ihr Node-RED Companion, über HACS, installieren und zusätzlich node-red-contrib-home-assistant-websopcket über die Palette von Node-RED. Anschließend installiert ihr die Alexa spezifischen Nodes.

Home Assistant und Alexa Node RED Node

Wir nehmen jetzt uns einen alexa-home Node und geben unsere Account-Daten an, mit denen wir uns auf Bens Seite registriert haben. Schon erscheint auch unser Abendprogramm unter Device.

Home Assistant und Alexa mit Node RED verbinden

Da wir jetzt alles zusammen haben, können wir mit dem eigentlichen Spaß beginnen. Wir nehmen uns einen alexa-home Node, wählen unseren zuvor abgespeicherten Account aus und unser Device. Diesen Node verbinden wir mit einem Debug Node, damit wir sehen können was übermittelt wird. Im Debug Node stellen wir die Ausgabe auf Komplettes Nachrichten-Objekt um. Wenn wir jetzt Alexa das Abendprogramm aktivieren lassen, bekommen wir einen TurnOnRequest und einen TurnOffRequest beim deaktivieren. Diese beiden Zustände Messages wir in einen switch Node ein. Somit können wir unterschiedliche Abläufe ansteuern. Je nachdem was ihr steuert, werden hier natürlich unterschiedliche Dinge erscheinen. Ein Thermostat verhält sich hier anders, wie eine dimmbare Lampe. Schaut einfach was übergeben wird und erstellt euch darauf basierend einen Flow.

Da ich eine Szene aktivieren will, nutze ich den Home Assistant call service Node. Diesen verbinden ich mit dem Turn on Ausgang des Switch Nodes und schon sind wir fertig. Da ich einen Szene steuere, bleibt der Turn off Ausgang erst mal frei. Hier könntet ihr aber eine zweite Szene zum ausschalten ansteuern.

Mit dem hier vorgestellten könnt ihr nicht nur Befehle von Alexa an Home Assistant weitergeben, sondern auch andere Dinge mit Alexa ansteuern. Wir müssen zwar den Umweg über Node-RED gehen, aber das ist nur eine kleine Hürde. Für mich ist das jedenfalls eine echte alternative zu Home Assistant Cloud oder der AWS Thematik und funktioniert super. Die Performance ist auch sehr gut. Bisher wurden alle Befehle quasi umgehend ausgeführt. Somit ist die hier vorgestellte Methode eine wirkliche Alternative.

Sollte ihr diese Variante nutzen, würde sich Ben sicher über eine kleine Spende freuen.

Schreibe einen Kommentar