Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Zeitdifferenz ohne Variable als Bedingung in Blockly

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zeitdifferenz ohne Variable als Bedingung in Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @deifel last edited by Homoran

      @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

      Ich schalte am Hue ein oder Dimme:

      nochmal:
      soll das "live" synchron laufen (während des continuous Press) oder erst nach loslassen

      Wann liefert hue den Wert an ioBroker?

      @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

      Ich schalte am Hue ein

      wie gesagt, gibt es den Befehl bei HM nicht!

      D 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @deifel last edited by

        @deifel
        Beim Hue muss die Prüfung auf den Ursprung noch raus. Der soll ja in allen Fällen auch tatsächlich schalten.

        Du denkst daran, dass bei HM für Lesen und Schreiben unterschiedliche Kanäle zuständig sind?

        1 Reply Last reply Reply Quote 0
        • D
          deifel @Homoran last edited by

          @homoran said in Zeitdifferenz ohne Variable als Bedingung in Blockly:

          @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

          Ich schalte am Hue ein oder Dimme:

          nochmal:
          soll das "live" synchron laufen (während des continuous Press) oder erst nach loslassen

          Wann liefert hue den Wert an ioBroker?

          @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

          Ich schalte am Hue ein

          wie gesagt, gibt es den Befehl bei HM nicht!

          Es reicht völlig, wenn das ganze nicht live synchron läuft, sondern nach loslassen der Taste. Da es sich um einen HM Schaltdimmer für Markenschalter handelt, gibt es grundsätzlich ja schon "ein" und "aus".
          Auch in Homematic kann ich ein oder aus schalten. Er geht dann auf den letzten bekannten Dimmwert.
          Hue liefert den Wert bereits nach ca. 1 bis 2 Sekunden an Iobroker.

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @deifel last edited by

            @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

            Es reicht völlig, wenn das ganze nicht live synchron läuft, sondern nach loslassen der Taste

            das können wir nicht entscheiden.
            Die Frage ist wann hue was an ioBroker meldet.

            @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

            Da es sich um einen HM Schaltdimmer für Markenschalter handelt, gibt es grundsätzlich ja schon "ein" und "aus".

            nein. Da gibt es nur 0 und 100% und erst wenn der HM auf 100% angekommen ist, meldet er das.

            oder ist

            @homoran sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

            Der HM Dimmer von HmIP

            D 1 Reply Last reply Reply Quote 0
            • D
              deifel @Homoran last edited by

              Nein es ist definitiv ein normaler HM Aktor.
              pwtQvyugPo.png IWHKbGLOSZ.png
              Ich kann also die Schaltwippe betätigen oder in der Oberfläche von Homematic. Dann dauert es kurz (vielleicht 3 Sekunden) und er steht dann auf "ein".

              Schalte ich in Hue (egal ob App oder über die Fernbedienung/Taster), dann landet es extrem schnell in Iobroker. Schätze 2 Sekunden.

              Homoran 1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active last edited by

                @deifel
                Bau doch zunächst mal ein paar Debug-Blöcke ein um zu sehen, was wann passiert.

                1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @deifel last edited by

                  @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                  dann landet es extrem schnell in Iobroker. Schätze 2 Sekunden.

                  wann?
                  erst beim loslassen, oder kontinuierlich bis zum loslassen?

                  @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                  Dann dauert es kurz (vielleicht 3 Sekunden) und er steht dann auf "ein".

                  weil er so lange bis zum Erreichen der Zielhelligkeit dimmt, und erst dann meldet.

                  @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                  ein normaler HM Aktor.

                  die habe ich auch.
                  Aber einen Datenpunkt ein haben die meines Wissens nicht

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    deifel @Homoran last edited by

                    @homoran

                    Nein einen Datenpunkt ein haben die nicht, das stimmt. Nur Level.
                    Ich bleibe ja erst gar nicht auf der Taste drauf. Ich Drücke bei dem Hue Taster nur auf "an" und 2 Sekunden später ist der Wert in Iobroker.
                    Bei Hue gibts auch nen Datenpunkt für "on" -der bringt aber nix. Außerdem den Wert "Level". Und den will ich ja synchronisieren.
                    Das ist ne ganz schön schwere Geburt 😞
                    Ich bin schon am verzweifeln...

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

                      @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                      Nein einen Datenpunkt ein haben die nicht,

                      eben. deswegen muss HM den Level (langsam) verändern, während

                      @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                      Bei Hue gibts auch nen Datenpunkt für "on"

                      der sofort schaltet

                      @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                      Das ist ne ganz schön schwere Geburt

                      ja!

                      1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @deifel last edited by

                        @deifel
                        Versuch's mal auf die Art:

                        0494d784-4ab7-41fa-97ba-95003bea847e-image.png

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          deifel @Codierknecht last edited by

                          @codierknecht said in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                          @deifel
                          Versuch's mal auf die Art:

                          0494d784-4ab7-41fa-97ba-95003bea847e-image.png

                          Vielen Dank für Deine Hilfe.
                          Leider klappt auch das nicht. Hier hauts mir den DC sofort nach oben, weil ich in ner heftigen Dauerschleife lande.
                          Habe nur mal den Teil für das Schalten von Richtung Hue erstellt um es zu testen.
                          Ist das so korrekt?
                          hAE5TNfxWT.png

                          Weil ich verstehe den Sinn dieses Scriptes überhaupt nicht. Welcher Bezug hat denn "Wert"?
                          😕

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

                            @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                            Welcher Bezug hat denn "Wert"?

                            das ist der aktuelle Wert des Triggers zum Zeitpunkt des triggerns

                            1 Reply Last reply Reply Quote 0
                            • Codierknecht
                              Codierknecht Developer Most Active @deifel last edited by Codierknecht

                              @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                              Welcher Bezug hat denn "Wert"?

                              2a8faff7-81c3-4932-9dc9-ebd13f60aed5-image.png
                              Das ist dieses Element.
                              Kann man auf "Wert" ändern und erhält damit den Wert des triggernden Objektes.

                              Das Script soll folgendes machen:
                              Wenn HM geändert wird, wird Hue auf den gleichen Wert gesetzt. Aber nur, wenn Hue nicht schon den gleichen Wert hat.
                              Bei HM dann halt analog.

                              D Homoran 2 Replies Last reply Reply Quote 0
                              • D
                                deifel @Codierknecht last edited by

                                Habe ich verstanden und so gebaut.
                                Leider exakt selbes Problem: Dauerschleife. Egal, aus welcher Richtung ich schalte. An-Aus-An-Aus... Bis dann der DC oben ist 😞
                                Eigentlich auch klar, da bei Homematic der Wert "springt" - der geht nicht sofort auf den eingestellten Wert, sondern macht Zwischenschritte. Demnach hüpft er hin und her und das Script spinnt dann.
                                Wäre es denn möglich, dass wir das mit der Zeitdifferenz zwischen den Zeitstempeln testen?
                                Wenn das klappt, dann wäre mir geholfen 🙂

                                Codierknecht 1 Reply Last reply Reply Quote 0
                                • Codierknecht
                                  Codierknecht Developer Most Active last edited by

                                  Nehmen wir mal folgendes Szenario an:

                                  Bei sind aus (Level = 0%). Im HM war der letzte Wert 50%.

                                  Du schaltest am HM durch kurzen Tastendruck ein. Der geht auf den letzten gespeicherten Wert. Also auf 50%.
                                  Der Trigger reagiert und prüft nun, was im Hue-Level steht.
                                  Dort steht 0% - also setzt das Script den Wert nun ebenfalls auf 50%.

                                  Jetzt feuert der Trigger am Hue.
                                  Er guckt auf den Wert in HM und stellt fest: Da steht 50%. Ist der gleiche Wert, also passiert nix.

                                  1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @Codierknecht last edited by

                                    @codierknecht sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                                    Aber nur, wenn Hue nicht schon den gleichen Wert hat.

                                    wir wissen aber immer noch nicht ob Hue den Wert kontinuierlich ändert und so beim Abruf schon leicht verändert ist

                                    1 Reply Last reply Reply Quote 0
                                    • Codierknecht
                                      Codierknecht Developer Most Active @deifel last edited by Codierknecht

                                      @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                                      Wäre es denn möglich, dass wir das mit der Zeitdifferenz zwischen den Zeitstempeln testen?

                                      Versuch macht klug!

                                      Ich würde einen Timeout nehmen, und erst nach x Sekunden schalten.
                                      Bis dahin sollte sich der Wert in HM ja stabilisiert haben.

                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        deifel @Codierknecht last edited by

                                        Genau da liegt das Problem:

                                        Also ich schalte am HM Schalter auf Ein. Er geht zum letzten Wert, ABER: Er macht Zwischenschritte. War der letzten Wert z.B. 50%, dann geht er auf 20 und dann auf 50.
                                        Für die Lampe, gibt er zwar direkt 50% raus, aber im "System" macht er das so und das sieht man auch in der Oberfläche von Homematic.
                                        Dadurch fängt das ganze Konstrukt an zu spinnen, da ja innerhalb kürzester Zeit mehrere Werte kommen. Timeouts lösen das Problem teilweise. Je länger der Timeout, desto zuverlässiger.
                                        Aber über 10 Sekunden warten (da neben dem Timeout ja auch noch die Abfragezeit dazu kommt) ist fast nicht zumutbar.
                                        Bei Hue läuft das alles sauber: Wert wird per Taster verändert (oder an gemacht) und landet dann auch so direkt im Iobroker.
                                        Dimmen habe ich noch nicht mal getestet. Ich schalte bei Hue einfach nur an - d.h. er gibt den letzten Wert durch.

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

                                          @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                                          macht Zwischenschritte. War der letzten Wert z.B. 50%, dann geht er auf 20 und dann auf 50.

                                          richtig! jetzt kommen wir der Sache näher.
                                          bei HM ist das so. Da wird zu Beginn noch der Startwert übermittelt

                                          und wie ist das bei HUE??
                                          beim festhalten

                                          1 Reply Last reply Reply Quote 0
                                          • Codierknecht
                                            Codierknecht Developer Most Active @deifel last edited by

                                            @deifel sagte in Zeitdifferenz ohne Variable als Bedingung in Blockly:

                                            War der letzten Wert z.B. 50%, dann geht er auf 20 und dann auf 50.

                                            Das dauert aber doch nur Sekundenbruchteile.
                                            Mit 'nem Timeout sollte das eigentlich abzufangen sein.

                                            Wie gesagt: Bau mal einige Debug ein. Dann sieht man im Protokoll, was wann passiert.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            884
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            51
                                            1819
                                            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