ich möchte euch heute mein Teilprojekt „Entfeuchtung Kellerraum“ vorstellen. Diese Lösung musste ich umsetzen, da der Winmatic von Homematic nicht an das Fenster im Keller angebracht werden konnte wegen Bauraum und im Keller schnell eine zu hohe Luftfeuchte entsteht.
Aufgebaut ist das System aus zwei Lüftern die ich mit einem 4-fach Schaltaktor ansteure und einem „LIWIN 250N 230V Fensterantrieb“ der über einen Rolladentaster sowie einem Funk-Rolladenaktor angesteuert werden kann. Die Lüfter befinden sich auf der gegenüberliegenden Seite zum Fenster im Keller.
Grundlage für die Entscheidung, ob gelüftet werden kann, ist der Feuchtegehalt der Luft im Keller und Außen. Als Vorlage dient das Skript von paul53.
Das Skript wird durch die Daten des Außentemperatur-Sensors, welche ich in Systemvariablen speichre, und den Daten des Wandthermostates im Keller befüllt. Ist der Feuchtegahlt im Keller größer als Außen werden die Lüfter und der Kippantrieb für das Fenster angesteuert. Gleichzeitig bekomme ich noch eine Nachricht, dass die Lüftung gestartet worden ist.
In AIO Creator bekomme ich eine Anzeige warum die Lüftung gestartet oder nicht gestartet worden ist (Zielwert erreicht, Zielwert nicht erreicht, Zeit nicht zutreffend).
Die Realisierung ist durch drei Programme erfolgt.
Das erste Programm (PRG_Klima_Lueften_HR_bestimmen) berechnet den Feuchtegehalt im Keller und Außen in Abhängigkeit von der Tageszeit und ob eine „Klima-Automatik-Keller“ erwünscht ist (bei uns ist der Keller gleichzeitig das Gästezimmer und hier sollen die Lüfter nicht angehen, wenn wir Gäste haben und sie noch schlafen ).
Das zweite Programm (PRG_Klima_Luefter_HR_ausfuehren) steuert die beiden Lüfter an und sendet eine Push-Nachricht bei Start der Lüftung. Es schaltet die Lüfter nach 90min aus und sendet mir dann eine Nachricht, dass das Lüften beendet worden ist.
Das dritte Programm (PRG_Klima_Lueften_HR_Fenster_kippen) steuert den Kippmechanismus des Fensters in Abhängigkeit des Drehgriff-Status am Fenster an (ich will nicht, dass der Antrieb gegen ein verriegeltes oder komplett geöffnetes Fenster anfährt). Die Trennung des Fenster-Kipp-Programmes für das Fenster hat den Vorteil, dass das Fenster auch gekippt wird, wenn die Lüfter unabhängig von der Klima-Automatik angeschaltet werden.
Also, wenn bei jemandem der Winmatic nicht ans Fenster passt … hier eine Lösung.
PS: Die Skript-Variablen in den Programmen sind nicht selbsterklärend, da ich meine ganzen Skripte wegen der 200 internen Variablen Grenze so definiert habe.
Zum Schluss muss ich euch sagen … der WAF ist enorm
Code: Alles auswählen
! Entscheidung ob gelüftet werden kann aufgrund des Feuchtegehaltes im Keller und Außen
! Vorlage für Script von paul53 und JPS Script zur Berechnung des Feuchtegehalts
real realvar1; ! Temperatur in °C
integer intvar1; ! relative Feuchte in %
real realvar2; ! Feuchtegehalt in g/kg
real realvar3; ! Feuchtegehalt in g/kg
! Berechnung Feuchtegehalt Keller
realvar1 = dom.GetObject("Heizung_Hobbyraum_Wandthermostat:1").DPByHssDP("TEMPERATURE").Value(); ! Temperatur Keller
intvar1 = dom.GetObject("Heizung_Hobbyraum_Wandthermostat:1").DPByHssDP("HUMIDITY").Value(); ! Luftfeuchte Keller
! Berechnung Sättigungsfeuchtegehalt
if (realvar1 < 0.0) {realvar1 = 0.0;}
if (realvar1 < 10.0)
{ realvar2 = (3.78 + (0.285 * realvar1) + (0.0052 * realvar1 * realvar1) + (0.0005 * realvar1 * realvar1 * realvar1));
}
else
{ realvar2 = (7.62 + (0.524 * (realvar1-10.0)) + (0.0131 * (realvar1-10.0) * (realvar1-10.0)) + (0.00048 * (realvar1-10.0) * (realvar1-10.0) * (realvar1-10.0)));
}
! Feuchtegehalt Keller
realvar2 = (realvar2 * intvar1) / (100.0 + realvar2 * (100.0 - intvar1) / 622);
! Berechnung Feuchtegehalt Außen
realvar1 = dom.GetObject("Wetter_Temperatur").Value(); ! Außentemperatur
intvar1 = dom.GetObject("Wetter_Luftfeuchte").Value(); ! Luftfeuchte außen
! Berechnung Sättigungsfeuchtegehalt
if (realvar1 < 0.0) {realvar1 = 0.0;}
if (realvar1 < 10.0)
{ realvar3 = (3.78 + (0.285 * realvar1) + (0.0052 * realvar1 * realvar1) + (0.0005 * realvar1 * realvar1 * realvar1));
}
else
{ realvar3 = (7.62 + (0.524 * (realvar1-10.0)) + (0.0131 * (realvar1-10.0) * (realvar1-10.0)) + (0.00048 * (realvar1-10.0) * (realvar1-10.0) * (realvar1-10.0)));
}
! Feuchtegehalt Außen
realvar3 = (realvar3 * intvar1) / (100.0 + realvar3 * (100.0 - intvar1) / 622);
! Vergleich Feuchtegehalt Keller mit Außen
if (realvar2 > realvar3) {
dom.GetObject("Freigabe_Klima_Lueften_HR").State(true);
dom.GetObject("Freigabe_Klima_Lueften_HR_Grund").State(0);}
else{
dom.GetObject("Freigabe_Klima_Lueften_HR").State(false);
dom.GetObject("Freigabe_Klima_Lueften_HR_Grund").State(1);}
realvar1 = 0;
realvar2 = 0;
realvar3 = 0;
intvar1 = 0;