ioBroker mit Alexa steuern

„Alexa, mach das Licht an.“ – Wenn man in einen Raum kommt und zum Beispiel die Hände nicht frei hat um den Lichtschalter zu betätigen ist das schon praktisch. Wie man das Ganze mit ioBroker umsetzen kann zeige ich hier.

Bis vor Kurzem gab es eine kostenfreie Möglichkeit die Anbindung zu Alexa über den ioBroker-Cloud-Adapter zu lösen. Das geht nun nicht mehr. Trotzdem gibt es im Internet noch ganz viele Anleitungen, die diesen Weg beschreiben, aber entsprechend nicht mehr funktionieren.

Man kann auch weiterhin den Cloud-Adapter nutzen. Das funktioniert aber nur noch mit einem kostenpflichtigen Abo.

Ich werde hier zeigen, wie man die Anbindung zu Alexa mit NodeRed realisieren kann. Das ist nicht nur weiterhin kostenpflichtig, sondern hat auch den Vorteil, dass es ohne fremden Server auskommt.

Die Spracherkennung von Alexa läuft natürlich weiterhin über Amazonserver. (Bei diesen Sprachassistenten sollte man sowieso davon ausgehen, dass alles, was man in deren Nähe sagt beim Betreiber landet.)

Mein Echo Dot erkennt aber am Ende die Geräte, als wären sie an eine Hue Bridge angeschlossen. Das „Steuersignale“, die von Alexa an die Geräte gesendet werden, laufen also nicht mehr über einen dritten Server.

Als erstes öffnen wir im ioBroker-Webinterface den Menüpunkt ‚Adapter‘ und tippen in das Suchfeld ’node-red‘ ein. Bei dem Suchergebnis klicken wir auf die drei Punkte und anschließend auf das Plus für ‚Instanz hinzufügen‘.

Es öffnet sich das Fenster ‚Kommando-Ausführung‘ und anschließend landet man auf einer Einstellungsseite.

Die Standardeinstellungen können im Prinzip alle übernommen werden. Ich habe bei mir den Punkt ‚Max zugewiesener RAM‘ auf 256 erhöht. Das muss aber nicht unbedingt sein, wenn der Arbeitsspeicher im System sowieso schon knapp ist.

Nach einem Klick auf ‚Speichern und Schließen‘ kommen wir auf die Instanzen-Seite und sehen, wie vor der node-red.0-Instanz der grüne Punkt erscheint. Neu ist jetzt, dass im linken Menü diese Instanz auch auftaucht. Die wollen wir jetzt auch dort öffnen.

Es öffnet sich diese Seite mit Node-RED. Standardmäßig ist schon der Tab ‚Flow 1‘ geöffnet. Mit einem Doppelklick auf den Namen im Tab kann man ihn umbenennen. Das hilft unter Umständen später sich wieder zurechtzufinden 😉

Wir öffnen als nächstes das Burgermenü oben rechts und klicken auf den Menüpunkt ‚Palette verwalten‘. In dem Fenster, das sich öffnet, gehen wir auf den Tab ‚Installieren‘

In das Suchfeld tippen wir ein ’node-red-contrib-amazon-echo‘ und klicken bei dem entsprechenden Suchergebnis auf ‚Installieren.

Die Installation muss noch einmal bestätigt werden und dann müssen wir einen Moment abwarten. Nach der Installation schließen wir das Einstellungsfenster wieder und sind wieder bei der Ursprünglichen Ansicht von Node-RED.

In der linken Spalte von Node-RED finden wir zwischen den ganzen Blöcken (unter Eingabe) jetzt auch die beiden Blöcke ‚amazon echo hub‘ und ‚amazon echo device‘. Die fügen wir beide hinzu.

Mit einem Doppelklick auf das ‚Amazon Echo Device‘ können wir einen Namen vergeben. Dieser Name muss eindeutig sein. Es ist die Bezeichnung, mit der wir nachher die Lampe ansteuern können.

In meinem Beispiel vergebe ich den Namen ‚Nachttischlampe‘. Dann kann ich am Ende sagen: „Alexa, schalte die Nachttischlampe ein.“

Als nächstes fügen wir einen ’switch‘ (unter Funktionen) hinzu und Verbinden auch schonmal die einzelnen Blöcke.

Mit einem Dopplklick auf den Switch können wir wieder einen Namen vergeben. Ich nenne ihn ‚on/off‘. Außerdem müssen wir dem Switch beibringen, dass er die beiden Zustände ‚on‘ und ‚off‘ kennt. Dafür füllen wir das restliche Fenster so aus:

Nach einem Klick auf ‚Fertig‘ sollte der Switch am rechten Rand zwei graue Kästchen für mögliche Verbindungen anzeigen.

Die Geräte, die ich schalten möchte, benötigen nicht die Werte on/off, sondern true/false. Das können wir aber einfach umwandeln:

Wir fügen einen function-Baustein hinzu, doppelklicken ihn und füllen die Einstellungen wie folgt aus:

Nach einem Klick auf ‚Fertig‘ fügen wir einen zweiten function-Baustein hinzu:

Nach einem Klick auf Fertig fügen wir noch den letzten Block hinzu. Wir finden den Block ‚ioBroker out‘ unter Ausgabe

Nach einem Doppelklick auf diesen Block können wir ein ‚Topic‘ auswählen. Hier wird das Objekt ausgewählt, welches wir steuern wollen. In meinem Fall wähle ich also das ‚Power‘-Attribut meiner Nachttischlampe aus.

Als letztes Verbinden wir die Ausgabe der beiden function-Bausteine mit der Eingabe des ‚ioBroker out‘-Blocks. Das Endergebnis sollte dann so aussehen:

Anschlißend klicken wir oben rechts auf ‚deploy‘. Wenn alles funktioniert hat erscheint unter dem ‚Amazon Echo Hub‘ ein grüner Punkt und der Schriftzug ‚online‘.

Dafür wird der Netzwerkport 80 benutzt. sollte der (z.B. mit einem Webinterface) anders belegt sein, gibt es hier einen Konflikt und der ‚Amazon Echo Hub‘ geht nicht online!

Das wars schon mit den Einstellungen am ioBroker.

Um die Geräte jetzt steuern zu können, besuchen wir die Seite http://alexa.amazon.de und öffnen im linken Menü den Punkt ‚Smart Home‘.

Dort klicken wir auf ‚Geräte‘ und anschließend auf ‚Suche‘. Nach einigen Sekunden sollte Alexa dann unsere Geräte gefunden haben. und wir können Sie per Sprache an und aus schalten.

Du möchtest mehrere Geräte über Alexa steuern? Kein Problem.

Dafür kopieren wir einfach alle Blöcke außer dem ‚Amazon Echo Hub‘ und fügen sie ein Stück weiter unten ein.

Zwei Dinge müssen wir dann ändern: Die eindeutige Bezeichnung im ‚amazon echo device‘-Block und das Topic im ‚ioBroker out‘-Block.

Das Ergebnis könnte dann so aussehen:

Nach dem Hinzufügen der Geräte einfach oben rechts wieder auf ‚deploy‘ klicken und auf http://alexa.amazon.de erneut nach Geräten suchen. Fertig.

Schreibe einen Kommentar