Fibaro LUA Szenen über Alexa starten – Eine Anleitung
LUA Szenen lassen sich nicht mit Alexa steuern - mit einem Trick schon. Wir zeigen, wie man über grafische Szenen dennoch LUA Szenen mit Amazons Sprachassistenten starten kann.
Wir zeigen Dir in diesem Beitrag, wie Du Fibaro LUA Szenen über Alexa steuern kannst. Derzeit kann man nur Geräte mit Alexa verbinden, die nicht sicherheitsgebunden (also zum Beispiel keine Kameras oder Fenstersensoren). Stattdessen können nur grafische Szenen mit Alexa umgesetzt werden. LUA Szenen oder Magic Szenen können dagegen nicht mit Alexa gestartet werden. Wir vermuten, dass dies mit einem Sicherheitsaspekt zu tun hat. Fibaro versucht so, seine User zu schützen, indem nicht alle Szenen mit Alexa gestartet werden können. Unserer Meinung nach ist dies aber nicht sinnvoll gelöst. Eine Möglichkeit, die dennoch Sicherheit garantiert, wäre beispielsweise gewesen, die Sprachsteuerung für jede Szene manuell erlauben zu müssen. Damit könnte man ein allgemeines LUA-Verbot umgehen.
Wir haben uns daher überlegt, wie man dennoch über eine LUA Szene Alexa starten kann. Dies wollen wir Dir heute zeigen. Dabei nutzen wir als Beispiel unsere LUA Szene “Alle Lichter aus”.
Die Vorgehensweise
Zunächst öffnen wir den Menüpunkt “Szenen” in unserem Fibaro Home Center (im Browser). Dort öffnen wir die entsprechende Szene. Mit unserer Szene lassen wir alle Lichter im Haus über eine Schleife ausschalten. Unser Ziel ist es, später an Alexa den Befehl “Alexa, aktiviere Alle Lichter aus” geben zu können. Dafür müssen wir als nächstes eine grafische Szene erstellen, die die entsprechende LUA Szene ansprichen soll.
Tipp
Wir fügen also über “Szene hinzufügen” eine grafische hinzu. Bei “Allgemein” ändern wir zunächst den Namen. Einen Raum erhält diese Szene nicht, da in unserem Fall alle Räume angesprochen werden. Über “Erweitert” können wir nun die Szene erstellen.
Grafische Szene erstellen
Um die grafische Szene zu erstellen, benötigen wir zunächst die If-Bedingung. Wir legen also fest, welcher Ausgangpunkt vorhanden sein muss. Hier nutzen wir die Variable “Always on” (all_time_on), welche wir im Vorfeld erstelllt haben. Danach den Wert “1” festlegen. Dieser Wert sollte auch im Nachhinein nicht mehr geändert werden, denn sonst ist die nachfolgende Bedingung nicht mehr gültig.
Nun erstellen wir eine neue Variable über “Steuerungen” und “Variablensteuerungen”. Dort klicken wir auf “Hinzufügen”, um eine neue Variable zu erstellen. Entsprechend vergeben wir einen Namen, beispielsweise “alexa_alle_aus”. Der Wert kann hier bei “0” stehen bleiben. Nun alles speichern und erneut zur grafischen Szene zurückkehren.
In der grafischen Szene muss als nächstes die “Dann”-Bedingung festgelegt werden. Dafür wählen wir die zuvor erstellte Variable (all_time_on) aus und setzen den Wert auf “1”.
Normalerweise würde diese Szene nun schon über die LUA Szene funktionieren, indem die grafische Szene in der LUA Szene getriggert wird. Doch Fibaro scheint dies im Zusammenhang mit Alexa zu unterbinden. Daher müssen wir nun noch mindestens ein Fake-Gerät hinzufügen. Wir nutzen dafür beispielsweise einen Wall Plug. Wichtig ist, dass man ein schaltbares Gerät verwendet. Dieses wird dann von Fibaro geprüft, sodass eine Umsetzung der Szene mit Alexa möglich werden sollte.
Dafür legen wir eine weitere “Und”-Bedingung an, wählen entsprechend das passende Fake-Modul aus und stellen die Aktion so ein, dass sich das Gerät einschaltet. Danach wiederholen wir diesen Schritt ein weiteres Mal, stellen hier nur als Aktion das “Ausschalten” ein. Am Ende alles speichern.
Szene in App anzeigen lassen
Nun können wir die Alexa App aktualisieren, um die neue Szene nutzen zu können. Dies ist sowohl über den Browser als auch über die Android oder iOS Version möglich. In der App öffnen wir den Bereich “Smart Home”, danach “Szenen”. Die neue grafische Szene wird hier noch nicht angezeigt werden. Daher aktualisieren wir die App nun über die “Suche”. Am Schluss sollte das neue Gerät angezeigt werden.
LUA Szene anpassen
Als nächstes muss die LUA Szene noch entsprechend angepasst werden, damit diese mit der grafischen Szene verbunden wird und diese triggert. Einen Trigger kann man entsprechend am Anfang der LUA Szene bei “globals” einbauen. Diesen Trigger kann man einfach hinzufügen, indem man die passende Variable eingibt. Bei uns wäre das:
alexa_alle_aus
Danach wird der Wert von “0” auf “1” geändert. Diesen muss man zum Ende der LUA Szene auch wieder zurücksetzen. Das Zurücksetzen erfolgt mit:
fibaro:setGlobal('alexa_alle_aus',0);
Abschließend muss der Trigger noch mit einer If-Bedingung geprüft werden, die man ebenfalls in die Szene mit einbaut:
if ((trigger['type'] == 'global' and fibaro:getGlobal('alexa_alle_aus') == 1') or trigger['type'] == 'other')
Diese setzt man an den Anfang der LUA Szene, jedoch definiert man diese Variable vorher noch mit:
local trigger = fibaro:getSourceTrigger();
LUA Szenen über Alexa testen
Zum Schluss muss die Bedingung am Ende noch mit “end” geschlossen werden. Nun alles speichern. Die Szene sollte nun ausgeführt werden können. Das kann man einfach testen, indem man auf “Start” drückt. Natürlich kann man auch die Steuerung mit Alexa selbst testen. Dafür nennt man Alexa den entsprechend Sprachbefehl, sodass die Szene umgesetzt wird.
Anschließend kann die Szene im Alltag mit Alexa verwendet werden und nach dem gleichen prinzip auch ähnliche Szenen ermöglicht werden.
Hallo Nico,
wie hast du das Problem gelöst mit den maximalen Zeichen.
Als Beispiel:
Ich möchte gerne meine Rolladen per Alexa schließen.
leider bin ich da in der Zeichensetzung eingeschränkt und kann die Szenen die per Alexa ausgeführt werden sollen nicht vollständig beschreiben.
Rolladen Schalfzimmer zu oder Rolladen Schlafzimmer auf ich muss das ja differenzieren.
Hast du dafür auch eine Lösung ?