Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Auslösen nur alle 15 min, wenn wahr

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Auslösen nur alle 15 min, wenn wahr

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

      Hi Gemeinde,

      ich habe ein Blockly welches die Erreichbarkeit meines Shellys, an dem einen Schmutzwasserpumpe hängt, überprüft.
      Jetzt war es heute morgen leider der Fall, dass diese (bzw. der Shelly) tatsächlich offline war und ausgelöst hat. Blöd dass es dann jede Minute den Voice Alarm gegeben hat.

      Kann man das irgendwie einstellen, so dass er Alarm (Shelly ist offline und Bedingung somit wahr) nur jede 15 min hochkommt?
      Bildschirmfoto 2024-02-05 um 09.41.14.png

      MartinP Asgothian 2 Replies Last reply Reply Quote 0
      • MartinP
        MartinP @Accu last edited by

        @accu Willst Du wirklich, dass der Alarm alle 15 Minuten wiederholt wird, oder möchtest Du, dass Einmalig beim Beginn der Nichterreichbarkeit Alarmiert wird,

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

          @accu der aus meiner Sicht einfachste weg:

          Umstellen des trigger auf „ist kleiner als vorher“

          Dann geht der trigger nur los wenn der Shelly von erreichbar auf unerreichbar wechselt.
          Darin erst ein anhalten Intervall, danach ein ausführen Intervall alle x Minuten
          Darin alle Aktionen.

          Gibt ein technisches Problem - das was im Intervall steht wird danach alle x min. Gemacht. Um sicher zu stellen das die erste Alarmierung sofort kommt müsste man den gesamten „alarmiere“ Block duplizieren und einmal im und einmal hinter dem Intervall andocken. Deswegen lege ich so etwas immer in einen „funktions“ Block aus, der dann einmal innerhalb und einmal außerhalb des Intervalls angedockt wird.

          1 Reply Last reply Reply Quote 0
          • A
            Accu @MartinP last edited by

            @martinp ich möchte dass er alle 15min losgeht solange die Bedingung noch erfüllt ist (also der Shelly seine WLAN verbindung verloren hat).
            Hintergrund: es ist davon auszugehen, dass man das nicht sofort beim erstenmal hört z.B. weil man kopfhörer aufhaut, oder im Haus irgendwo anders oder mal kurz rausgagangen ist.
            Die Meldung soll dann alle 15min kommen - sofern die Bedingung noch erfüllt ist. Wenn er die Verbindung wieder hat, dann nicht mehr.

            Habe es jetzt mal so gemacht. Keine Ahnung ob das den Sachverhalt abbildet:
            Bildschirmfoto 2024-02-05 um 14.38.12.png

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

              @accu sagte: Habe es jetzt mal so gemacht.

              Mache es so:

              Blockly_temp.JPG

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

                @paul53 Nur aus Neugierde. Was ist an meiner Lösung falsch?

                MartinP Asgothian 2 Replies Last reply Reply Quote 0
                • MartinP
                  MartinP @Accu last edited by MartinP

                  @accu Das "stop zyklische Ausführung" wird nicht ausgeführt

                  Der Trigger führt nur aus, was in seiner lila klammerung steht, das was unterhalb der lila Klammer steht nicht ...

                  "Wurde geändert" statt "ist wahr" führt dazu, dass das Skript sowohl bei wahr->falsch, als auch bei falsch->wahr ausgführt wird.
                  In der Klammer wird dann unterschieden:

                  In "wieder da" wird die zyklische Ausführung gestoppt
                  In "nicht da" wird sie gestartet ..

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

                    @accu sagte in Auslösen nur alle 15 min, wenn wahr:

                    @paul53 Nur aus Neugierde. Was ist an meiner Lösung falsch?

                    Richtig falsch waren 2 Dinge

                    • der trigger auf „ist wahr“
                    • das stop Intervall ganz außen.

                    Das mit dem Intervall ist (hoffentlich) hinreichend erklärt. Mit dem trigger halt nicht.

                    Der Trigger auf ‚ist unwahr‘ wird bei jeder Aktualisierung aktiv - sprich auch wenn z.bsp. Deine Erkennung „nur“ bestätigt das der Shelly weiter offline ist wird der trigger neu ausgelöst. Welcher Wert da vorher stand ist irrelevant.

                    Diese Art von Aktualisierungen finden generell gerne mal „zur Sicherheit“ statt, oder um einen Zeitstempel zu setzen.

                    Es gibt Fälle wo es Sinn machen kann das auszunutzen, aber die meisten states sind so aufgebaut das primär bei Änderung eine Aktion erfolgen muss - das ist bei Dir so.

                    A.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    862
                    Online

                    32.0k
                    Users

                    80.4k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    550
                    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