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-Ersatz für BWM "Time No Motion"?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly-Ersatz für BWM "Time No Motion"?

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

      @dieter_p sagte: Funktioniert aber leider praktisch nicht:

      Nicht "Millisekunden", sondern "Datum-Objekt":

      Blockly_temp.JPG

      Unter welchen Bedingungen soll der DP "BWM_Flur" die Werte 0/1/2 annehmen?

      D 1 Reply Last reply Reply Quote 1
      • D
        Dieter_P @paul53 last edited by Dieter_P

        @paul53

        Danke. also so?

        4c19db07-58eb-46b0-84be-66b79771a6c6-image.png

        @paul53 said in Blockly-Ersatz für BWM "Time No Motion"?:

        Unter welchen Bedingungen soll der DP "BWM_Flur" die Werte 0/1/2 annehmen?

        Status 0 Letzte Bewegung vor weniger als 5 Minuten

        Status 1 Letzte Bewegung vor weniger als 10 Minuten

        Status 2 Letzte Bewegung > 10 Minuten

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

          @dieter_p sagte: also so?

          Ist "BWM_Flur" ein Adapter-Datenpunkt? Denn du verwendest steuere.
          Falls ja, dann besser so:

          Blockly_temp.JPG

          Du schreibst den DP alle 10 s, auch dann, wenn er sich nicht ändern soll.

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

            @paul53 said in Blockly-Ersatz für BWM "Time No Motion"?:

            Ist "BWM_Flur" ein Adapter-Datenpunkt? Denn du verwendest steuere.

            Nein, ist ein manuell angelegter Datenpunkt unter 0_Userdata

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

              @dieter_p sagte: manuell angelegter Datenpunkt unter 0_Userdata

              Dann verwende den Block "aktualisiere".

              Blockly_temp.JPG

              D 1 Reply Last reply Reply Quote 1
              • D
                Dieter_P @paul53 last edited by

                @paul53

                Danke Euch. Funktioniert 🙂

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

                  @dieter_p funktionieren tut es, aber was genau willst du erreichen ? Du hast da dauerhaft alle 10 Sekunden einen heartbeat der 90% der Zeit nichts macht.

                  Erklär doch mal was du genau haben willst, dann lässt sich das sicherlich einfacher und besser lösen.

                  A.

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    Dieter_P @Asgothian last edited by

                    @asgothian said in Blockly-Ersatz für BWM "Time No Motion"?:

                    Erklär doch mal was du genau haben willst, dann lässt sich das sicherlich einfacher und besser lösen.

                    Gerne, ich mag überhaupt keine Zeitschleifen und wenn das besser geht 👍

                    Dieser Fall ist einfach nur auf der VIS eine Darstellung um Rückschlüsse zu ziehen (manuell) wann wo was in welchem Raum los ist. Mag sein, dass ich auf diese Stati mal etwas weiteres definieren/automatisien möchte wie z.B. <5Min keiner im Raum -> Dreh die Lüftung hoch zB aber das ist aktuell nicht der Fall.

                    Mit "Time No Motion" hatte ich hier eine für mich einfach auswertbare Option.

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

                      @dieter_p sagte in Blockly-Ersatz für BWM "Time No Motion"?:

                      Gerne, ich mag überhaupt keine Zeitschleifen und wenn das besser geht

                      Besser und besser.

                      Diese Methode ist halt Ressurcenverschwendung, da du pro BWM einen Heartbeat hat, der letztendlich nur in verhaeltnismaessig seltenen Fällen wirklich was tut. Selbst wenn der BWM alle 20 Minuten auslöst werden nur bei ca. 0.16% der Heartbeats irgendwelche Aktionen durchführt. Das ist ineffektiv.

                      Wie du schon merkst bin ich absolut kein Freund von Heartbeats - insbesondere wenn man gleich mehrere davon laufen lässt. Insbesondere wenn du das obige Skript für (z.Bsp.) 5 BWM in Kopie einsetzt geht zu festen Zeiten die Systemlast hoch weil gleich 5x das gleiche ausgeführt wird, "gleichzeitig". (nicht wirklich gleichzeitig, aber zumindest fast)

                      Letztendlich ist der Wegfall des Time No Motion DP auf genau diesen Umstand zurück zu führen. Auch wenn ich den nicht aktiv beseitigt habe - nachdem der in den Zigbee-Herdsman-Converters wegen Ressourcenverschwendung entfallen ist habe ich mich aktiv dagegen entschieden diesen im Zigbee-Adapter wieder aufstehen zu lassen.

                      Auch wenn Du Zeitschleifen nicht magst ist das folgende Konstrukt deutlich besser, angehängt an den Trigger auf den BWM:
                      Screenshot 2025-08-13 at 15.23.00.png

                      Ja, das ist eine Zeitschleife, aber dafür wird die nur aktiv wenn der BWM wirklich ausloest.

                      A.

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

                        @asgothian sagte: ist das folgende Konstrukt deutlich besser

                        ... oder dieses Konstrukt:

                        Blockly_temp.JPG

                        D 1 Reply Last reply Reply Quote 2
                        • D
                          Dieter_P @paul53 last edited by Dieter_P

                          @paul53 @Asgothian

                          Danke Euch. Funktioniert und hab nun alle umgebaut.

                          Darf ich Euch mal etwas dazu fragen was mir noch nie klar war.

                          Solche Funktionen wie "Zyklus", timouts wie "timeout" und Variablen wie "CNT".

                          Sind die global im IOB gültig? D.H. ich kann von jedem Blockly darauf zugreifen und ändern? Oder gelten solche Dinge immer nur für das eine Blockly auf dem sie angewendet sind und alles was ich überfreifend nutzen möchte muß ich über einen angelegten Datenpunkt führen? Letzteres war meine bisherige Herangehensweise.

                          Danke!

                          paul53 Asgothian 2 Replies Last reply Reply Quote 0
                          • paul53
                            paul53 @Dieter_P last edited by paul53

                            @dieter_p sagte: Sind die global im IOB gültig?

                            Funktionen und Variablen sind nur innerhalb des Skripts gültig. Deshalb kann man in einem anderen Skript die gleichen Bezeichner wählen, ohne dass sie sich gegenseitig in die Quere kommen.
                            EDIT: 4 Variablenbezeichner sind global in ioBroker.

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

                              @dieter_p sagte in Blockly-Ersatz für BWM "Time No Motion"?:

                              etzteres war meine bisherige Herangehensweise.

                              Das ist die korrekte Herangehensweise.

                              A.

                              Nachtrag: Das soll nicht heissen dass es nicht auch anders geht - das sind aber meiner Meinung nach Sonderlösungen mit ihren eigenen Eigenheiten, Vorteilen und Nachteilen. Im Standard sollte es heissen: Skript-Intern: Variablen. Skript-übergreifend; Datenpunkte.

                              D 1 Reply Last reply Reply Quote 3
                              • D
                                Dieter_P @Asgothian last edited by

                                @asgothian said in Blockly-Ersatz für BWM "Time No Motion"?:

                                Skript-Intern: Variablen. Skript-übergreifend; Datenpunkte

                                Das hoffe selbst ich behalten zu können. Danke

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                821
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                4
                                18
                                198
                                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