Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blocky+Shutter - getriggerter Wert X nach Timeout geändert?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blocky+Shutter - getriggerter Wert X nach Timeout geändert?

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

      Hallo Community,

      ich habe seit 3 Tagen ioBroker mit einem Aeotec Z-Stick Gen 5 im Einsatz, finde mich immer besser zurecht und möchte alle meine Z-Wave Geräte (später vllt. auch ZigBee) von devolo HomeControl zu ioBroker umziehen. Die Steuerung erfolgt bei mir nur über Apple HomeKit, weshalb ich die Geräte dann noch mit ioBroker.yahka mappen muss.

      Ich habe ein paar devolo Rollladensteuerung-Unterputz (Home Control Shutter FM MT2761) im Einsatz.

      Bildschirmfoto 2020-05-15 um 08.04.23.png

      Ich muss euch inhaltlich kurz mitnehmen: Dieses Modul überträgt nur den aktuellen Stromverbrauch und das Level, welches aber auch zeitgleich die Steuerung ist - somit keine richtige CurrentPosition, TargetPosition und PositionState. Typisch devolo 😵! Wenn ich dennoch diesen Level-State als CurrentPosition und TargetPosition in HomeKit mappe, funktioniert es - aber der Status wird direkt von HomeKit übernommen und man sieht KEINE "Öffnet ..." / "Schließt ..." Animation bis das tatsächliche Level erreicht ist. Daher habe ich es mit einem zusätzlichen Objekt in Blocky gebastelt. Funktioniert auch!

      Bildschirmfoto 2020-05-15 um 09.46.18.png

      Aber eine Kleinigkeit gefällt mir nicht. HomeKit hat so einen Slider, hier möchte ich ein Timeout von 1500 ms einbauen, wenn sich der Wert schon wieder geändert hat, mache nichts. Wenn der Wert noch immer gleich ist, wie getriggert, dann ...

      IMG_5571.png

      Bildschirmfoto 2020-05-15 um 09.45.47.png

      Es geht um den oberen Block, beim "timeout2", hier möchte ich prüfen, ob der getriggerte Wert von "schmalesFenster_TargetPosition" immer noch der gleiche ist oder in der Zwischenzeit der Slider in HomeKit bewegt wurde. Habe ich in homebridge-devolo auch so ähnlich gemacht.

      Frage 1: Wie mache ich das? Kann man den vor dem Timeout getriggerten Wert vom Objekt abfragen? Oder speichere ich den Wert vor dem Timeout in eine temporäre Variable?

      Ein kurzes Beispiel wäre nice. DANKE

      Gruß Nico


      BTW ✋

      Frage 2: Ich habe 13 von diesen devolo Shuttern, muss ich das Blocky-Skript dann 13x machen? Oder kann ich es flexibel gestallten, mit einer Liste oder so, dass er dieses für alle verarbeitet - auch bei zeitgleiche Änderungen, unterschiedlicher Module.

      Frage 3: Würdet ihr an meiner Stelle direkt alles in Node-RED machen? Weil neuer oder läuft das noch nicht so stabil? Oder gibt es andere Gründe?

      BBTown paul53 2 Replies Last reply Reply Quote 0
      • BBTown
        BBTown @_nico last edited by

        @_nico
        Du kannst im in den Trigger-Objekten eine Variable ins Fenster ziehen
        3b6694eb-8a0a-42f1-aa88-dcc294fea8cd-grafik.png
        Wenn Du dort drauf klickst kannst Du im DropDown Menu z.B. "voheriger Wert" auswählen und somit die Veränderung des Sliders mit dem aktuellen Wert vergleichen (größer/kleiner)

        Grundsätzloich sollte Du immer auch "timerStop" mit einbauen, ansonsten hast du bei mehrfacher Trigger/Slider-Änderung auch mehrfache timeouts am Laufen.

        Du könntest mehrere Rolladen - die gleich geschaltet werden sollen - über eine Funktion gemeinsam steuern. (schau doch mal beim ähnlichen Thema hier vorbei)

        _nico BBTown 2 Replies Last reply Reply Quote 0
        • _nico
          _nico @BBTown last edited by _nico

          Wenn Du dort drauf klickst kannst Du im DropDown Menu z.B. "voheriger Wert" auswählen und somit die Veränderung des Sliders mit dem aktuellen Wert vergleichen (größer/kleiner)

          Ok, ist dann aber nur der "vorherige Wert", muss ja nicht der getriggerte Wert sein - man schafft es unabsichtlich, in den 1500ms, 3-5x zu ändern - ohne Kaffee vielleicht auch häufiger. 😀

          Grundsätzloich sollte Du immer auch "timerStop" mit einbauen, ansonsten hast du bei mehrfacher Trigger/Slider-Änderung auch mehrfache timeouts am Laufen.

          Wo kommt der dann genau hin?

          Du könntest mehrere Rolladen - die gleich geschaltet werden sollen - über eine Funktion gemeinsam steuern.

          Ja, kenn ich. Beantwortet aber leider nicht die Frage 2. Ich würde jetzt für jedes Modul das Skript, wenn es fertig ist kopieren und anpassen... weiß halt nicht ob das "einfacher" geht.

          BBTown 1 Reply Last reply Reply Quote 0
          • BBTown
            BBTown @_nico last edited by

            @_nico sagte in Blocky - Hat sich der Wert X schon wieder geändert?:

            Wo kommt der dann genau hin?

            In deinem "Wenn-Vergeich" Du wolltest den doch abfragen?!

            Ja, kenn ich. Beantwortet aber leider nicht die Frage 2. Ich würde jetzt für jedes Modul das Skript, wenn es fertig ist kopieren und anpassen... weiß halt nicht ob das "einfacher" geht.

            Also ich persönlich finde es deutlich einfacher einmal eine Liste anzulegen die abgearbeitet wird, als 13 einzelne Scripte 😎
            826a7215-db60-4644-9cc8-d00f4654e2a5-grafik.png

            Schau doch zudem einmal in der Forums-Suche (oder in der ioBroker Doku) nach "Aufzählungen"
            Auch darüber kannst Du Gerätegruppen anlegen.

            _nico 1 Reply Last reply Reply Quote 0
            • _nico
              _nico @BBTown last edited by

              Ich glaube, ich habe gerade einen Knoten im Kopf. 😕

              In deinem "Wenn-Vergeich" Du wolltest den doch abfragen?!

              So?

              Bildschirmfoto 2020-05-15 um 11.07.42.png

              Also ich persönlich finde es deutlich einfacher einmal eine Liste anzulegen die abgearbeitet wird, als 13 einzelne Scripte 😎
              826a7215-db60-4644-9cc8-d00f4654e2a5-grafik.png

              Schau doch zudem einmal in der Forums-Suche (oder in der ioBroker Doku) nach "Aufzählungen"
              Auch darüber kannst Du Gerätegruppen anlegen.

              Ah okay. Krass! Muss ich mir mal anschauen. Es geht aber nicht um eine zeitgleiche Steuerung? Die Rollläden sollen bei Bedarf, manuell, zu unterschiedlichen Zeit gesteuert werden.

              BBTown 2 Replies Last reply Reply Quote 0
              • BBTown
                BBTown @_nico last edited by

                @_nico sagte in Blocky - Hat sich der Wert X schon wieder geändert?:

                Es geht aber nicht um eine zeitgleiche Steuerung? Die Rollläden sollen bei Bedarf, manuell, zu unterschiedlichen Zeit gesteuert werden.

                ja wie willst Du denn das anders als mit Einzel-Scripten lösen?

                _nico 1 Reply Last reply Reply Quote 0
                • BBTown
                  BBTown @_nico last edited by

                  @_nico sagte in Blocky - Hat sich der Wert X schon wieder geändert?:

                  So?

                  Bildschirmfoto 2020-05-15 um 11.07.42.png

                  Ich verstehe ehrlich gesagt nich was Du da versuchst.
                  Du sprichst ja immer den den gleichen Datenpunkt an und weil Du ihn veränderts Triggerst Du ihn auch gleich wieder?!

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

                    @_nico sagte:

                    Ein kurzes Beispiel wäre nice.

                    Versuche es mal so:

                    Blockly_temp.JPG

                    Wert und Ursprung findet man unter "Trigger".

                    1 Reply Last reply Reply Quote 0
                    • _nico
                      _nico @BBTown last edited by

                      @BBTown

                      ja wie willst Du denn das anders als mit Einzel-Scripten lösen?

                      Häh, du hast doch ein Post davor geschrieben:

                      Also ich persönlich finde es deutlich einfacher einmal eine Liste anzulegen die abgearbeitet wird, als 13 einzelne Scripte 😎

                      Ich glaube wir reden aneinander vorbei. Lassen wir das Thema "gleiche Logik, nur andere Datenpunkt, für alle Rollladenmodule" hier gut sein - mache dazu einen extra Thread auf, wenn dieses Problem gelöst ist.


                      @BBTown sagte in Blocky - Hat sich der Wert X schon wieder geändert?:

                      Bildschirmfoto 2020-05-15 um 11.07.42.png

                      Ich verstehe ehrlich gesagt nich was Du da versuchst.
                      Du sprichst ja immer den den gleichen Datenpunkt an und weil Du ihn veränderts Triggerst Du ihn auch gleich wieder?!

                      Hmm? Wollte nur wissen, ob der "stop timeout", was du mir empfohlen hast, an der richtigen Stelle ist.


                      @paul53 sagte in Blocky - Hat sich der Wert X schon wieder geändert?:

                      @_nico sagte:

                      Ein kurzes Beispiel wäre nice.

                      Versuche es mal so:

                      Blockly_temp.JPG

                      Wert und Ursprung findet man unter "Trigger".

                      Danke. Werde es versuchen und melde mich.

                      1 Reply Last reply Reply Quote 0
                      • BBTown
                        BBTown @BBTown last edited by

                        @_nico
                        Ich sagte

                        Du könntest mehrere Rolladen - die gleich geschaltet werden sollen - über eine Funktion gemeinsam steuern

                        1 Reply Last reply Reply Quote -1
                        • _nico
                          _nico last edited by _nico

                          Hallo Community, danke für eure Hilfe.

                          So habe ich es jetzt in Blocky umgesetzt inkl. HomeKit Slider Werte-Shizzle-Fix:

                          Bildschirmfoto 2020-05-18 um 22.55.30.png

                          Für jeden Rollladen ein Skript und eine zusätzliche Variable für die TargetPosition. Sollte auch für Rollladensteuerungen / Shutter von Qubino und Fibaro funktionieren.

                          Bildschirmfoto 2020-05-19 um 16.26.25.png

                          Bildschirmfoto 2020-05-19 um 16.26.43.png

                          Viele Grüße

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

                            @BBTown sagte in Blocky+Shutter - getriggerter Wert X nach Timeout geändert?:

                            @_nico
                            Ich sagte

                            Du könntest mehrere Rolladen - die gleich geschaltet werden sollen - über eine Funktion gemeinsam steuern


                            @BBTown sagte in Blocky+Shutter - getriggerter Wert X nach Timeout geändert?:

                            @_nico sagte in Blocky - Hat sich der Wert X schon wieder geändert?:

                            Es geht aber nicht um eine zeitgleiche Steuerung? Die Rollläden sollen bei Bedarf, manuell, zu unterschiedlichen Zeit gesteuert werden.

                            ja wie willst Du denn das anders als mit Einzel-Scripten lösen?


                            Zur Info für alle und an @BBTown

                            Ich habe es jetzt über ein Blockly-Skript für alle 13 Shutter-Module umgesetzt - auch wenn sich die Steuerung überschneidet - wird alles ordentlich ausgeführt. Hier habe ich dazu etwas geschrieben.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            650
                            Online

                            32.0k
                            Users

                            80.4k
                            Topics

                            1.3m
                            Posts

                            blockly
                            3
                            12
                            547
                            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