Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Telegram mehrfach Nachricht und Logikproblem

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Telegram mehrfach Nachricht und Logikproblem

Geplant Angeheftet Gesperrt Verschoben Blockly
6 Beiträge 3 Kommentatoren 408 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ? Offline
    ? Offline
    Ein ehemaliger Benutzer
    schrieb am zuletzt editiert von
    #1

    Hi,
    folgende Situation. Ich habe 2 Türkontakte. Einen am Türgitter und einem an der Wohnungstür. Wenn sich ein Zustand des Contactevents ändert prüfe ob beide Türen offen sind. Wenn das der Fall ist schick mir nach 10 Sekunden eine Nachricht. Funktioniert auch. Aber meisstens ist es der Fall das man erst die Wohnungstür und dann das Gitter öffnet. Gibt also 2 Nachrichten per Telegram. Hier ist mein Skript:

    654cff3c-6d49-4c73-91bb-9ed5dd9c061f-image.png

    Wenn ich jetzt eine Objekt ID oben ersetze durch
    3b6073d6-e305-43a8-8181-242073692a50-image.png
    bekomme ich gar kein debug. Er wird keine Veränderung des Zustands erkannt.

    Was mache ich falsch :) ?

    Danke im vorraus

    J 1 Antwort Letzte Antwort
    0
    • ? Ein ehemaliger Benutzer

      Hi,
      folgende Situation. Ich habe 2 Türkontakte. Einen am Türgitter und einem an der Wohnungstür. Wenn sich ein Zustand des Contactevents ändert prüfe ob beide Türen offen sind. Wenn das der Fall ist schick mir nach 10 Sekunden eine Nachricht. Funktioniert auch. Aber meisstens ist es der Fall das man erst die Wohnungstür und dann das Gitter öffnet. Gibt also 2 Nachrichten per Telegram. Hier ist mein Skript:

      654cff3c-6d49-4c73-91bb-9ed5dd9c061f-image.png

      Wenn ich jetzt eine Objekt ID oben ersetze durch
      3b6073d6-e305-43a8-8181-242073692a50-image.png
      bekomme ich gar kein debug. Er wird keine Veränderung des Zustands erkannt.

      Was mache ich falsch :) ?

      Danke im vorraus

      J Offline
      J Offline
      Jan1
      schrieb am zuletzt editiert von
      #2

      @bastian888
      Deine 2 Events haben den selben Namen, könnte schon mal ein Problem sein. Dann setzte mal ein stop timeout vor den Timeout.
      Deine Logik ist auch eher unlogisch. Du prüfst 2 mal auf nicht war und das Ergebnis UND. Ich würde zu erst UND und dann nicht wahr prüfen.

      1 Antwort Letzte Antwort
      0
      • ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von Ein ehemaliger Benutzer
        #3

        @Jan1 Vielen Dank für die schnelle Antwort.
        Was bringt mir der stop timeout davor ?
        Und wie überprüfe ich erst UND und dann beide nicht wahr ?

        Hier nochmal der JS Code

        var timeout;
        
        
        on({id: new RegExp('zigbee\\.0\\.00158d00032b7626\\.contact' + "|" + 'zigbee\\.0\\.00158d00031b3589\\.contact'), change: "ne"}, function (obj) {
            timeout = setTimeout(function () {
            if (getState("zigbee.0.00158d00031b3589.contact").val == false && getState("zigbee.0.00158d00032b7626.contact").val == false) {
              sendTo("telegram.1", "send", {
                  text: 'Türgitter ist offen'
              });
            }
          }, 10000);
        });
        
        J 1 Antwort Letzte Antwort
        0
        • ? Ein ehemaliger Benutzer

          @Jan1 Vielen Dank für die schnelle Antwort.
          Was bringt mir der stop timeout davor ?
          Und wie überprüfe ich erst UND und dann beide nicht wahr ?

          Hier nochmal der JS Code

          var timeout;
          
          
          on({id: new RegExp('zigbee\\.0\\.00158d00032b7626\\.contact' + "|" + 'zigbee\\.0\\.00158d00031b3589\\.contact'), change: "ne"}, function (obj) {
              timeout = setTimeout(function () {
              if (getState("zigbee.0.00158d00031b3589.contact").val == false && getState("zigbee.0.00158d00032b7626.contact").val == false) {
                sendTo("telegram.1", "send", {
                    text: 'Türgitter ist offen'
                });
              }
            }, 10000);
          });
          
          J Offline
          J Offline
          Jan1
          schrieb am zuletzt editiert von
          #4

          @bastian888
          Der stop timeout verhindert, dass der timeout mehrfach läuft und die UND Verknüpfung einfacher zuerst.
          Wobei das Problem wohl eher von den gleichen Namen verursacht wird. Ich denke Du bekommst wohl immer 2 Meldungen oder?

          1 Antwort Letzte Antwort
          0
          • ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #5

            @Jan1
            Ja immer zwei Nachrichten. Habe mal einen anderen State genommen und bekomme trotzdem zwei Meldungen.
            Denke der triggert halt weil die Türen mit ein paar Sekunden Unterschied geöffnet werden.

            paul53P 1 Antwort Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

              @Jan1
              Ja immer zwei Nachrichten. Habe mal einen anderen State genommen und bekomme trotzdem zwei Meldungen.
              Denke der triggert halt weil die Türen mit ein paar Sekunden Unterschied geöffnet werden.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @bastian888 sagte:

              Denke der triggert halt weil die Türen mit ein paar Sekunden Unterschied geöffnet werden.

              Ja, wenn innerhalb der 10 s Verzögerung der 2. Kontakt triggert, laufen 2 Timer. Das kann man durch ein stop timeout vor dem Ausführen timeout verhindern.

              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 Antwort Letzte Antwort
              0
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              601

              Online

              32.7k

              Benutzer

              82.4k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Home
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe