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.
    • 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

                                        852
                                        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