Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Telegram Nachrichten doppelt

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    780

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Telegram Nachrichten doppelt

Scheduled Pinned Locked Moved Skripten / Logik
blockly
9 Posts 4 Posters 1.3k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    kluge86
    wrote on last edited by
    #1

    Hallo zusammen!

    Ich nutze den Telegram-Adapter um zum einen Zustände wie Temperaturen, etc. abzufragen, das klappt super. Zum anderen läuft auch ein Skript, welches reagiert sobald die Haustür geöffnet wird (Aqara Tür-Fenster-Kontakt über Zigbee-Adapter - CC2531 Stick am Pi) und noch ein Fenster (ebenfalls Aqara TFK) offen ist. Als Reaktion habe ich im Skript die Ausgabe einer Nachricht über den Telegram-Adapter erstellt.

    Jetzt mein Problem, ich bekomme die Push-Nachrichten in Telegram immer doppelt im selben Moment. Trotz nachträglich eingebautem time out, kommen die Nachrichten weiterhin doppelt an.

    Skript mit blockly erstellt:

    /* -- do not edit following lines - START --
    {
      "expert": true,
      "engineType": "Blockly",
      "debug": false,
      "verbose": false
    }
    -- do not edit previous lines - END --*/
    var timeout;
    
    
    on({id: 'zigbee.0.00158d00025811ae.opened', change: "ne"}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
      if (getState("zigbee.0.00158d0002580ef4.opened").val == true || getState("zigbee.0.00158d00025811cc.opened").val == true || getState("zigbee.0.00158d0002e6b5d2.opened").val == true) {
        sendTo("telegram", "send", {
            text: (['ACHTUNG!','\n','Fenster oben offen!'].join(''))
        });
      }
      timeout = setTimeout(function () {
      }, 60000);
    });
    

    Ihr habt doch sicher eine Idee woran es liegt, bzw. wie ich es abstellen kann?

    Lieben Dank vorab!

    thewhoboxT paul53P T 3 Replies Last reply
    0
    • K kluge86

      Hallo zusammen!

      Ich nutze den Telegram-Adapter um zum einen Zustände wie Temperaturen, etc. abzufragen, das klappt super. Zum anderen läuft auch ein Skript, welches reagiert sobald die Haustür geöffnet wird (Aqara Tür-Fenster-Kontakt über Zigbee-Adapter - CC2531 Stick am Pi) und noch ein Fenster (ebenfalls Aqara TFK) offen ist. Als Reaktion habe ich im Skript die Ausgabe einer Nachricht über den Telegram-Adapter erstellt.

      Jetzt mein Problem, ich bekomme die Push-Nachrichten in Telegram immer doppelt im selben Moment. Trotz nachträglich eingebautem time out, kommen die Nachrichten weiterhin doppelt an.

      Skript mit blockly erstellt:

      /* -- do not edit following lines - START --
      {
        "expert": true,
        "engineType": "Blockly",
        "debug": false,
        "verbose": false
      }
      -- do not edit previous lines - END --*/
      var timeout;
      
      
      on({id: 'zigbee.0.00158d00025811ae.opened', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
        if (getState("zigbee.0.00158d0002580ef4.opened").val == true || getState("zigbee.0.00158d00025811cc.opened").val == true || getState("zigbee.0.00158d0002e6b5d2.opened").val == true) {
          sendTo("telegram", "send", {
              text: (['ACHTUNG!','\n','Fenster oben offen!'].join(''))
          });
        }
        timeout = setTimeout(function () {
        }, 60000);
      });
      

      Ihr habt doch sicher eine Idee woran es liegt, bzw. wie ich es abstellen kann?

      Lieben Dank vorab!

      thewhoboxT Offline
      thewhoboxT Offline
      thewhobox
      wrote on last edited by thewhobox
      #2

      @kluge86 Dein Timeout ist eine leere Funktion und bringt rein gar nichts...
      Das löschen vom Timeout geht wesentlich leichter.

      var timeout;
      
      on({id: 'zigbee.0.00158d00025811ae.opened', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        log("Neuer Wert: " + value);
        clearTimeout(timeout);
      
        timeout = setTimeout(() => {
          if (getState("zigbee.0.00158d0002580ef4.opened").val == true || getState("zigbee.0.00158d00025811cc.opened").val == true || getState("zigbee.0.00158d0002e6b5d2.opened").val == true) {
            sendTo("telegram", "send", {
              text: 'ACHTUNG!\nFenster oben offen!'
            });
          }
        }, 6000);
      });
      

      Kann es vll sein, dass der State "opened" kurz auf true gestellt wird und sofort wieder auf false?
      Ich hab mal ein debug eingebaut, der den Wert ausgibt.

      Meine Adapter: emby | discovery
      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      1 Reply Last reply
      0
      • K Offline
        K Offline
        kluge86
        wrote on last edited by
        #3

        Ich probiere es nachher aus. Mal gucken was im log zu sehen ist.

        Die Time-Out-Funktion war so gedacht, dass innerhalb z.B. einer Minute nicht das Öffnen und Schließen der Tür das Skript triggert. Also quasi als Block für Leerlaufzeit. Habe ich dabei einen Denkfehler?

        paul53P 1 Reply Last reply
        0
        • K kluge86

          Ich probiere es nachher aus. Mal gucken was im log zu sehen ist.

          Die Time-Out-Funktion war so gedacht, dass innerhalb z.B. einer Minute nicht das Öffnen und Schließen der Tür das Skript triggert. Also quasi als Block für Leerlaufzeit. Habe ich dabei einen Denkfehler?

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #4

          @kluge86 sagte:

          als Block für Leerlaufzeit. Habe ich dabei einen Denkfehler?

          Dann muss auch die Variable timeout abgefragt werden

          falls nicht timeout
          

          und nach Ablauf der Zeit in der Timer-Callback-Funktion zurück gesetzt werden

          setze timeout auf null
          

          Etwa so
          Blockly_temp.JPG

          Übrigens: Da die Haustür selbst nicht abgefragt wird, wird sowohl beim Öffnen als auch beim Schließen der Haustür gesendet.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • K kluge86

            Hallo zusammen!

            Ich nutze den Telegram-Adapter um zum einen Zustände wie Temperaturen, etc. abzufragen, das klappt super. Zum anderen läuft auch ein Skript, welches reagiert sobald die Haustür geöffnet wird (Aqara Tür-Fenster-Kontakt über Zigbee-Adapter - CC2531 Stick am Pi) und noch ein Fenster (ebenfalls Aqara TFK) offen ist. Als Reaktion habe ich im Skript die Ausgabe einer Nachricht über den Telegram-Adapter erstellt.

            Jetzt mein Problem, ich bekomme die Push-Nachrichten in Telegram immer doppelt im selben Moment. Trotz nachträglich eingebautem time out, kommen die Nachrichten weiterhin doppelt an.

            Skript mit blockly erstellt:

            /* -- do not edit following lines - START --
            {
              "expert": true,
              "engineType": "Blockly",
              "debug": false,
              "verbose": false
            }
            -- do not edit previous lines - END --*/
            var timeout;
            
            
            on({id: 'zigbee.0.00158d00025811ae.opened', change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
              if (getState("zigbee.0.00158d0002580ef4.opened").val == true || getState("zigbee.0.00158d00025811cc.opened").val == true || getState("zigbee.0.00158d0002e6b5d2.opened").val == true) {
                sendTo("telegram", "send", {
                    text: (['ACHTUNG!','\n','Fenster oben offen!'].join(''))
                });
              }
              timeout = setTimeout(function () {
              }, 60000);
            });
            

            Ihr habt doch sicher eine Idee woran es liegt, bzw. wie ich es abstellen kann?

            Lieben Dank vorab!

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by paul53
            #5

            @kluge86 :
            So sollte es auch ohne doppeltes Senden funktionieren:

            on({id: 'zigbee.0.00158d00025811ae.opened', change: "ne", val: true}, function () {
              if (getState("zigbee.0.00158d0002580ef4.opened").val || getState("zigbee.0.00158d00025811cc.opened").val || getState("zigbee.0.00158d0002e6b5d2.opened").val) {
                sendTo("telegram", "send", {
                    text: 'ACHTUNG!\nFenster oben offen!'
                });
              }
            });
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            K 2 Replies Last reply
            0
            • paul53P paul53

              @kluge86 :
              So sollte es auch ohne doppeltes Senden funktionieren:

              on({id: 'zigbee.0.00158d00025811ae.opened', change: "ne", val: true}, function () {
                if (getState("zigbee.0.00158d0002580ef4.opened").val || getState("zigbee.0.00158d00025811cc.opened").val || getState("zigbee.0.00158d0002e6b5d2.opened").val) {
                  sendTo("telegram", "send", {
                      text: 'ACHTUNG!\nFenster oben offen!'
                  });
                }
              });
              
              K Offline
              K Offline
              kluge86
              wrote on last edited by
              #6

              @paul53 Danke!

              Ich probiere eure Vorschläge gerne nachher aus :)

              @paul53 said in Telegram Nachrichten doppelt:

              Übrigens: Da die Haustür selbst nicht abgefragt wird, wird sowohl beim Öffnen als auch beim Schließen der Haustür gesendet.

              Mein Problem ist nicht, dass beim zeitversetzen Schließen eine erneute Nachricht käme, diese kommt aktuell erst wenn der Zustand sich nach größer einer Minute wieder verändert. Die doppelte Nachricht kommt sofort, es kommt quasi zwei mal die gleiche im selben Moment.

              1 Reply Last reply
              0
              • K kluge86

                Hallo zusammen!

                Ich nutze den Telegram-Adapter um zum einen Zustände wie Temperaturen, etc. abzufragen, das klappt super. Zum anderen läuft auch ein Skript, welches reagiert sobald die Haustür geöffnet wird (Aqara Tür-Fenster-Kontakt über Zigbee-Adapter - CC2531 Stick am Pi) und noch ein Fenster (ebenfalls Aqara TFK) offen ist. Als Reaktion habe ich im Skript die Ausgabe einer Nachricht über den Telegram-Adapter erstellt.

                Jetzt mein Problem, ich bekomme die Push-Nachrichten in Telegram immer doppelt im selben Moment. Trotz nachträglich eingebautem time out, kommen die Nachrichten weiterhin doppelt an.

                Skript mit blockly erstellt:

                /* -- do not edit following lines - START --
                {
                  "expert": true,
                  "engineType": "Blockly",
                  "debug": false,
                  "verbose": false
                }
                -- do not edit previous lines - END --*/
                var timeout;
                
                
                on({id: 'zigbee.0.00158d00025811ae.opened', change: "ne"}, function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                  if (getState("zigbee.0.00158d0002580ef4.opened").val == true || getState("zigbee.0.00158d00025811cc.opened").val == true || getState("zigbee.0.00158d0002e6b5d2.opened").val == true) {
                    sendTo("telegram", "send", {
                        text: (['ACHTUNG!','\n','Fenster oben offen!'].join(''))
                    });
                  }
                  timeout = setTimeout(function () {
                  }, 60000);
                });
                

                Ihr habt doch sicher eine Idee woran es liegt, bzw. wie ich es abstellen kann?

                Lieben Dank vorab!

                T Offline
                T Offline
                tempestas
                wrote on last edited by
                #7

                @kluge86

                Ich meine, das hätte was mit ack = true zu tun.
                Das Thema gibt es hier schonmal, da wurde das imho als Lösung genannt.

                <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                1 Reply Last reply
                0
                • paul53P paul53

                  @kluge86 :
                  So sollte es auch ohne doppeltes Senden funktionieren:

                  on({id: 'zigbee.0.00158d00025811ae.opened', change: "ne", val: true}, function () {
                    if (getState("zigbee.0.00158d0002580ef4.opened").val || getState("zigbee.0.00158d00025811cc.opened").val || getState("zigbee.0.00158d0002e6b5d2.opened").val) {
                      sendTo("telegram", "send", {
                          text: 'ACHTUNG!\nFenster oben offen!'
                      });
                    }
                  });
                  
                  K Offline
                  K Offline
                  kluge86
                  wrote on last edited by
                  #8

                  @paul53 said in Telegram Nachrichten doppelt:

                  @kluge86 :
                  So sollte es auch ohne doppeltes Senden funktionieren:

                  on({id: 'zigbee.0.00158d00025811ae.opened', change: "ne", val: true}, function () {
                    if (getState("zigbee.0.00158d0002580ef4.opened").val || getState("zigbee.0.00158d00025811cc.opened").val || getState("zigbee.0.00158d0002e6b5d2.opened").val) {
                      sendTo("telegram", "send", {
                          text: 'ACHTUNG!\nFenster oben offen!'
                      });
                    }
                  });
                  

                  Funktioniert super, vielen Dank!

                  paul53P 1 Reply Last reply
                  0
                  • K kluge86

                    @paul53 said in Telegram Nachrichten doppelt:

                    @kluge86 :
                    So sollte es auch ohne doppeltes Senden funktionieren:

                    on({id: 'zigbee.0.00158d00025811ae.opened', change: "ne", val: true}, function () {
                      if (getState("zigbee.0.00158d0002580ef4.opened").val || getState("zigbee.0.00158d00025811cc.opened").val || getState("zigbee.0.00158d0002e6b5d2.opened").val) {
                        sendTo("telegram", "send", {
                            text: 'ACHTUNG!\nFenster oben offen!'
                        });
                      }
                    });
                    

                    Funktioniert super, vielen Dank!

                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #9

                    @kluge86 sagte:

                    Funktioniert

                    Dann markiere bitte das Thema in der Überschrift als [gelöst].

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Reply Last reply
                    0

                    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                    With your input, this post could be even better 💗

                    Register Login
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    458

                    Online

                    32.8k

                    Users

                    82.7k

                    Topics

                    1.3m

                    Posts
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Home
                    • Recent
                    • Tags
                    • Unread 0
                    • Categories
                    • Unreplied
                    • Popular
                    • GitHub
                    • Docu
                    • Hilfe