In einer Sache möchte ich euch erneut freundlich um Hilfe und Unterstützung bitten. Dazu vorab eine kleine Vorgeschichte, die meine persönliche Dringlichkeit hinter dem Projekt etwas untermauern soll.
Unser Haus ist von 1834 und hat keine Bodenplatte. Es wurde etwas gemauert, Geschossdecke reingezogen und fertig. Dadurch haben wir unter einem Teil des Hauses einen sogenannten "Kriechkeller". Klettere ich dort rein stehe ich direkt auf nacktem Erdreich. Durch die schwankende Feuchtigkeit der Erdoberfläche und der Temperatur im Kriechkeller ergibt sich eine schwankende Luftfeuchtigkeit. Die Sonneneinstrahlung tut ihren Rest im Hinblick auf die Temperatur. Während der Sanierung vor zwei Jahren wurden zwei Lüfter eingebaut, die die Luft aus dem Kriechkeller ziehen um Tau- und Schimmelbildung vorzubeugen.
Um nun zu verhindern, dass die Lüfter weiterhin 24/7 laufen (bei den aktuellen Strompreisen nicht feierlich), bin ich glücklicherweise über ein Skript auf stall.biz gestoßen und möchte dies gerne anwenden, um die Lüfter intelligenter zu steuern. Das Skript dazu: https://www.stall.biz/project/schimmelg ... hm-skript/. Hardware: CCU3 mit FW 3.73.9 und Feuchtigkeitssensor HmIP-STHO-A mit FW 1.0.8.
Da ich absoluter Laie bin, habe ich mit dem Skript meine Probleme. Ich war der Annahme, dass es reicht die Datenpunkte (nach dieser Anleitung: viewtopic.php?f=31&t=30127#p273730) zu korrigieren bzw. vor "temp" bzw. "hum" das "real" durch "var" zu ersetzen, jedoch war das nicht der Fall. Mein Skript aktuell:
Code: Alles auswählen
!Skript zur Berechnung der Schimmelgefahr in Wohnraeumen
!Quelle: https://www.stall.biz/project/schimmelgefahr-erkennung-und-vermeidung-mit-einem-einfachen-hm-skript/
!Systemvariablen anlegen: „SysVar_Schimmelneigung“ als Zahl von 0 bis 10 ; „SysVar_Schimmelgefahr“ als Zeichenkette
!11.01.2024 / 08:03
!Temperatur und rel. Feuchte vom Sensor holen
real temp = (datapoints.Get("HmIP-RF.0010DD89xxxxxx:2.ACTUAL_TEMPERATURE")).Value(); !Temperatur in °C
real hum = (datapoints.Get("HmIP-RF.0010DD89xxxxxx:3.HUMIDITY")).Value(); !Rel. Feuchte in %
Write("temp: "); Write(temp); Write(" hum: "); WriteLine(hum);
!Berechnung Taupunkt-temperatur und absolute Feuchte
real SDD = 6.112 * ( (17.62 *temp) / (243.12 + temp) ).Exp(); !SDD = Sättigungsdampfdruck in hPa
real DD = (SDD * hum)/100.0; ! DD = Dampfdruck in hPa
real hum_abs = (100000.0 * DD) /( (273.15 + temp) * 461.5) ; !absolute Feuchte in g/m3
real temp_tau = (235.0 * ( DD / 6.11).Log()) / (17.1 - ( DD / 6.11).Log()); ! Taupunkt-temperatur
Write("h_abs "); Write(hum_abs);Write(" t_tau "); WriteLine(temp_tau);
string Schimmelgefahr = "gering";
integer Schimmelneigung = 9 - (temp - temp_tau).Abs();
if (SysVar_Schimmelneigung< 0) {SysVar_Schimmelgefahr = 0; }
if (SysVar_Schimmelneigung > 2) {SysVar_Schimmelgefahr = "mittel"; }
if (SysVar_Schimmelneigung > 6) {SysVar_Schimmelgefahr = "hoch"; }
Write("SysVar_Schimmelneigung "); Write(SysVar_Schimmelneigung);
Write(" SysVar_Schimmelgefahr "); WriteLine(SysVar_Schimmelgefahr);
dom.GetObject("SysVar_Schimmelgefahr").State(SysVar_Schimmelgefahr);
dom.GetObject("SysVar_Schimmelneigung").State(SysVar_Schimmelneigung);
- Die Systemvariablen werden nicht aktualisiert und haben lediglich die Werte "???" und "0.00".
- Auch aktualisiert sich dieser Wert nicht alle 30 Sekunden, erkennt man am letzten Änderungsdatum (30 Sekunden sind nur für den Test)
Schöne Grüße
Sebastian