FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: SOJ am 05 September 2015, 22:26:23

Titel: FHEM - Schimmel Warner
Beitrag von: SOJ am 05 September 2015, 22:26:23
Hallo Zusammen,
ich hänge mit FHEM gerade etwas in der Luft.

Wollte das bei mir Zuhause in einer Light Version bei mir umsetzen.
http://voizchat.de/richtiges-lueften-mit-homematic-fhem-schimmelrisiko-senken-anleitung/

Mein Code


+*00:00:10 {
my $dewAussen=ReadingsVal("MeinWetter","dewpoint","100");
my $dewSchlaf=ReadingsVal("OG1_Kueche_Temp_1","dewpoint","0");
my $tempSchlaf=ReadingsVal("OG1_Kueche_Temp_1","temperature","0")-3;
fhem("setreading OG1_Kueche_Temp_1 alarm on") if ($dewAussen > $dewSchlaf);
fhem("setreading OG1_Kueche_Temp_1 alarm off") if ($dewAussen < $dewSchlaf);
fhem("trigger SchimmelKueche") if ($dewSchlaf > $tempSchlaf);
fhem("setstate SchimmelKueche defined") if ($dewSchlaf < $tempSchlaf);
}


Wenn ich die Werte ändere passiert nichts. Es bleibt immer bei OG1_Kueche_Temp_1 alarm off.
Mein Vermutung ist, das die Werte von OG1_Kueche_Temp_1 nicht ausgelesen werden.

OG1_Kueche_Temp_1
Readings
alarm off
battery ok
dewpoint 11.0
fan off
humidity 56
state T: 22 H: 56 D: 11
temperature 22


Ich sehe leider den Wald vor Bäumen nicht. Wäre super wenn mir jemand weiter helfen würde. Danke.

Gruß SOJ
Titel: Antw:FHEM - Schimmel Warner
Beitrag von: Puschel74 am 05 September 2015, 22:37:55
Wenn man vermutet das Werte nicht ausgelesen werden kann es hilfreich sein die Werte erstmal ins Logfile zu schreiben.
Dann sieht man was in den Readings steht bzw. was im Code verarbeitet wird,

Vorschlag:
fhem(Log1,"$dewAussen - $dewSchlaf - $tempSchlaf")
NACHDEM die Variablen gefüllt wurden.
Und dann schön langsam rantasten und immer im Logfile nach Meldungen Ausschau halten.
Titel: Antw:FHEM - Schimmel Warner
Beitrag von: SOJ am 06 September 2015, 21:47:29
Sorry, möchte ehrlich sein.
Ich sehe gar nichts.
Sämtliche Logs habe ich durchsucht.
Zum testen habe ich es nochmal gekürzt.

define LueftungSkript2 at +*00:00:10 {\
my $dewAussen=ReadingsVal("MeinWetter","dewpoint","100");; \
my $dewSchlaf=ReadingsVal("OG1_Kueche_Temp_1","dewpoint","0");;\
my $tempSchlaf=ReadingsVal("OG1_Kueche_Temp_1","temperature","0")-3;;\
fhem(Log1,"$dewAussen - $dewSchlaf - $tempSchlaf");;\
}
Titel: Antw:FHEM - Schimmel Warner
Beitrag von: dieda am 06 September 2015, 22:30:48
Wenn ich so dein DOIF lese, so sehe ich gar nicht, dass du mit absoluter Luftfeuchtigkeit arbeitest.

Hintergrund: Luft ist ein sehr komplexes Gemisch, welches in Abhängigkeit von der Temperatur unterschiedlich viel Feuchtigkeit aufnehmen kann. Also je wärmer Luft ist, desto mehr Wasser kann sie enthalten.

20 Grad warme Luf enthält bei 50 % Luftfeuchtigkeit mehr Wasser als 10 Grad warme Luft bei 50 % Luftfeuchtigkeit. Noch extremer wird dieser Unterschied bei Temperaturen im Sommer von 35 Grad und mehr. Schalte ich nun den Ventilator ein, dann kommt zwar warme Luft von außen, aber die Luftfeuchtigkeit im Raum steigt dadurch an, schlimmstenfalls erreiche ich den Zustand, dass die Luftfeuchtigkeit 100 % überschreitet, aber in Raumecken kann dies schon eher zutreffen, denn diese sind in den Räumen die neuralgischen Punkte.

Ein Keller z. B. ist ja meist zum Großteil ans Erdreich grenzend und dies heißt vereinfacht ausgedrückt, dass die Temperatur im Erdreich in 1 m Tiefe schon nur noch 15 Grad oder niedriger sein kann. Dies wird ähnlich wie wir es aus von der Widerstandslehre aus der Elektrotechnik kennen an die Kellerwand weitergegeben. Dazu gibt es kann komplizierte Tabellenwewerke und Formeln (so nach dem Motto Temperatur Erdreich, Übergangsleitwiderstand Mauerwert, Wärmedurchgangskoeffizienten der einzelnen Mauerwerksteile, Übergangsleitwiderstand Raumluft, Rauminnentemperatur um die Temperatur an der Wandinnenfläche abzubilden aber auch den Temperaturverlauf in der Mauer darzustellen).

Für die Schimmelfreie Belüftung heißt dies:

Bei diesem Komplex an verschiedenen Einflussfaktoren sollte man sich im klaren sein, dass man immer mit der absuluten Luftfeuchtigkeit rechnen muss.

Niemals nur den Taupunkt der Rauminnentemperatur als alleiniges Kriterium benutzen darf und eine gewisse Komfortzone einbauen muss.

Mögel und Regale nur nach sorgfältiger Prüfung an Außenwänden stellen darf, da hier die Raumluftzirkulation nicht gewährleistet werden kann.

Ggfls. auch mit einer maschinellen Trocknung arbeiten muss.

Damit du ein bisschen das Gespür für Luft, Luftfeuchte und relative bzw. absolute Luftfeuchtigkeit bekommst. Ausdrucken und mal die Luftwerte einzeichen ;-) hier der Link zum Mollier-h-x-Diagramm.

https://de.wikipedia.org/wiki/Mollier-h-x-Diagramm
DIN zur Wärmebedarfsberechnung von Gebäuden: DIN EN 12831
Wärmedurchgangskoeffizient: https://de.wikipedia.org/wiki/W%C3%A4rmedurchgangskoeffizient und DIN 4108
Titel: Antw:FHEM - Schimmel Warner
Beitrag von: ScherzKeks am 07 September 2015, 01:18:23
Zitat von: SOJ am 06 September 2015, 21:47:29
Sorry, möchte ehrlich sein.
Ich sehe gar nichts.
Sämtliche Logs habe ich durchsucht.
Zum testen habe ich es nochmal gekürzt.

define LueftungSkript2 at +*00:00:10 {\
my $dewAussen=ReadingsVal("MeinWetter","dewpoint","100");; \
my $dewSchlaf=ReadingsVal("OG1_Kueche_Temp_1","dewpoint","0");;\
my $tempSchlaf=ReadingsVal("OG1_Kueche_Temp_1","temperature","0")-3;;\
fhem(Log1,"$dewAussen - $dewSchlaf - $tempSchlaf");;\
}


Ich hatte hier ein ähnliches Problem. Bei mir waren Tabs in den Definitionen der Devices, wohl über copy/paste ausm browser. Daher gab es keinen Treffer und der Standardwert von 100 wurde immer verwendet. Gesehen habe ich das lange nicht, da ich immer mit 2 fenstern nebeneinander arbeite und mir daher wegen dem Zeilenumbruch nichts gedacht hab. Prüf das doch bitte mal.

Wenn das mit dem Log nicht klappt (sollte zwar) kannst du ja auch den Wert der Variable mal in einen DUmmy schreiben, so bin ich letztendlich draufgekommen.
Titel: Antw:FHEM - Schimmel Warner
Beitrag von: frank am 07 September 2015, 09:52:47
fhem(Log 1,"$dewAussen - $dewSchlaf - $tempSchlaf");;\
zwischen Log und 1 muss ein leerzeichen.
Titel: Antw:FHEM - Schimmel Warner
Beitrag von: SOJ am 08 September 2015, 21:55:07
Juhu es geht.  ;D

@Alle: Hier mal ein großes Lob an alle. Hier wird einem als Anfänger super und freundlich weitergeholfen!
@Frank: Richtig, da muss ein Leerzeichen rein
@ScherzKeks: Richtig, es waren die Leerzeichen vom Kopieren und Einfügen
@Dieda: Richtig, deine Aussage ist vollkommen richtig.(Musste ich aber auch erst mal nachlesen ;)).
Ich bin aber noch totaler Anfänger mit FHEM und muss den Code/Syntax verstehen lernen.

Aber genug geschrieben ... ich muss noch was für FHEM bestellen.

Gruß SOJ :)


Hier noch mal der funktionsfähige Code

define LueftungSkript at +*00:00:10 {my $hum = ReadingsVal("OG1_Kind_Temp_1","humidity","0");;\
my $dewAussen = ReadingsVal("MeinWetter","dewpoint","100");;\
my $dewSchlaf = ReadingsVal("OG1_Kueche_Temp_1","dewpoint","0");;\
my $tempSchlaf = ReadingsVal("OG1_Kueche_Temp_1","temperature","0")-3;;\
fhem(Log 1,"$dewAussen - $dewSchlaf - $tempSchlaf");;}