So, der Außensensor ist da
Das Script
Code: Alles auswählen
dom.GetObject("CUxD.CUX9002001:1.SET_TEMPERATURE").State(dom.GetObject('HmIP-RF.000E5D89A10E85:1.ACTUAL_TEMPERATURE').Value());
dom.GetObject("CUxD.CUX9002001:1.SET_HUMIDITY").State(dom.GetObject('HmIP-RF.000E5D89A10E85:1.HUMIDITY').Value());
dom.GetObject("CUxD.CUX9002002:1.SET_TEMPERATURE").State(dom.GetObject('HmIP-RF.000EE0C99273D1:1.ACTUAL_TEMPERATURE').Value());
dom.GetObject("CUxD.CUX9002002:1.SET_HUMIDITY").State(dom.GetObject('HmIP-RF.000EE0C99273D1:1.HUMIDITY').Value());
real abs_hum_innen = dom.GetObject("CUxD.CUX9002001:1.ABS_HUMIDITY").State();
real abs_hum_aussen = dom.GetObject("CUxD.CUX9002002:1.ABS_HUMIDITY").State();
WriteLine(abs_hum_innen);
WriteLine(abs_hum_aussen);
Aber nun habe ich WriteLine-Ausgabe durch die If-Funktion zum Befüllen der Systemvariable ersetzt, die ich unter viewtopic.php?f=31&t=68342&p=668294#p668294 gefunden habe. Nun lautet das Script:
Code: Alles auswählen
dom.GetObject("CUxD.CUX9002001:1.SET_TEMPERATURE").State(dom.GetObject('HmIP-RF.000E5D89A10E85:1.ACTUAL_TEMPERATURE').Value());
dom.GetObject("CUxD.CUX9002001:1.SET_HUMIDITY").State(dom.GetObject('HmIP-RF.000E5D89A10E85:1.HUMIDITY').Value());
dom.GetObject("CUxD.CUX9002002:1.SET_TEMPERATURE").State(dom.GetObject('HmIP-RF.000EE0C99273D1:1.ACTUAL_TEMPERATURE').Value());
dom.GetObject("CUxD.CUX9002002:1.SET_HUMIDITY").State(dom.GetObject('HmIP-RF.000EE0C99273D1:1.HUMIDITY').Value());
real abs_hum_innen = dom.GetObject("CUxD.CUX9002001:1.ABS_HUMIDITY").State();
real abs_hum_aussen = dom.GetObject("CUxD.CUX9002002:1.ABS_HUMIDITY").State();
! mind. 1 g/m3 aussen geringer als innen
if ( (abs_hum_aussen + 0.99) < abs_hum_innen )
{ ! lueften
if ( dehumidifyWohnzimmer.State() == 0) {
dehumidifyWohnzimmer.State(1);
}
} elseif ( (abs_hum_aussen + 0.5) > abs_hum_innen ) {
! nicht lueften!
if ( dehumidifyWohnzimmer.State() == 1) {
dehumidifyWohnzimmer.State(0);
}
}
Die Systemvariable hatte ich als Logikwert angelegt:
Wo ist nun mein (hoffentlich letzter) Fehler?