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.
    • D
      Dieter_P @haus-automatisierung last edited by Dieter_P

      @haus-automatisierung

      hatte ich auch vermutet/probiert. Und Nutze die DP-Werte 0/1/2 u.a. um auf der VIS mir das zu visualisieren.

      Funktioniert aber leider praktisch nicht:

      d924adf8-898b-434f-a1cb-421cb9da96ba-image.png

      Schaue ich mir manuell den Zeitstempel an, ist er älter als 5 Minuten:
      ee66c097-ef2e-428e-b948-aa9008ff4747-image.png

      Trotzdem wird durch das Blockly der Status schon fast 10 Sekündlich verändert:
      16c4886d-9b9e-4c19-8e8d-0ec867e86fb7-image.png

      haus-automatisierung paul53 2 Replies Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @Dieter_P last edited by haus-automatisierung

        @dieter_p 30000 ms ist ja auch größer als 10 Sekunden 🙂 Deine Bedingung mal genauer anschauen

        EDIT: Oder ich verstehe die Ansteuerung nicht (was ist 0, 1, 2?). Es könnte auch daran liegen, dass der Sonst-Fall ausgeführt wird obwohl die erste Bedingung zutrifft. Warum arbeitest Du mit zwei getrennten "falls"-Blöcken?

        Und: "Aktuelle Zeit als Millisekunden" gibt die den "Millisekunden-Teil" der aktuellen Zeit. Also das ist nie größer als 999

        1 Reply Last reply Reply Quote 1
        • 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

                                    819
                                    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