NEWS
2 Heizkörper synchron steuern
-
@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.
-
@georg2608
Der Text für den Debug-Block für HK2 sollte auch "HK2" lauten.
So kann man das nicht auseinanderhalten. -
@georg2608
Ändere es mal mit Deaktivierung von "steuern" im unteren Tigger, um die Loop zu vermeiden und korrigiere den String "javascript": -
@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)
Der 2. Screenshot ist die Ausgabe wenn ich HK 1 stelle.
-
@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.
-
@paul53 Okay verstanden. Aber wie kann ich das umgehen?
Macht es Sinn einen timeout einzu bauen? -
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? -
@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); });
-
@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.
-
@paul53 Ich bedanke mich da lieber bei Dir!
Ich glaub jetzt funktioniert das richtig gut.Vielen lieben Dank
-
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):
Und hier ein Auszug aus dem Log:
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
-
@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:
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.
-
@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.
-
@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:
-
@paul53 danke Dir!