Ich versuche auf meiner CCU3 mittels eines Programmes eine Systemvariable zu beschreiben, wenn an einem von zwei Thermostaten (HMIP-eTRV2) manuell die Solltemperatur geändert wurde. Die Thermostate stehen immer auf manuell bei uns. Leider schaffe ich es nicht, dass der Sollwert der Thermostate bei Änderung (oder sogar bei Aktualisierung) das Programm auslöst. Wenn ich die Thermostate protokolliere kommt jede Sollwertänderung auch sofort an, daran kann es eigentlich nicht liegen. Wenn ich das Skript mittels "Skript testen" ausführe und die Variable Zeile mittels WriteLine() ausgeben lasse, hat sie auch jedes mal den korrekten Wert. Es muss irgendwie am Trigger liegen.
Hier ist das Programm (ich habe es auch mit "bei Aktualisierung auslösen" probiert, ging auch nicht). Folgende Einstellungen habe ich bei den Thermostaten gemacht (auszulassende = 0) damit auch auf jeden Fall die Werte übertragen werden. Hier ist nun der Skriptcode, welcher die Solltemperatur beider Thermostate abruft und dann zusammen in eine Systemvariable (WRCD.Zeile1) schreibt.
Code: Alles auswählen
object Thermostat_WZ_soll = dom.GetObject("HmIP-RF.000A1D89A0C4C2:1.SET_POINT_TEMPERATURE");
object Thermostat_K_soll = dom.GetObject("HmIP-RF.000A1D89A0C4FF:1.SET_POINT_TEMPERATURE");
var WZ_Wert = Thermostat_WZ_soll.Value().ToString(1).Replace(".", ",");
var K_Wert = Thermostat_K_soll.Value().ToString(1).Replace(".", ",");
var Zeile = "WZ:" # WZ_Wert # " K:" # K_Wert;
dom.GetObject("WRCD.Zeile1").State(Zeile);
VG
chross