Ich habe das Skript hier etwas Abgeändert, es soll immer gelüftet werden(Lüfter hat Wärmerückgewinnung) wenn es draussen trockener wie drinnen ist. Die Schimmelwarnung benötige ich nicht.
Allerdings wird die Variable nicht umgestellt ich denke da ist noch ein Fehler im Skript, ich hoffe mir kann da jemand helfen.
Code: Alles auswählen
! Vermietung Berechnung der Lüftungsempfehlung
object oTHi = dom.GetObject("Vermietung_Wandthermostat_Daten:1");
object oTi = oTHi.DPByHssDP("TEMPERATURE");
object oHi = oTHi.DPByHssDP("HUMIDITY");
object oLueften = dom.GetObject("Vermietung_Lueften");
object oTHa = dom.GetObject("Aussentemperatur_und_Feuchtigkeit_Daten:2");
object oTa = oTHa.DPByHssDP("ACTUAL_TEMPERATURE");
object oHa = oTHa.DPByHssDP("ACTUAL_HUMIDITY");
! Programmteil Lüftungsempfehlung
! Lokale Variablen
real tin = oTi.Value(); ! Temperatur in °C innen
integer rfin = oHi.Value(); ! relative Feuchte in % innen
real afin; ! absolute feuchte in g/kg innen
real tau = oTa.Value(); ! Temperatur in °C außen
integer rfau = oHa.Value(); ! relative Feuchte in % außen
real afau; ! absolute feuchte in g/kg außen
! Berechnung der absoluten Feuchte innen
if (tin < 0.0) {tin = 0.0;}
if (tin < 10.0)
{ afin = (3.78 + (0.29 * tin) + (0.0046 * tin * tin) + (0.00051 * tin * tin * tin)) * 0.01 * rfin;
}
else
{ afin = (7.62 + (0.51 * (tin-10.0)) + (0.0143 * (tin-10.0) * (tin-10.0)) + (0.00045 * (tin-10.0) * (tin-10.0) * (tin-10.0))) * 0.01 * rfin;
}
! Berechnung der absoluten Feuchte außen
if (tau < 0.0) {tau = 0.0;}
if (tau < 10.0)
{ afau = (3.78 + (0.29 * tau) + (0.0046 * tau * tau) + (0.00051 * tau * tau * tau)) * 0.01 * rfau;
}
else
{ afau = (7.62 + (0.51 * (tau-10.0)) + (0.0143 * (tau-10.0) * (tau-10.0)) + (0.00045 * (tau-10.0) * (tau-10.0) * (tau-10.0))) * 0.01 * rfau;
}
! Berechnung der Lüftungsempfehlung mit 0,5 g/kg und 0,7 K Hysterese
if ((afau <= (afin - 0.8)) && (tin > 18.0))
{oLueften.State(true);}
else
{ if ((afau >= (afin - 0.3)) || (tin <= 15.0))
{oLueften.State(false);}
}