NEWS
Trigger gesucht
-
Ich will in einer Alexa Routine einen "Schalter" einbauen der alle Sonos Geräte sofern sie denn laufen ausschaltet.
Dazu habe ich einen Datenpunkt angelegt "Alle_Sonos_stoppen". Diesen will ich per Alexa einschalten auf true
Dadurch soll das Script laufen und die Sonos Lautsprecher ausschalten die an sind. Leider scheiter am Trigger. Folgendes klapppt nicht:
function func_Sonos_Stop() { //var id_Sonos_Play_Schlafzimmer = "sonos.0.root.192_168_178_47.state"; //var id_Sonos_Play_Kueche = "sonos.0.root.192_168_178_48.state"; //var id_Sonos_Play_Wohnzimmer = "sonos.0.root.192_168_178_35.state"; if(getState("sonos.0.root.192_168_178_35.state").val != 'stop'){setState("sonos.0.root.192_168_178_35.state", 'stop');} //Wohnzimmer if(getState("sonos.0.root.192_168_178_47.state").val != 'stop'){setState("sonos.0.root.192_168_178_47.state", 'stop');} //Schlafzimmer if(getState("sonos.0.root.192_168_178_48.state").val != 'stop'){setState("sonos.0.root.192_168_178_48.state", 'stop');} //Küche // Schalter wieder auf aus schalten setState("Systemvariable.0.Alexa.Alle_Sonos_stoppen"/*Alle_Sonos_stoppen*/, false); } //bei Aufruf des Scriptes //func_Sonos_Stop(); //Änderung auf true on({id: "Systemvariable.0.Alexa.Alle_Sonos_stoppen"/*Alle_Sonos_stoppen*/, val: true, ack: true}, func_Sonos_Stop()); //on({id: "Systemvariable.0.Alexa.Alle_Sonos_stoppen"/*Alle_Sonos_stoppen*/, change:"any"}, func_Sonos_Stop());Verwender ich stattdessen das auskommentierte on erscheinen drei WARN im LOG State "undefined" not found. Was ich auch nicht so ganz verstehe. Führe ich das Script aus mit auskommentierten on-Trigger und stattdessen einfach so. Funktioniert das Script und ohne Fehler im Log…
Wichtig wäre halt das das Script nur reagiert wenn der Schalter auf true gestellt wird, da das Script im Anschluß die Variable wieder auf false stellt.
Aus der Doku werde ich diesmal leider nicht so richtig schlau...
-
on({id: "Systemvariable.0.Alexa.Alle_Sonos_stoppen"/*Alle_Sonos_stoppen*/, val: true, ack: true}, func_Sonos_Stop()); ```` `–>
on({id: "Systemvariable.0.Alexa.Alle_Sonos_stoppen"/*Alle_Sonos_stoppen*/, val: true, ack: true}, func_Sonos_Stop); -
das funktioniert leider nicht. Egal ob ich Alle_Sonos_stoppen über Alexa auf true setze oder direkt über den Reiter Objekte in der Admi passiert nichts
-
on({id: "Systemvariable.0.Alexa.Alle_Sonos_stoppen"/*Alle_Sonos_stoppen*/, val: true}, function (data) { if(getState("sonos.0.root.192_168_178_35.state").val != 'stop'){setState("sonos.0.root.192_168_178_35.state", 'stop');} //Wohnzimmer if(getState("sonos.0.root.192_168_178_47.state").val != 'stop'){setState("sonos.0.root.192_168_178_47.state", 'stop');} //Schlafzimmer if(getState("sonos.0.root.192_168_178_48.state").val != 'stop'){setState("sonos.0.root.192_168_178_48.state", 'stop');} //Küche // Schalter wieder auf aus schalten setState("Systemvariable.0.Alexa.Alle_Sonos_stoppen"/*Alle_Sonos_stoppen*/, false); });das funktioniert jetzt??
-
Egal ob ich Alle_Sonos_stoppen über Alexa auf true setze oder direkt über den Reiter Objekte in der Admi passiert nichts `
Da auf ack: true getestet wird, muss "bestätigt" auch durch Alexa bzw. im Reiter "Objekte" auf true gesetzt werden.Wenn es mit der anonymen Funktion klappt, sollte auch das funktionieren:
on({id: "Systemvariable.0.Alexa.Alle_Sonos_stoppen"/*Alle_Sonos_stoppen*/, val: true}, func_Sonos_Stop);
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden