Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Blockly - Rollladen auf oder zu?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Blockly - Rollladen auf oder zu?

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

      Ich bräuchte mal einen Denkanstoß bei einer eigentlich einfachen Sache. Unser Rollladen wird von einem Shelly (+2PM) gesteuert. Wenn der Rollladen zu ist, steht der Datenpunkt "Position" auf 0, bei offen auf 100%.
      Wenn mal den Rollladen nun von 100 auf 0 - oder umgekehrt steuert, dann schaltet er nicht direkt vom Wert 0 auf den Wert 100, sondern er springt noch mindestens einmal zurück. An dem ersten Screenshot sieht man das deutlich. Ich wollte nun einen Datenpunkt anlegen, der mir mit true bzw. false anzeigt ob der Rollladen ganz offen oder ganz zu ist. Um die Wechsel der Werte abzufangen habe ich einen Timeout angelegt. Ich will - wenn der Positionswert für 3 Sekunden "stabil" bleibt den Datenpunkt setzen. Dazu verwende ich folgendes Blockly:

      f3df2975-b738-49a7-82dc-d22abfa08a1e-image.png

      Hier das Log vom Shelly:

      17305d3d-df9d-4e47-8e9c-ccb426cc6c47-image.png

      Ich verstehe nicht wieso die Timeouts nicht abgebrochen werden wenn die Bedingung sich ändert.

      MartinP 1 Reply Last reply Reply Quote 0
      • MartinP
        MartinP @Heimweh last edited by MartinP

        @heimweh Du stoppst zweimal timeout und keinmal timeout2

        Eigentlich muss vor dem Initiieren von timeout2 nur timeout gestoppt werden, und umgekehrt beim Initiieren von timeout timeout2 gestoppt werden ...

        Heimweh 1 Reply Last reply Reply Quote 0
        • Heimweh
          Heimweh @MartinP last edited by

          @martinp - Du hast Recht, das ist aber beim kopieren des Scriptes passiert. Ich habe den Block rauskopiert in ein leeres Blockly um einen besseren Screenshot machen zu können. ich korrigiere es

          MartinP 1 Reply Last reply Reply Quote 0
          • MartinP
            MartinP @Heimweh last edited by MartinP

            @heimweh Nicht beide Timeouts stoppen

            Immer den "Gegenteil" Timeout...

            0d6b224a-3e2d-44ab-831f-0965b16bcc46-grafik.png

            Eine schnellere Reaktion könnte man erreichen, wenn die ERSTE Änderung nach einer langen Zeit ohne gemeldete Änderungen verlässlich ist...

            Da könnte man sich in einer Variablen den Zeitpunkt der letzten Änderung merken, und alle Änderungen, vor denen nicht 3 Sekunden "Ruhe" war verwerfen, und auf Timeouts im Skript verzichten.

            94a60496-d473-4ea7-9ed9-87fcda5aa6e3-grafik.png

            Wenn es dann funktioniert, kann man die debug outputs und den "sonst" Zweig entfernen

            1 Reply Last reply Reply Quote 0
            • Heimweh
              Heimweh last edited by Heimweh

              @martinp danke das wäre auch ein Ansatz. Ich verstehe grundsätzlich nicht wieso es so nicht funktioniert:

              4b9dd35c-0b9c-47d6-8565-d2f4721ddbd2-image.png

              wenn ich den Rollladen von 100% auf 0% stelle, kommt erst die Meldung auf, und dann zu.

              dfd06d86-2a45-4d1c-ac04-3e8c1397e9d2-image.png

              MartinP 1 Reply Last reply Reply Quote 0
              • MartinP
                MartinP @Heimweh last edited by MartinP

                @heimweh Werden wirklich als Trigger-Werte nur "0" oder "100" übergeben?

                Wenn der Datenpunkt viele Sekunden beim Fahren auf wechselnden Zwischenwerten zwischen 0 und 100 herumdümpelt könnte dieser Effekt auftreten ...

                Mache mal einen dritten Falls-Zweig "Sonst" dazu mit einem Logging von "Wert"...

                Sollte da Treffer herauskommen sollten BEIDE Timeouts in diesem Zweig gestoppt werden

                Heimweh 1 Reply Last reply Reply Quote 0
                • Heimweh
                  Heimweh @MartinP last edited by

                  @martinp - ok hab ich getestet. Es gibt keine Werte dazwischen außer 0 und 100. Ich habe aber festgestellt, wenn der Rollladen unten ist (0%) - und ich gebe ihm den Befehl auf 100% zu fahren dann springt der Wert im Datenpunkt fast sofort auf 100%, 2 Sekunden später wieder auf 0% - und dann wenn der Rollladen physisch oben ist - dann springt der Wert wieder auf 100% und dann passt es auch so.
                  Ich glaube ich muss Deine Idee mit den Zeitstempeln versuchen - oder den Zwischenwert mit Verzögerungen rausfiltern. Vor dem Shelly war ein Homematic Rollladenaktor verbaut und der hat das selbe Verhalten....

                  Unterm Strich muss die Meldung "Rollladen oben" sofort da sein wenn der Motor oben stoppt

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

                    @heimweh sagte in Blockly - Rollladen auf oder zu?:

                    Ich habe aber festgestellt

                    das ist vollkommen normal!
                    erst wird die Zielhöhe bestätigt, dann die Isthöhe angezeigt.

                    zumindest beim

                    @heimweh sagte in Blockly - Rollladen auf oder zu?:

                    Homematic Rollladenaktor

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

                      @heimweh sagte: Meldung "Rollladen oben" sofort da sein wenn der Motor oben stoppt

                      Versuche es mal so:

                      Blockly_temp.JPG

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

                        @paul53 - so funktioniert es. Allerdings kommt jetzt jede Meldung 2x. Wäre jetzt nicht tragisch für meine Anwendung (bei hochfahren sogar gut den Fahrtbeginn zu haben) aber wie könnte man das jetzt noch elegant korrigieren?

                        da465653-8098-486f-add6-bdb43469fdfa-image.png

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

                          @heimweh sagte: wie könnte man das jetzt noch elegant korrigieren?

                          Nur auf "bestätigte Änderung" triggern.

                          Blockly_temp.JPG

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

                            @paul53 Das mit "letzte Änderung" und "vorherige letzte Änderung" ist ja genial.
                            Man muss wohl doch mal beim Öffnen der Pull-Down Menus des unscheinbarsten Elements im Trigger Menu nicht nur mit dem Tunnelblick das suchen, was man gerade braucht, sondern vielleicht mal genauer schauen, was da für Schätze entdeckbar sind ...

                            Heimweh 1 Reply Last reply Reply Quote 0
                            • Heimweh
                              Heimweh @MartinP last edited by

                              @martinp so ist es mir auch gegangen.... War überrascht was da alles noch so kommt.....

                              @paul53 vielen lieben Dank!

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              870
                              Online

                              32.0k
                              Users

                              80.4k
                              Topics

                              1.3m
                              Posts

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