Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Verständnisfrage zu Blockly

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Verständnisfrage zu Blockly

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

      Hallo zusammen,

      ich hätte mal eine Frage zum Verständnis von der Blockly Programmierung.

      cc665ffd-f780-41b2-be77-ba9ae955ab24-image.png

      Mit diesem Blockly würde ich gerne zwei Events abfangen, dabei aber ausschliessen wenn oben bereits (erstes "Falls Objekt") eine Aktion erfolgt ist dass dann unten nochmal eine Aktion erfolgt wenn das zweite "Falls Objekt" auch zutreffen würden.

      Ist mit der Verknüpfung von dem ersten und dem zweiten Falls sichergestellt das immer beide Prüfungen nacheinander durchgeführt werden und vorher Änderung auf false gesetzt wird? Oder ist es denkbar das z.B. nur das unter "Falls Objekt" oder dieser Trigger ausgeführt wird wenn "Warning end" sich ändert?

      Danke schon mal für eure Hilfe dazu.

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

        @hotspot_2
        Was ist das Ziel?
        Die Variable Aenderung wird nirgends auf falsch zurück gesetzt und auch nicht wirklich ausgewertet.

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

          @paul53

          Ok, das verstehe ich jetzt nicht. Ich setze sie doch am Anfang auf "false" und dann frage ich sie im unteren "Falls Objekt"-Trigger ab?

          Sinn ist das ich auf Änderungen der einen Unwettermeldung aus dem DWD Adapter reagiere und zwar die Anfangs- oder die Endzeit. Ich versende in beiden Fällen eine Pushover Meldung. In Fällen wo sowohl die Anfangs- als auch die Endzeit verändert wird soll nur einmal das Pushover versendet werden. Das wäre der Zweck von diesen Skript. Und die Zeiten umwandeln in beiden Fällen.

          crunchip paul53 2 Replies Last reply Reply Quote 0
          • crunchip
            crunchip Forum Testing Most Active @hotspot_2 last edited by

            @hotspot_2 wie Paul schon schrieb, sie bezieht sich ja auf nichts, genauso gut kannst du es komplett weg lassen, hat den selben Effekt

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

              @hotspot_2 sagte: In Fällen wo sowohl die Anfangs- als auch die Endzeit verändert wird soll nur einmal das Pushover versendet werden.

              Also nur die erste Änderung der Zeit (am Tag?)?

              Bild_2022-05-23_153313731.png

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

                @paul53

                Ich bin gerade am tüfteln mit dem DWD Adapter. Ich rufe gerade immer 1 Meldung ab.

                In meinem momentane Verständnis läuft dieses Blockly Script von oben nach unten durch. Also erst wird die Variable gesetzt, dann wird geprüft ob sich die Beginn Zeit geändert hat und dann wird geprüft ob sich die Ende Zeit geändert hat. Mit meinem Ansatz momentan möchte ich verhindern das wenn sich sowohl die Beginn, also auch die Endzeit geändert hat zwei Pushover rausgehen. Es soll aber bei jeder Änderung immer eine Meldung rausgehen.

                Aber ich glaube mein Verständnis wie das mit den Triggern abläuft ist da nicht richtig. Daher habe ich ja nach dem Verständnis gefragt.

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

                  @hotspot_2 sagte: läuft dieses Blockly Script von oben nach unten durch.

                  Nein, die Trigger warten auf ein Ereignis (Wertänderung). Die Befehle innerhalb eines Trigger-Blocks werden bei Eintreten des Ereignisses nacheinander abgearbeitet.

                  @hotspot_2 sagte in Verständnisfrage zu Blockly:

                  verhindern das wenn sich sowohl die Beginn, also auch die Endzeit geändert hat zwei Pushover rausgehen.

                  Also, wenn sie sich fast gleichzeitig (innerhalb einer bestimmten Zeit) ändern? Dann muss man eine Sperre per Timeout realisieren.

                  Bild_2022-05-23_155515750.png

                  Anmerkung: Um auf die Timer-Variable timeout zugreifen zu können, muss man erst eine dummy-Variable erstellen.

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

                    @paul53

                    Wenn ich vor dem Trigger etwas ins Skript setze z.B. das Setzen eines Zeigers wann wird das dann aufgerufen? Variablen können dort aber nicht intiiert werden so das sie immer da (persistent) sind? Das geht dann nur über die User / Objekte, oder?

                    Und ob ich die Trigger dann verbinde oder völlig frei platziere spielt dann auch keine Rolle vermutlich, oder?

                    Homoran paul53 2 Replies Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @hotspot_2 last edited by

                      @hotspot_2 sagte in Verständnisfrage zu Blockly:

                      Wenn ich vor dem Trigger etwas ins Skript setze z.B. das Setzen eines Zeigers wann wird das dann aufgerufen?

                      nur beim Skriptstart

                      @hotspot_2 sagte in Verständnisfrage zu Blockly:

                      Variablen können dort aber nicht intiiert werden so das sie immer da (persistent) sind?

                      Doch

                      @hotspot_2 sagte in Verständnisfrage zu Blockly:

                      Und ob ich die Trigger dann verbinde oder völlig frei platziere spielt dann auch keine Rolle vermutlich, oder?

                      so ist es

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

                        @hotspot_2 sagte: Wenn ich vor dem Trigger etwas ins Skript setze z.B. das Setzen eines Zeigers wann wird das dann aufgerufen?

                        Nur bei Skriptstart.

                        @hotspot_2 sagte in Verständnisfrage zu Blockly:

                        Variablen können dort aber nicht intiiert werden

                        Variablen können initialisiert werden. Änderungen überleben allerdings keinen erneuten Skriptstart. Dafür benötigt man Datenpunkte.

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

                          @All Perfekt. Danke! Hat sehr zum Verständnis beigetragen. Ich mach mich jetzt mal ran an mein Skript und melde mich nochmal wenn nochmal was auftauchen sollte an Fragen.

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            hotspot_2 @hotspot_2 last edited by hotspot_2

                            @hotspot_2

                            Hab nochmal eine Frage zum Thema Variablen.

                            12b636ec-976c-45fe-bd5c-289061b78a1e-image.png

                            Das hier würde aber so funktionieren, oder?

                            Wenn ich jetzt für jedes Objekt aus der Überwachung einen Trigger setzte dann sollte das doch klappen, oder? Oder habe ich mit den Funktionen das Problem mit den Variablen auch?

                            Danke schon mal.

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

                              @hotspot_2 sagte: Wenn ich jetzt für jedes Objekt aus der Überwachung einen Trigger setzte dann sollte das doch klappen, oder?

                              Ja.

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              830
                              Online

                              32.0k
                              Users

                              80.5k
                              Topics

                              1.3m
                              Posts

                              4
                              13
                              386
                              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