Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. 2 Heizkörper synchron steuern

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    2 Heizkörper synchron steuern

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

      @georg2608 sagte: Sobald der 2. Block aktiviert ist und ich am HK 1 stelle komme ich wieder in einen Loop.

      Wirklich? Füge mal einen Debug-Log ein:

      Blockly_temp.JPG

      Kann es sein, dass der Sollwert nach dem Schreiben des neuen Wertes erst wieder auf den alten Wert zurück geht und dann verzögert den neuen Wert bestätigt?

      Codierknecht G 2 Replies Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @paul53 last edited by

        @paul53
        Bei meinen Tests ist "Name des Scripts" = "undefined".

        @georg2608
        Versuchs mit dem Ursprung. Aber mach das dann auch so wie gezeigt - also der Zeichenfolge "system.adapter.javascript.0" und nicht mit "Wert von xyz" (wie kommt man eigentlich auf sowas? Das Beispiel ist doch eindeutig).

        39f36588-9c27-49b7-b4c7-3d506db3a0d4-image.png

        paul53 G 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @Codierknecht last edited by paul53

          @codierknecht sagte: Bei meinen Tests ist "Name des Scripts" = "undefined".

          Du meinst den Kommentar, wenn der Ursprung nicht ein Skript ist. In dem Fall wird "steuere" ausgeführt. Wenn der Ursprung das Skript ist, enthält der Kommentar den Skriptnamen.

          1 Reply Last reply Reply Quote 1
          • G
            georg2608 @paul53 last edited by

            @paul53 Ich hab das mal nach Deiner Vorlage nachgebaut. Aber es kommen immer wieder Dauermeldungen und der LoopBildschirmfoto 2025-03-14 um 13.11.25.png Bildschirmfoto 2025-03-14 um 13.02.33.png

            paul53 1 Reply Last reply Reply Quote 0
            • G
              georg2608 @Codierknecht last edited by

              @codierknecht hm, selbst bei der Angabe: "system.adapter.javascript" kommt der Loop. Sorry, für mich ist das nicht wirklich eindeutig, warum der da so reagiert. Bildschirmfoto 2025-03-14 um 13.09.42.png

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

                @georg2608
                Der Text für den Debug-Block für HK2 sollte auch "HK2" lauten.
                So kann man das nicht auseinanderhalten.

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

                  @georg2608
                  Ändere es mal mit Deaktivierung von "steuern" im unteren Tigger, um die Loop zu vermeiden und korrigiere den String "javascript":

                  Blockly_temp.JPG

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

                    @paul53
                    Also so bekomme ich keinen Loop mehr und wenn ich HK 1 steuere passt sich HK 2 an. Nur beim ändern von HK 2 ändert sich an HK 1 nichts (Screenshot mit Ausgabe)
                    Bildschirmfoto 2025-03-14 um 13.32.41.png

                    Der 2. Screenshot ist die Ausgabe wenn ich HK 1 stelle.
                    Bildschirmfoto 2025-03-14 um 13.36.53.png

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

                      @georg2608 sagte: Ausgabe wenn ich HK 1 stelle.

                      Wie vermutet: Bevor der neue Wert (24) bestätigt wird, wird der alte Wert (26) gesendet. Das führt zur Loop.

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

                        @paul53 Okay verstanden. Aber wie kann ich das umgehen?
                        Macht es Sinn einen timeout einzu bauen?

                        paul53 1 Reply Last reply Reply Quote 0
                        • black.falcon87
                          black.falcon87 last edited by

                          Ich werf mal das „Binde“ Objekt in den Raum.

                          Kannst du da nicht einfach beide Objekte miteinander verbinden?
                          Also du brauchst das Binde Objekt zweimal untereinander.

                          Einmal HK1 -> HK2 und einmal HK2 -> HK1
                          Und den Haken bei „nur Änderungen“ setzen.
                          Klappt das ohne einen Loop zu erzeugen?

                          Codierknecht 1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @black.falcon87 last edited by

                            @black-falcon87 sagte in 2 Heizkörper synchron steuern:

                            Ich werf mal das „Binde“ Objekt in den Raum.

                            Das macht unter der Haube auch nix anders.

                            on({ id: 'Object ID 1', change: 'ne' }, (obj) => {
                              setState('Object ID 2', obj.state.val);
                            });
                            
                            1 Reply Last reply Reply Quote 1
                            • paul53
                              paul53 @georg2608 last edited by paul53

                              @georg2608 sagte: Macht es Sinn einen timeout einzu bauen?

                              Ein so hässliches Verhalten (bedanke dich in China) kann man per Timer-Sperre überbrücken.

                              Blockly_temp.JPG

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

                                @paul53 Ich bedanke mich da lieber bei Dir!
                                Ich glaub jetzt funktioniert das richtig gut.

                                Vielen lieben Dank

                                1 Reply Last reply Reply Quote 0
                                • W
                                  Walkera last edited by Walkera

                                  Hallo zusammen,
                                  bisher hab ich als Mitleser oft hilfreiche Posts gesehen und nach und nach meine Ideen umsetzen können und auftretende Probleme mit etwas Recherche ganz gut lösen können. Jetzt bin ich auf aber auf ein Verhalten gestoßen, bei dem ich eure Unterstützung bräuchte.

                                  Es ähnelt sehr dem Anliegen wie hier zwei Status gleich halten zu wollen. Anstatt die Temperatur zweier Thermostate möchte ich den Schaltstatus eines Status aus Homematic und den Schaltstatus eines Shelly bidirektional verknüpfen. Sowie sich z. B. der Zustand des Shelly ändert, soll sich der in der Homematic identisch geändert werden. Und andersrum. Bisher hat es mit den beigefügten Skripts super geklappt, es gab keine Schleifen. Anfang der Woche ist es mir bei einer anderen Kombination zum ersten Mal aufgefallen und heute bei dem aktuellen Beispiel.

                                  Normal würde ich es erstmal eine Zeit beobachten und "draufrum denken", habe diesmal aber etwas Bedenken, da die Shelly vermutlich das viele schnelle Schalten nicht auf Dauer toll finden.

                                  Hier mal beide Skripte (ich wusste lange nicht, dass auch beide in eins können):

                                  Screenshot_20250323_174132_Chrome.jpg Screenshot_20250323_174123_Chrome.jpg

                                  Und hier ein Auszug aus dem Log:
                                  Screenshot_20250323_175335_Chrome.jpg

                                  Könnte hier der Vorschlag mit der Pause ebenfalls funktionieren und habt ihr eine Idee, wie ich es reproduzieren kann? Es tritt (leider) nicht bei jeder Änderung auf. Dankeschön 🙂

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

                                    @walkera sagte in 2 Heizkörper synchron steuern:

                                    Hallo zusammen,
                                    bisher hab ich als Mitleser oft hilfreiche Posts gesehen und nach und nach meine Ideen umsetzen können und auftretende Probleme mit etwas Recherche ganz gut lösen können. Jetzt bin ich auf aber auf ein Verhalten gestoßen, bei dem ich eure Unterstützung bräuchte.

                                    Könnte hier der Vorschlag mit der Pause ebenfalls funktionieren und habt ihr eine Idee, wie ich es reproduzieren kann? Es tritt (leider) nicht bei jeder Änderung auf. Dankeschön 🙂

                                    Nein und Nein.

                                    Das ganze hat mit Zeitverhalten und anderen Details zu tun. Was funktioniert:

                                    Screenshot 2025-03-23 at 18.26.31.png

                                    Wichtig - der Bausteh "Ursprung" und "Wert" ist der gleiche Baustein aus dem "Trigger" Bereich.

                                    Natürlich brauchst Du das 2 mal, einmal ind die eine, einmal in die andere Richtung.

                                    A.

                                    Nachtrag - das ganze klappt natürlich nur wenn du die Datenpunkte nicht über ein Skript änderst - wenn das auch gehen soll brauchst Du eine genauere Bedingung zur Erkennung wann es nicht der Fall sein soll - das müsste ich mir aber erst irgendwo ausgraben.

                                    W paul53 2 Replies Last reply Reply Quote 1
                                    • W
                                      Walkera @Asgothian last edited by

                                      @asgothian vielen Dank für deine schnelle Antwort!

                                      Das werde ich genau so umsetzen - die Ansteuerung via Skript hab ich bei den "synchronisierten" Variablen zwar auch verwendet, kann es aber ja über die homematic machen lassen.

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

                                        @asgothian sagte: klappt natürlich nur wenn du die Datenpunkte nicht über ein Skript änderst

                                        @walkera: Damit auch das funktioniert, bringe die beiden Trigger in ein Skript:

                                        Blockly_temp.JPG

                                        W 1 Reply Last reply Reply Quote 1
                                        • W
                                          Walkera @paul53 last edited by

                                          @paul53 danke Dir!

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          832
                                          Online

                                          31.8k
                                          Users

                                          79.9k
                                          Topics

                                          1.3m
                                          Posts

                                          7
                                          26
                                          1121
                                          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