NEWS
Nachricht, nur wenn Shelly > als 2 Sekunden aktiviert ist.
-
-
@paul53 Vielen Dank für die schnelle Hilfe,
Das funktioniert genau wie ich wollte. Meine Versuche sahen ähnlich aus, aber das mit
sonst: stop timeout fehlte bei mir. -
@paul53 Wieso bekomme ich nach Ausführung eine Warnung: (29707) script.js.telegram.Kanal: clearTimeout() => not found
-
@hardl sagte: Wieso bekomme ich nach Ausführung eine Warnung: (29707) script.js.telegram.Kanal: clearTimeout() => not found
Keine Ahnung. Poste mal den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
-
var timeout; on({id: 'shelly.0.SHSW-1#E098068D0BFA#1.Relay0.Switch', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "")) { timeout = setTimeout(async function () { setState("shelly.0.SHSW-1#E098068D0A33#1.Relay0.Switch"/*Switch*/, true); setState("alexa2.0.Echo-Devices.G000WV0484231KF4.Commands.speak-volume"/*Volume to use for speak commands*/, 50); setState("alexa2.0.Echo-Devices.G000WV0484231KF4.Commands.speak"/*speak*/, ('Achtung, bitte Kanal prüfen')); sendTo("telegram.0", "send", { text: 'Achtung Kanal-Pumpe läuft' }); sendTo("telegram.0", "call", { text: 'Achtung, bitte Pumpe vom Kanal prüfen', user: '@XX', lang: "", repeats: "1" }); setStateDelayed("shelly.0.SHSW-1#E098068D0A33#1.Relay0.Switch"/*Switch*/, false, 5000, false); }, 5000); } else { (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); } });```
-
@hardl
Das ist in Ordnung, sollte also nicht die Warnung erzeugen.
Es handelt sich um das Skript "Kanal" unter der Gruppe "telegram"? -
@hardl ja
-
@paul53 Ich bräuchte bitte nochmals Hilfe: Das Skript funktioniert prima, nur klappt das mit den Anrufen über telegram nicht mehr:
var timeout; on({id: 'shelly.0.SHSW-1#E098068D0BFA#1.Relay0.Switch', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "")) { timeout = setTimeout(async function () { setState("shelly.0.SHSW-1#E098068D0A33#1.Relay0.Switch"/*Switch*/, true); setState("alexa2.0.Echo-Devices.G000WV0484231KF4.Commands.speak-volume"/*Volume to use for speak commands*/, 20); setState("alexa2.0.Echo-Devices.G000WV0484231KF4.Commands.speak"/*speak*/, ('Achtung, bitte Kanal prüfen')); sendTo("telegram.0", "send", { text: 'Achtung Kanal-Pumpe läuft' }); sendTo("telegram.0", "call", { text: 'Achtung,bitte Pumpe vom Kanal pruefen', user: '@muellerreinhard', lang: "de-DE-Standard-B", repeats: "1" }); setStateDelayed("shelly.0.SHSW-1#E098068D0A33#1.Relay0.Switch"/*Switch*/, false, 5000, true); }, 5000); } else { (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); } });
18.8.2021, 16:13:30.157 [info ]: javascript.0 (165) Start javascript script.js.telegram.Kanal 18.8.2021, 16:13:30.175 [info ]: javascript.0 (165) script.js.telegram.Kanal: subscribe: {"pattern":{"id":"shelly.0.SHSW-1#E098068D0BFA#1.Relay0.Switch","change":"ne","q":0},"name":"script.js.telegram.Kanal"} 18.8.2021, 16:13:30.176 [info ]: javascript.0 (165) script.js.telegram.Kanal: registered 1 subscription and 0 schedules 18.8.2021, 16:13:53.188 [info ]: javascript.0 (165) script.js.telegram.Kanal: setTimeout(ms=5000) 18.8.2021, 16:13:58.190 [info ]: javascript.0 (165) script.js.telegram.Kanal: setForeignState(id=shelly.0.SHSW-1#E098068D0A33#1.Relay0.Switch, state={"val":true,"ack":false,"c":"script.js.telegram.Kanal"}) 18.8.2021, 16:13:58.190 [info ]: javascript.0 (165) script.js.telegram.Kanal: setForeignState(id=alexa2.0.Echo-Devices.G000WV0484231KF4.Commands.speak-volume, state={"val":20,"ack":false,"c":"script.js.telegram.Kanal"}) 18.8.2021, 16:13:58.191 [info ]: javascript.0 (165) script.js.telegram.Kanal: setForeignState(id=alexa2.0.Echo-Devices.G000WV0484231KF4.Commands.speak, state={"val":"Achtung, bitte Kanal prüfen","ack":false,"c":"script.js.telegram.Kanal"}) 18.8.2021, 16:13:58.191 [info ]: javascript.0 (165) script.js.telegram.Kanal: sendTo(adapter=telegram.0, cmd=send, msg={"text":"Achtung Kanal-Pumpe läuft"}) 18.8.2021, 16:13:58.195 [info ]: javascript.0 (165) script.js.telegram.Kanal: sendTo(adapter=telegram.0, cmd=call, msg={"text":"Achtung,bitte Pumpe vom Kanal pruefen","user":"@muellerreinhard","lang":"de-DE-Standard-B","repeats":"1"}) 18.8.2021, 16:13:58.203 [info ]: javascript.0 (165) script.js.telegram.Kanal: setStateDelayed(id=shelly.0.SHSW-1#E098068D0A33#1.Relay0.Switch, state=false, isAck=false, delay=5000, clearRunning=true) 18.8.2021, 16:13:58.204 [info ]: javascript.0 (165) script.js.telegram.Kanal: setStateDelayed: no running timers 18.8.2021, 16:14:03.205 [info ]: javascript.0 (165) script.js.telegram.Kanal: setForeignState(id=shelly.0.SHSW-1#E098068D0A33#1.Relay0.Switch, state={"val":false,"ack":false,"c":"script.js.telegram.Kanal"}) 18.8.2021, 16:14:03.222 [warn ]: javascript.0 (165) script.js.telegram.Kanal: clearTimeout() => not found
Anrufe über telegram und Test mit API auf callMeBot.com funktionieren. Ich habe schon stundenlang probiert und komme nicht weiter.
-
@hardl sagte: nur klappt das mit den Anrufen über telegram nicht mehr:
Mit telegram kenne ich mich nicht aus.
-
@paul53 Ok danke, vielleicht kann ja jemand anderes helfen.