Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. (Gelöst) Delay/Wait zum Triggern einer Meldung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    (Gelöst) Delay/Wait zum Triggern einer Meldung

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

      Hallo erneut,

      habe mal wieder ein Problem mit der Logik somit auch mit Blockly.

      Folgende Situation:
      Ich möchte unser Garagentor überwachen. Derzeit läuft ein Skript, das jede Statusänderung per Telegram meldet. Das führt zu Tonnen von Meldungen pro Tag (Tor auf/zu/auf/zu....)
      Interessant ist allerdings nur der Fall, wenn das Garagentor im offenen Zustand vergessen wurde. Dh, wenn das Tor zB >5 Minuten offen steht. Erst dann soll eine Telegram Meldung raus [OFFEN], und auch nur dann eine Folge-Meldung, dass/wenn das Tor wieder [ZU] ist. Innerhalb der ersten 5 Minuten soll das Tor auf/zu fahren, wie es will, ohne Telegram Meldung!
      Alle meine Versuche mit Trigger (wurde geändert/aktualisiert/wahr/unwahr) mit Timeout (5min.) und aktualisiere/schalte System mit (Zeichenkette/Logikwert) schlugen fehl. Die Variable wechselte ihre Werte, aber nicht, wie ich wollte.

      Wie könnte ein Blockly Skript für die Verzögerung aussehen?
      Ist der Ansatz über eine -verzögert gesteuerte- Variable überhaupt sinnvoll?

      Und dabei ist die WENN--> DANN Verknüpfung (Garagentor > 5min AUF [telegram: OFFEN] dannach Garagentor ZU [telegram: ZU]) noch nicht einmal im Ansatz angedacht.
      Auch dafür wäre ich für eine Anregung dankbar.

      Vielen Dank schon einmal und ein schönes Wochenende,
      Martin

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

        @mjohn sagte:

        wenn das Tor zB >5 Minuten offen steht. Erst dann soll eine Telegram Meldung raus [OFFEN], und auch nur dann eine Folge-Meldung, dass/wenn das Tor wieder [ZU] ist.

        Vorschlag (Wert ist eine Eigenschaft des Triggerdatenpunktes):

        Blockly_Tor_5Min_offen.JPG

        1 Reply Last reply Reply Quote 0
        • M
          mjohn last edited by

          Hallo paul53,
          danke zunächst für die schnelle Antwort.

          Sind [setze 'Timeout'] und ['Timeout'] selbst definierte Variablen? Wenn JA, wie und wo definiere ich diese generell.
          Im Beitrag "Blockly variable Timeout Steuerung" wurde von ihnen eine ähnliche Option [xx'TimeoutMqttResp'] genutzt, wie wird diese generiert?
          Ich denke, mir fehlen sehr viele Basics. 😱 😨 😏 Aber ich arbeite dran...

          Ich habe das Problem vorläufig folgendermassen gelöst.
          Blockly.JPG
          Jedoch mit dem Nachteil, dass sowohl [AUF] als auch [ZU] mit 5 Min. Verzögerung in der Variable geschrieben, und damit per telegram gesendet werden. Aber ansonsten funktioniert es nach Stunden gem. trial&error Prinzip.

          Grüße und Danke,
          Martin

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

            @mjohn sagte:

            Sind [setze 'Timeout'] und ['Timeout'] selbst definierte Variablen?

            Nein, setze timeout ist ein Block unter Timeouts. timeout ist die der Funktion setze timeout per Voreinstellung zugewiesene Variable. Um auf diese außerhalb der Timeout-Blöcke zugreifen zu können, muss man erst eine beliebige Variable erstellen und kann anschließend die Variable timeout selektieren.

            1 Reply Last reply Reply Quote 0
            • M
              mjohn last edited by

              Jetzt habe ich das Ganze zusammengebracht. Weis zwar nicht genau, wie die Logik funktioniert, jedoch es sieht so aus ...Blockly 2.JPG

              Kleines Problem, der Code läuft nicht.
              18:14:49.566 error javascript.0 script.js.common.Garage_Telegram compile failed: at script.js.common.Garage_Telegram:25

              Blockly 2.1.JPG

              Das überfordert mich doch massiv. Bin aber lernwillig 😉

              Danke und schönen Abend.

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

                @mjohn falls nicht timeout muss in den sonst-Zweig von falls Wert. stop timeout muss unter die falls-Klammer, nicht innerhalb.

                Im Skript gibt es noch:
                setze timer auf 0
                stop (schedule)

                Die solltest Du löschen.

                1 Reply Last reply Reply Quote 0
                • M
                  mjohn last edited by

                  Vielen Dank für die Unterstützung.

                  Hat letzendlich geklappt. Grund war, einmal der fehlerhafte falls-sonst-Zweig und dann, dass ich noch 'left-over-Befehle' (nicht sichtbare Blockly Kommandos) auf dem screen hatte. Leider durch den Zoom verdeckt.

                  Funktioniert jetzt.
                  Vielen Dank erneut. 👍
                  Martin

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  956
                  Online

                  31.9k
                  Users

                  80.1k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  923
                  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