Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Nachricht, nur wenn Shelly > als 2 Sekunden aktiviert ist.

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Nachricht, nur wenn Shelly > als 2 Sekunden aktiviert ist.

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hardl last edited by

      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 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @hardl last edited by paul53

        @hardl sagte: Mit timeout und pause habe ich es nicht geschafft.

        Bild_2021-06-17_195240.png

        Wert findet man unter "Trigger".

        H 2 Replies Last reply Reply Quote 0
        • H
          hardl @paul53 last edited by

          @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.

          1 Reply Last reply Reply Quote 0
          • H
            hardl @paul53 last edited by

            @paul53 Wieso bekomme ich nach Ausführung eine Warnung: (29707) script.js.telegram.Kanal: clearTimeout() => not foundBildschirmfoto 2021-06-23 um 13.36.51.png

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @hardl last edited by

              @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.

              H 1 Reply Last reply Reply Quote 0
              • H
                hardl @paul53 last edited by

                @paul53

                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;}})();
                  }
                });```
                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @hardl last edited by paul53

                  @hardl
                  Das ist in Ordnung, sollte also nicht die Warnung erzeugen.
                  Es handelt sich um das Skript "Kanal" unter der Gruppe "telegram"?

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    hardl last edited by

                    @hardl ja

                    1 Reply Last reply Reply Quote 0
                    • H
                      hardl @paul53 last edited by

                      @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.

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @hardl last edited by

                        @hardl sagte: nur klappt das mit den Anrufen über telegram nicht mehr:

                        Mit telegram kenne ich mich nicht aus.

                        H 1 Reply Last reply Reply Quote 0
                        • H
                          hardl @paul53 last edited by

                          @paul53 Ok danke, vielleicht kann ja jemand anderes helfen.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          757
                          Online

                          32.0k
                          Users

                          80.5k
                          Topics

                          1.3m
                          Posts

                          2
                          11
                          449
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo