NEWS
Nachricht, nur wenn Shelly > als 2 Sekunden aktiviert ist.
-
Hallo, ich versuche mich erst seit ein paar Tagen mit Blockly.
Die Nachricht an telegram senden, wenn der Kontakt aktiviert ist, habe ich hinbekommen.
Mein Problem ist, dass bei kurzen Einschaltimpulsen auch immer eine Mitteilung erfolgt.
Mit timeout und pause habe ich es nicht geschafft.
Kann mir bitte jemand einen Lösungsansatz zeigen? -
Hallo, ich versuche mich erst seit ein paar Tagen mit Blockly.
Die Nachricht an telegram senden, wenn der Kontakt aktiviert ist, habe ich hinbekommen.
Mein Problem ist, dass bei kurzen Einschaltimpulsen auch immer eine Mitteilung erfolgt.
Mit timeout und pause habe ich es nicht geschafft.
Kann mir bitte jemand einen Lösungsansatz zeigen? -
-
-
@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;}})(); } });``` -
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"?@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 foundAnrufe über telegram und Test mit API auf callMeBot.com funktionieren. Ich habe schon stundenlang probiert und komme nicht weiter.
-
@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 foundAnrufe ü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.
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
