NEWS
Sprachansage über Alexa
-
Hallo
Ich habe ein Script wenn ich im Bad das Licht schalte das sich mit 2 Minuten Verzögerung der Lüfter anschaltet und Alexa sagt dann z.B. Lüfter angeschaltet.
Wenn ich das Licht ausschalte, läuft der Lüfter noch 2 Min. nach. Das funktioniert auch bis auf das mit Alexa. Wenn ich z.B. das Licht nach 1 Minute wieder ausschalte, kommt eine Minute später die Ansage Lüfter angeschaltet obwohl er gar nicht angeschaltet wird und das ja auch nicht soll. Sie sagt es halt nur. Wie kann man das einstellen im Skript, das wenn das Licht wieder ausgeht auch der Timer für diese 2 Min. abgebrochen werden um den Lüfter
zu schalten
Danke schon mal
-
@biker1602
Verwende timeout.Wert findet man unter "Trigger".
-
@paul53 Ich habe, das so versucht aber haut, leider nicht hin.
Jemand noch eine Idee? -
@biker1602 Was haut nicht hin? Das Skript von @paul53 ist so jedenfalls okay.
-
@Dr-Bakterius die Sprache über Alexa geht gar nicht.
-
@Dr-Bakterius Ich wollte es heute früh nochmal versuchen aber da hatte ich unter Timeouts nur noch diese Auswahlmöglichkeiten
-
@biker1602 Ja passt doch! Den Namen 'timeout' kannst du ändern und die Zeit anpassen (auch die 'ms' auf Sekunden oder Minuten umstellen). Also wo ist das Problem? Und verwende in deinem Fall NICHT die zyklische Ausführung - also das Intervall!
-
@Dr-Bakterius ich habe es so gemacht da passiert gar nichts der Lüfter geht nicht an und die Sprachausgabe funktioniert auch nicht.
-
@biker1602 Baue vielleicht einmal ein paar Debug-Bausteine ein um zu sehen bis wohin das Skript funktioniert und wo es hängt.
-
@biker1602
Da fehlt auch der Alexa DP der das ausgeben soll, da der mit 100% Sicherheit nicht "Ojekt ID" heißt -
@Jan1 ja das stimmt habe ich geändert aber er schaltet den Lüfter ja nach 2 Minuten auch nicht an
-
@biker1602 sagte:
er schaltet den Lüfter ja nach 2 Minuten auch nicht an
Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
-
var Wert, offdelay, ondelay; on({id: 'shelly.0.SHSW-25#688734#1.Relay1.Switch', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (Wert) { (function () {if (offdelay) {clearTimeout(offdelay); offdelay = null;}})(); ondelay = setTimeout(function () { setState("alexa2.0.Echo-Devices.G0014D0594620XP9.Commands.speak"/*speak*/, 'Lüfter an'); setStateDelayed("shelly.0.SHSW-25#688734#1.Relay0.Switch"/*Switch*/, true, 5000, false); }, 115000); } else { (function () {if (ondelay) {clearTimeout(ondelay); ondelay = null;}})(); offdelay = setTimeout(function () { setState("shelly.0.SHSW-25#688734#1.Relay0.Switch"/*Switch*/, false); }, 120000); } });
-
@biker1602
Wert darf keine selbst erstellte Variable sein, sondern Wert findet man unter "Trigger". -
@paul53 Danke Super das war der Fehler