Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [solved] Szenarien mit Variablen greifen nicht

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [solved] Szenarien mit Variablen greifen nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      zahnheinrich @maxpd last edited by

      @maxpd
      Generell fehlen in allen blocklys 'stop timeout'.
      Wenn du einen timeout setzt solltest du ihn auch immer stoppen.

      Einen Bewegungsmelder würde ich immer auf 'Aktualisierung' prüfen.

      M 1 Reply Last reply Reply Quote 0
      • M
        maxpd @zahnheinrich last edited by

        @zahnheinrich said in Szenarien mit Variablen greifen nicht:

        @maxpd
        Generell fehlen in allen blocklys 'stop timeout'.
        Wenn du einen timeout setzt solltest du ihn auch immer stoppen.

        Einen Bewegungsmelder würde ich immer auf 'Aktualisierung' prüfen.

        Ah cool. Danke. wusste ich nicht.
        Timeout stoppen benötigt man doch nur wenn er aufgrund eines Events doch nicht starten soll, oder?
        Warum ist Aktualisierung bei BWM besser?

        @Homoran said in Szenarien mit Variablen greifen nicht:

        @maxpd
        ich weiss nicht ob ich verstehe was du da vorhast.
        Aber im zweiten Beispiel werden die FALLS alle zum Zeitpunkt x geprüft.
        Wenn der Timeout im ersten FALLS abläuft und die Variable geändert wird, bekommt davon der zweite FALLS Block nichts mehr mit, weil er bereits 60 Minuten vorher getriggert wurde

        Also im 2. Beispiel:

        Wenn sich Garagentor ändert, dann
        falls Garagentor offen, schreibe nach 1 Stunde eine Nachricht und schreibe eine Variable.
        falls Garagentor zu und Variable geschrieben, schreibe nach 1 Minute eine Nachricht und ändere Variable zurück.

        Z 1 Reply Last reply Reply Quote 0
        • Z
          zahnheinrich @maxpd last edited by

          Ah cool. Danke. wusste ich nicht.
          Timeout stoppen benötigt man doch nur wenn er aufgrund eines Events doch nicht starten soll, oder?

          Schau mal in die Suche: "Stop timeout", da findest du viele weiterführende infos.

          Warum ist Aktualisierung bei BWM besser?

          Weil es meist besser funktioniert, einfach ausprobieren.

          Gruß Ulrich

          M 1 Reply Last reply Reply Quote 0
          • L
            lutzer last edited by

            Schau mal hier rein, da hatte ich das selbe Problem mit dem Tor.
            Auch wenn es anders beschrieben wurde: Mit dem Timeout verzögert man doch nur die Aktion und der Zustand kann ja in 60 min anders sein. Genau deswegen muss man das in 60 min noch mal prüfen.

            https://forum.iobroker.net/topic/27404/meldung-wenn-tor-10-minuten-offen-ist/13

            1 Reply Last reply Reply Quote 0
            • M
              maxpd @zahnheinrich last edited by

              @zahnheinrich said in Szenarien mit Variablen greifen nicht:

              Ah cool. Danke. wusste ich nicht.
              Timeout stoppen benötigt man doch nur wenn er aufgrund eines Events doch nicht starten soll, oder?

              Schau mal in die Suche: "Stop timeout", da findest du viele weiterführende infos.

              Warum ist Aktualisierung bei BWM besser?

              Weil es meist besser funktioniert, einfach ausprobieren.

              Gruß Ulrich

              Also irgendwie komme ich nicht dahinter.

              Den Timeout will ich ja gar nicht stoppen? Und zum Beispiel für den Fall nach 60 Minuten eine Nachricht zu schicken funktioniert er ja wunderbar.

              Auch Änderung oder Aktualisierung macht keinen Unterschied beim BWM. Der BWM löst auch zur gleichen Zeit ein anderes Event aus.

              @lutzer said in Szenarien mit Variablen greifen nicht:

              Schau mal hier rein, da hatte ich das selbe Problem mit dem Tor.
              Auch wenn es anders beschrieben wurde: Mit dem Timeout verzögert man doch nur die Aktion und der Zustand kann ja in 60 min anders sein. Genau deswegen muss man das in 60 min noch mal prüfen.

              https://forum.iobroker.net/topic/27404/meldung-wenn-tor-10-minuten-offen-ist/13

              Ich kann nach dem Timeout prüfen ob das Event/die Bedingung noch gültig ist. So ist es ja in der Nachricht nach 60 Minuten Timeout gebaut. Damit er mich nicht benachrichtigt, wenn das Tor in den 60 Minuten schon geschlossen wurde. Funktioniert.

              Im anschließenden Fall, mich zu benachrichtigen, wenn das Tor wieder zu ist, ist diese zusätzliche Prüfung obsolet, da wenn diese nicht mehr erfüllt wäre, ich auch keine Nachricht bekommen soll.

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

                Ich habe es nun mit Stop Timeout probiert. Die Garage meldet dennoch keine Info, dass das Tor geschlossen wurde.

                8db65999-3ee9-498c-af15-1c22280f8107-image.png

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

                  @maxpd Das Stop timeout for das ausführen timeout setzen
                  b349d3ba-7bf2-4f63-ad4f-c577599c63fd-grafik.png

                  M 1 Reply Last reply Reply Quote 1
                  • M
                    maxpd @FredF last edited by

                    @FredF danke dir. probiere ich aus. aber welcher logik entspringt das? Denn in diese schleife geht er ja nicht mehr, da das Tor zu ist. Also landet er im Sonst Fall. Dort soll er die Nachricht senden.

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

                      @maxpd sagte in Szenarien mit Variablen greifen nicht:

                      aber welcher logik entspringt das?

                      Damit noch laufende alte Timeouts gelöscht werden

                      1 Reply Last reply Reply Quote 1
                      • FredF
                        FredF Most Active Forum Testing @maxpd last edited by

                        @maxpd Genau wie @Homoran schrieb.
                        und nochwas: Die zweite Falls abfrage brauchst du nicht.
                        also so:
                        6d511700-74ea-401d-8552-07479f5daea9-grafik.png

                        1 Reply Last reply Reply Quote 1
                        • paul53
                          paul53 @maxpd last edited by

                          @maxpd sagte:

                          mit Stop Timeout probiert. Die Garage meldet dennoch keine Info, dass das Tor geschlossen wurde.

                          Zum Ende der Verzögerungszeit zu stoppen, macht keinen Sinn. Außerdem sollte nur ein Trigger verwendet werden und zwar der, dessen Wert geprüft wird.

                          Blockly_temp.JPG

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

                            Habe mal versucht alle eure Vorschläge einzubauen. Aber er will immernoch nicht Bescheid geben, wenn das Tor wieder zu ist:

                            b5820856-18e7-456c-9f34-c6d6efede19c-image.png

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

                              @maxpd sagte:

                              Habe mal versucht alle eure Vorschläge einzubauen.

                              Hast Du nicht ! Die Bedingung für stop timeout ist eine andere.

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

                                Du hast Recht! und ich schäme mich 😞
                                Nochmal angepasst. Aber auch damit gehts nicht.

                                7ffdd4af-e30d-4401-8829-358dc6a78744-image.png

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

                                  Ich habe mir jetzt nach jedem Step eine Nachricht senden lassen.

                                  Und bis zur roten Linie kommt das Script, aber obwohl beide Bedingungen für den letzten Step erfüllt sind. is open=falsch und variable = true, geht er in diese Schleife nicht rein.

                                  49a060dc-2c84-47c7-8b3d-d0f0391f44e5-image.png

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

                                    @maxpd sagte:

                                    Bedingungen für den letzten Step erfüllt sind. is open=falsch

                                    Sicher ? Bau mal als erstes eine Log-Ausgabe ein:

                                    Blockly_temp.JPG

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

                                      Jup:

                                      27299363-1466-4d44-a15f-da5eb7c85ccf-image.png

                                      c7dc8cd2-fed1-41ef-82af-f4bbd9861221-image.png

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

                                        Es gibt ja immer mehrere Wege zum Ziel, deswegen bin ich bislang auch immer gut ohne Stop Timeout und ähnliches durch gekommen.

                                        Blockly ist da ja sehr kulant.

                                        Aber das hier ist wirklich ein Rätsel. Die Debugausgabe deckt sich exakt mit den Vorgaben der Bedingung und dennoch geht er nicht in die Bedingung rein.

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

                                          Problem gelöst.

                                          Das Auslesen der Variable hat so auszusehen:

                                          da3b8f76-8c90-4272-b3ca-d8be4633b4ba-image.png

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          902
                                          Online

                                          32.0k
                                          Users

                                          80.4k
                                          Topics

                                          1.3m
                                          Posts

                                          6
                                          21
                                          1013
                                          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