Ich habe die Belüftung mal beobachtet. Soweit läuft es wie gewünscht, jedoch stelle ich fest, dass wenn die Bedinung zum Lüften erfüllt ist, dann schaltet es ein, aber nach 1-2 Min. Zeit schaltet es wieder aus, um wieder in kurzer Zeit nach 2-3 Min wieder einzuschalten.
Nun mir ist das Verhalten erklärbar, weil da ein Vergleich für die Auslösung "Lüften" gegeben ist wie:
Code: Alles auswählen
boolean lueften = false;
if ( feuchteinnenabs > feuchteaussenabs ) {lueften = true; }
var dose = "1SchDos:3";
if ( dom.GetObject( dose ).DPByHssDP ("STATE").Value() != lueften )
{
dom.GetObject( dose ).DPByHssDP ("STATE").State ( lueften );
}
Durchs Lüften kann die Inneraumtemperatur und oder die relative Feuchte verändert werden, was wieder zum sofotigen Ausschalten führen könnte.
Ich habe mir überlegt, wenn ich über das Ausschalten eine Hysteres legen könnte, wäre damit in meinem Fall das Problem gelöst. Wenn die Differenz zwischen aussen und innen nur z.B. 0.001 in die Richtung von nicht lüften geht, wird ausgeschaltet. Das macht im Grunde keinen Sinn. In der Praxis sind doch die Luftschichten nicht so homogen aufgestellt, dass man mit solchen Werten arbeiten kann. Ich hoffe sehr, dass man meine Ausführungen versteht.
Kurz: Wie stelle ich in einem Script sicher, dass wenn ein Status ausgelöst wurde, also die Dose eingeschaltet, diese dann unabhängig von Berechnungen für min. 15 Min. eingeschaltet bleibt?
Danke für einen Tipp!