Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly nur einmal ausführen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Blockly nur einmal ausführen

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

      Hi,
      ich über wache ein geofence das sich natürlich ständig ändert.
      Jetzt möchte ich, dass mein Blockly, das in diesem Fall einen Alarm auslöst, nur einmal ausgeführt wird.

      Wie stelle ich das denn am besten an?

      womo.jpg

      O 1 Reply Last reply Reply Quote 0
      • O
        oFbEQnpoLKKl6mbY5e13 @totocotonio last edited by

        @totocotonio

        Indem man beim ersten Durchlauf eine Variable auf True setzt. Deinen Falls-Baustein ergänzt du durch einen weiteren Und-Baustein (Nicht Variable). Dann musst du nur noch entscheiden, durch was du die Variable wieder auf False setzt.

        totocotonio A 2 Replies Last reply Reply Quote 0
        • totocotonio
          totocotonio @oFbEQnpoLKKl6mbY5e13 last edited by

          @ofbeqnpolkkl6mby5e13
          Ja, das habe ich verstanden aber wie schalte ich sie wieder ein. Das muss ich dann von "Hand" machen?

          1 Reply Last reply Reply Quote 0
          • A
            Adnim last edited by

            @totocotonio
            schwierig zu sagen ohne zu wissen was du da genau machen möchtest und welche werte du denn im Iobroker hast-
            wann soll es denn wieder "scharf "geschaltet sein?
            gibt es eine Bedingung die du im Iobroker hast ; dann die variable wieder auf falsch setzen?

            1 Reply Last reply Reply Quote 0
            • A
              Andreas 9 @oFbEQnpoLKKl6mbY5e13 last edited by Andreas 9

              @ofbeqnpolkkl6mby5e13 said in Blockly nur einmal ausführen:

              Indem man beim ersten Durchlauf eine Variable auf True setzt. Deinen Falls-Baustein ergänzt du durch einen weiteren Und-Baustein (Nicht Variable). Dann musst du nur noch entscheiden, durch was du die Variable wieder auf False setzt.

              Ich habe das selbe Problem, deshalb hänge ich mich hier mal ran....
              Mein Blockly sieht so aus:
              blockly1.jpg

              Bei jedem Aufruf werden 4 http-Aufrufe abgesetzt (und kommen auch beim Server an...):

              2024-06-17 17:37:42.785 - info: javascript.0 (4379) script.js.common.Zisterne.füllstand: http://m...n.de/zisterne/data.php?hoehe=191&temperature_v=24.98&humidity_v=46.86&pressure_v=1008.56
              2024-06-17 17:37:42.918 - info: javascript.0 (4379) script.js.common.Zisterne.füllstand: http://m...n.de/zisterne/data.php?hoehe=191&temperature_v=24.98&humidity_v=46.86&pressure_v=1008.56
              2024-06-17 17:37:42.924 - info: javascript.0 (4379) script.js.common.Zisterne.füllstand: http://m...n.de/zisterne/data.php?hoehe=191&temperature_v=24.98&humidity_v=46.86&pressure_v=1008.56
              2024-06-17 17:37:42.924 - info: javascript.0 (4379) script.js.common.Zisterne.füllstand: http://m...n.de/zisterne/data.php?hoehe=191&temperature_v=24.98&humidity_v=46.86&pressure_v=1008.56
              

              Einer wäre doch genug!
              Ich habe die Variable "ausgelöst" eingeführt - die wird nach der 1. Ausführung auf 'true' gesetzt und sollte die mehrmalige Ausführung verhindern - Klappt aber so nicht.
              Es scheint mir, dass für jedes Objekt im "falls Objekte"-Teil eine Meldung ausgegeben wird. Ist das so?
              Was mach ich falsch?
              Vielen Dank für eure Mühe!!!

              MartinP paul53 2 Replies Last reply Reply Quote 0
              • MartinP
                MartinP @Andreas 9 last edited by MartinP

                @andreas-9 Ändern sich den immer alle vier Datenpunkte im Gleichtakt?

                "ausgelöst" wird ja VOR dem Ausführen der Falls Abfrage IMMER auf false gesetzt, KANN da gar nicht true sein...

                Da die vier Trigger anscheinend innerhalb eines Fensters von deutlich weniger, als 1 Sekunde kommen, könntest Du das Setzen auf "false" mit Verzögerung hinten anhängen ... hier zusammengeklöppelt nur die Logik

                2e7bfea3-2d1f-4961-beed-5aff094a0a1e-grafik.png

                SOFORT nach der "falls" Abfrage auf wahr setzen!

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

                  @andreas-9 sagte: Einer wäre doch genug!

                  Damit zeitlich zusammenhängende Werte gesendet werden, mache es besser so:

                  Blockly_temp.JPG

                  Alternativ kann man auch testen, welcher Datenpunkt im Abfragezyklus bzw. Telegramm zuletzt aktualisiert wird, und nur auf diesen Datenpunkt triggern.

                  EDIT: Test:

                  Blockly_temp.JPG

                  A 1 Reply Last reply Reply Quote 1
                  • A
                    Andreas 9 @paul53 last edited by

                    @paul53 said in Blockly nur einmal ausführen:

                    Damit zeitlich zusammenhängende Werte gesendet werden, mache es besser so:

                    Super! Das funktioniert. Vielen Dank!!! Die Variable "ausgelöst" hab ich gelöscht.
                    Eine Frage noch: Im HTTP (GET) Block gibt es auch ein Timeout. Wofür ist das gedacht?

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

                      @andreas-9 sagte: Im HTTP (GET) Block gibt es auch ein Timeout. Wofür ist das gedacht?

                      Das ist die Zeit, die maximal auf eine Antwort gewartet wird, bis mit einer Fehlermeldung abgebrochen wird.

                      A 1 Reply Last reply Reply Quote 1
                      • A
                        Andreas 9 @paul53 last edited by

                        @paul53 said in Blockly nur einmal ausführen:

                        Das ist die Zeit, die maximal auf eine Antwort gewartet wird, bis mit einer Fehlermeldung abgebrochen wird.

                        Vielen Dank!!!!

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        488
                        Online

                        31.6k
                        Users

                        79.6k
                        Topics

                        1.3m
                        Posts

                        6
                        10
                        752
                        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