Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Timeout Frage/Hilfe bei Blockly Script

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Timeout Frage/Hilfe bei Blockly Script

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

      Hallo zusammen,

      ich habe mir ein Script geschrieben das mir einen Alarm per Push schickt wenn eine meiner Shellys offline geht. Dies löst aber sofort aus, ab und an verlieren die mal das WLAN ganz kurz und ich bekomme wieder die Meldungen. Aktuelles Script hier

      7f8e162f-4f55-405c-b2b5-c4a1d0322c1d-image.png

      Ich weiß zwar wie ich mit "Ausführen nach x Sec" und Stop arbeite aber bis dato hab ich das immer nur in einer Verknüpfung mit "Falls Wert vom Objekt ist falsch und Falls Wert von Objekt ist falsch" usw. geschrieben. Siehe Screenshot eines Beispiels (hat nichts mit dem oben zu tun) hier:
      e9dc8987-2c30-49cc-95a3-39ca86754b67-image.png

      Muss ich hier bei den vielen Objekten wirklich mit dem arbeiten oder gibts eine andere Idee wie ich mein bestehendes Script ändere.

      Danke

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

        @mhuber sagte: Screenshot eines Beispiels

        Das funktioniert so nicht.

        Der folgende Vorschlag funktioniert nur, wenn innerhalb der 15 Sekunden kein weiterer Shelly Offline geht, denn eigentlich bräuchte jeder Shelly seinen eigenen Timeout.

        Blockly_temp.JPG

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

          @paul53 danke! D.h. wenn ich es für alle ohne die "15 Sec" Problematik will dann müsste ich für alle Shellys so ein Script machen? Na bum das wird viel...

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

            @mhuber sagte: "15 Sec" Problematik

            Die Problematik bedeutet nur, dass weitere Offline innerhalb der Verzögerung ignoriert werden.

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

              @paul53 ich weiß aber trotzdem danke, dachte man kann da vielleicht irgendwie was tricksen oder anders schreiben das trotzdem geht

              Asgothian 1 Reply Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @mhuber last edited by Asgothian

                @mhuber sagte in Timeout Frage/Hilfe bei Blockly Script:

                @paul53 ich weiß aber trotzdem danke, dachte man kann da vielleicht irgendwie was tricksen oder anders schreiben das trotzdem geht

                Kann man.

                Ist aber etwas komplexer:

                Teil 1:
                Screenshot 2024-07-22 at 13.31.04.png
                Teil 2:
                Screenshot 2024-07-22 at 13.31.10.png

                Das ganze basiert darauf das du eine Liste im Speicher hältst in der sich die Objekt ID's der Geräte befinden die offline sind (und für die noch keine Nachricht geschickt wurde). Wenn das 1. Gerät offline geht wird ein 15 s Timeout gestartet. Wenn der abläuft wird in der Liste der Offline-Geräte geschaut welche Geräte länger als 15 Sekunden offline sind - für die wird eine Nachricht gesendet - dann werden sie aus der Liste der Offline-Geräte entfernt. Zusätzlich wird geschaut welches Gerät am längsten offline ist (aber max. 15 Sekunden). Wenn es eines gibt wird der Timeout entsprechend neu gesetzt, so das er 15 Sekunden nach dem das Gerät online gegangen war aktiv wird. Ansonsten läuft der Timeout aus.

                Wenn die Liste der offline-Geräte irgendwann leer läuft wird der Timeout auch angehalten.

                A.
                Nachtrag: ggf. kann es notwendig sein im Teil 2 die Max. Zeit für die Benachrichtigung von 15000 ms auf 15500 zu erhöhen, da das System etwas Zeit braucht das ganze auszuführen. Testen konnte ich das nicht - ich hab das Problem aktuell nicht.

                M 1 Reply Last reply Reply Quote 0
                • M
                  mhuber @Asgothian last edited by

                  @asgothian na bum das ist ein ordentlich langes Script. Danke!!

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  489
                  Online

                  32.0k
                  Users

                  80.3k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  293
                  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