HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten

Begonnen von peterk_de, 30 November 2014, 01:19:38

Vorheriges Thema - Nächstes Thema

peterk_de

Einführung

Leider existieren viele Anleitungen zum Thema Raumklima und Schimmelvermeidung, die schlichtweg falsch sind und fundamentale Grundlagen und Zusammenhänge ignorieren oder aber aus Zeiten stammen, wo Berechnungen und Regelungen, die mit Systemen wie FHEM heute ganz einfach sind, unmöglich waren. Interessant ist, dass diese veralteten Hinweise sogar noch in aktuellen Normen und Richtlinien beschrieben werden. Mit FHEM und einigen Sensoren, die vermutlich zu jeder Grundausrüstung eines Smart-Homes gehören, kann Schimmel aber sehr viel effektiver verhindert werden.


Basics und Begriffe

Um zu wissen, wie man in einem konkreten Raum vorgehen muss, ist ersteinmal etwas grundlegendes Wissen nötig. Daher hier zunächst ein paar wenige und aufs Wesentliche vereinfachte Infos zu Taupunkten, relativer Luftfeuchte und Schimmel:


  • Absolute Luftfeuchtigkeit: Sagt aus, wieviel Masse an Wasser ist in einem bestimmten Volumen Luft enthalten ist. Dieser Wert ist nicht temperaturabhäng - was logisch ist: Heizt man einen luftdichten Raum auf, ist danach die gleiche Masse Wasser in der Luft wie vorher. Ändert man also nur die Lufttemperatur, bleibt die absolute Luftfeuchte gleich. Die absolute Luftfeuchte in einem Raum kann also nur durch Lüften oder Entfeuchten geändert werden.
  • Relative Luftfeuchtigkeit: Man stelle sich die Luft als Schwamm vor. Die relative Luftfeuchtigkeit gibt in Prozent an, wie voll der Schwamm (die Luft) in Prozent mit Wasser vollgesogen ist. Bei 100% ist der Schwamm voll und tropft - im Fall der Luft bedeutet das: Das Wasser kondensiert. Die Fähigkeit der Luft, Wasser zu speichern, ist stark temperaturabhäng. Kalte Luft kann kaum Wasser aufnehmen (die 100% sind schnell erreicht), warme Luft viel mehr. Man kann die relative Luftfeuchtigkeit also - im Gegensatz zur absoluten - auch durch Heizen senken.
  • Taupunkttemperatur: Das ist die hypothetische Temperatur, bei der die relative Luftfeuchte - ausgehend von einer aktuellen Temperatur und gleichzeitig gemessener Luftfeuchtigkeit - genau 100% betragen würde. Ist eine Stelle im Raum kälter, ist dort die Luftfeuchtigkeit bei über 100% und Wassertropfen kondensieren.

Temperaturänderungen und relative Luftfeuchte

Erwärmt man Luft, bleibt die absolute Luftfeuchte gleich, während die relative Luftfeuchtigkeit sinkt. Kühlt man sie ab, steigt die relative Luftfeuchte. Aber um wieviel? Leider ist der Zusammenhang nicht linear, so dass man das ausrechnen muss. Da ich das nirgends fertig gefunden habe, habe ich hier http://www.wetterochs.de/wetter/feuchte.html die nötigen Formeln gefunden, umgestellt und in folgende Funktion für die 99_myUtils.pm gegossen:


sub shiftRelHumidity($$$)
# Uses a pair of relative humidity and temperature ($r1, $T1) to calculate the relative
# humidity on spots with same absolute humidity of the air but different temperature $T2.
#
# Useful to calculate the relative humidity near the surface of cold walls. Therefore, use the rel.
# humidity of the room ($r1 in percent), the room Temperature ($T2 in degrees of C) and the temperature
# of the surface of the wall ($T2 in degrees of C). Returns the rel. humidity on the surface in pct then.
{
  my ($T1, $r1, $T2) = @_;
  my $r2 =  ($r1 * 10**((7.62*$T1)/(234.175+$T1))*(273.15+$T2)) / ( 10**((7.62*$T2)/(234.175+$T2))*(273.15+$T1));
  return $r2;
}


Benutzungsbeispiel 1: Wir haben 20 Grad bei 50% rel. Luftfeuchte. Wir heizen die Luft auf 25°C - wie hoch ist dann die relative Luftfeuchte? Dazu in die FHEM-Kommandozeile eingeben:

{shiftRelHumidity(20,50,25)}
Ergebnis ist dann die relative Luftfeuchte bei 25 Grad - nur noch 37%!

Mit echten Messwerten geht es natürlich auch:
{shiftRelHumidity(ReadingsVal("Innenfuehler","temperature",""),ReadingsVal("Innenfuehler","humidity",""),25)}

Was passiert mit der Luftfeuchtigkeit beim Lüften?

Beim Lüften kommt es im Idealfall zum vollständigen Luftaustausch mit der Außenluft. Die Luft von außen ersetzt die Luft im Raum und behält dabei ihre absolute Feuchtigkeit. Allerdings ändert sich meistens ihre Temperatur und damit wie oben beschrieben ihre relative Luftfeuchtigkeit. Berechnen können wir diese Änderung der relativen Feuchte daher praktischerweise wieder über die Funktion shiftRelHumidity - und zwar so, als ob wir die Außenluft auf Innentemperatur aufheizen bzw. abkühlen.

Beispiel: Draußen sind 21 Grad und es ist schwül bei 85% rel. Luftfeuchte. Wir wollen diese Außenluft in den 17 Grad warmen Keller lassen. Wie hoch wäre dann dort die Luftfeuchte? Dazu in die FHEM-Kommandozeile eingeben:

{shiftRelHumidity(21,85,17)}
Ergebnis 108% - oha! Schlechte Idee, da läufts quasi sofort von den Wänden, wir haben den Taupunkt dort unterschritten.

Klappt natürlich auch wieder mit echten Messwerten:
{shiftRelHumidity(ReadingsVal("Aussenfuehler","temperature",""),ReadingsVal("Aussenfuehler","humidity",""),ReadingsVal("Innenfuehler","temperature",""))}

Wann wächst Schimmel?
Oder: warum die Taupunkttemperatur ungeeignet ist, dies zu beurteilen.

Nach der Theorie zur Luftfeuchtigkeit nun aber zum Schimmel. Schimmel braucht Wasser, um wachsen zu können. Möchte man einschätzen, ob in einem Raum Schimmelgefahr besteht, könnte man auf die Idee kommen, das mit FHEM-Bordmitteln über das Taupunkt-Modul ,,dewpoint" zu machen. Wenn der Taupunkt der Raumluft über irgendeiner Oberflächentemperatur liegt, dann liegt dort die rel. Luftfeuchte bei über 100% und es kondensiert dort das Wasser, die Fläche wird nass und es schimmelt. Man müsste also nur die Taupunkttemperatur Td(Raumtemperatur, rel. Raumluftfeuchte) mit der Wandtemperatur vergleichen.

Diese Variante per Taupunkt ist aber bezüglich Schimmel leider nur die halbe Miete: Laut verschiedenen Quellen wächst Schimmel schon viel früher - ohne kondensierten, flüssigen Wasserfilm, allein durch eine hohe relative Luftfeuchte von über 70-80%, und nicht erst 100% wie bei Taupunkttemperatur. Der genaue Wert der relativen Luftfeuchte, ab wann Schimmel wächst, wurde in Studien ermittelt und ist u.A. abhängig von der Sorte des Schimmels, dem Oberflächenmaterial - und der jeweiligen Oberflächentemperatur! Wir können diese kritische Luftfeuchte selbst ausrechnen (in die Datei 99_myUtils.pm einfügen):


sub schimmelfreiMaxHum($)
# Maximal erlaubte relative Luftfeuchte (in 0...100%) in Oberflächennähe, so dass kein Schimmel-Myzelwachstum
# Auftritt. Annahme: optimales Substrat und Myzelwachstum und Sporenwachstum für alle im
# Bau auftretenden Pilze unterbunden, d.h. keine biol. Aktivität.
# Parameter: Temp. der Oberfläche in Grad Celsius
#
{
  my ($Temp) = @_;
  if ($Temp <= 0) {return 100;}
  my $rHmax = 70+20.1*(0.87**$Temp);
  return $rHmax;
}


Beispiele für die FHEM-Kommandozeile:

{schimmelfreiMaxHum(25)}
- Ergebnis 70%, d.h. bei 25 Grad Oberflächentemperatur wächst Schimmel dort ab 70% rel. Luftfeuchte.

{schimmelfreiMaxHum(10)}
- Ergebnis 75%, d.h. bei 10 Grad Oberflächentemperatur wächst Schimmel dort ab 75% rel. Luftfeuchte.

Für Räume, die keine besonders kalten Flächen / Wände haben, haben wir damit im Prinzip schon die Lösung: Es ist die relative Luftfeuchte im Raum unter dem folgendermaßen errechneten Wert zu halten:
{schimmelfreiMaxHum(ReadingsVal("Raumthermometer","temperature",15))}

Problem: Kalte Wände / Kältebrücken.

Problematisch ist, wenn es im Raum kalte Oberflächen gibt - denn an diesen steigt ja wie oben beschrieben durch die Abkühlung der Luft die relative Luftfeuchtigkeit an. Je nach Bausubstanz und Außentemperatur kann eine Außenwand z.B. extrem kalt sein. In meinem Bad (Altbau, denkmalgeschützt, dicke Ziegelwände, ungedämmt) zeigt das Infrarotthermometer durchaus mal 15 Grad in den Fensterzargen - bei draußen gerade einmal 10 Grad. Sagen wir als Beispiel, wir haben:

- 22°C Raumtemperatur
- 55% rel. Luftfeuchtigkeit im Raum
- 15°C Wand-Oberflächentemperatur in der Fensterzarge (mit einem Infrarotthermometer gemessen)

Wir bemühen damit unserere Funktion von oben - {shiftRelHumidity(21,55,15)} - und erhalten 79% rel. Luftfeuchte an der 15 Grad warmen Wand. Uups. Die Funktion {schimmelfreiMaxHum(15)} sagt uns, dass es bei 15 Grad an der Wand aber schon bei 72% schimmelt. Was tun?

Ab welcher Temperatur schimmelt es? Der "Schimmelpoint".

Wir können die kritische Temperatur, ab der es schimmelt, ausrechnen. Wie oben beschrieben, wächst der Schimmel schon bevor das Wasser von der Wand läuft, so dass uns da die Taupunkttemperatur nicht weiterhilft. In der Literatur findet man deshalb auch den Td(80), das ist der "Taupunkt" mit 80% statt 100% relativer Luftfeuchte. Aber wie oben ausgerechnet, sind 80% bei den meisten Temperaturen schon zu viel.

Hier ist deshalb eine weitere Funktion für die Datei 99_myUtils.pm, die auch einfach eine Temperatur ausrechnet - und zwar eine, unter der es wirklich schimmelt, sozusagen also der "Schimmelpoint" unter Berücksichtigung des temperaturabhängigen Schimmelwachstums. Dazu werden die obige Funktionen genutzt (sind also auch in der 99_myUtils.pm nötig!):


sub schimmelfreiMinTemp($$$) {
# Liefert die minimale Temperatur, bei der es - ausgehend von der aktuellen Luftfeuchte im Raum - nicht schimmeln würde.
# Liegt die kälteste Stelle im Raum darüber, besteht keine Schimmelgefahr.
# Liegt die kälteste Stelle im Raum darunter, müsste diese auf die errechnete Temperatur erwärmt werden, so dass es nicht schimmelt.
# Parameter:
# $curTemp - Aktuelle Raumtemperatur in Grad C
# $curHum - Aktuelle rel. Luftfeuchte im Raum in %rH
# $tempLimit (optional) - max. Temperatur, die die Funktion zurückliefert (falls der Rückgabewert z.B. als Heiz-Solltemperatur dient)
  my ($curTemp,$curHum,$tempLimit) = @_;
 
  if (!$tempLimit) {$tempLimit = 100;}

  my $testT=0;
  my $schimmelFrei = 0;
  while ($testT < $tempLimit && !$schimmelFrei) {

     $schimmelFrei = (shiftRelHumidity($curTemp, $curHum, $testT) < schimmelfreiMaxHum($testT));
     
     $testT+=0.1;
  }
  return $testT;
}


Das wenden wir jetzt einmal auf unser Beispiel von oben - 22°C Raumtemperatur, 55% rel. Luftfeuchtigkeit, 15°C Grad Wandtemperatur - an:

{schimmelfreiMinTemp(22,55,100)}

Ergibt 17,7°C, das heißt unsere 15 Grad kalte Wand ist 2,7 Grad zu kalt und würde schimmeln. Mit echten Messwerten geht's natürlich auch wieder:

{schimmelfreiMinTemp(ReadingsVal("Raumthermometer","temperature",15),ReadingsVal("Raumhygrometer","humidity",100),100)}

Kalte Wände - Wandtemperatur ermitteln - Variante 1: Messen

Wenn wir den Raum per Entfeuchter trocknen wollen, müssen wir noch mehr tun, denn wir wissen zwar bislang über die Funktion schimmelfreiMinTemp, wie kalt die Wand sein darf - kennen aber die tatsächliche Wandtemperatur nicht.

Perfekt wäre nun natürlich, einen Oberflächentemperatursensor an der kältesten Stelle der Wand zu platzieren und den Wert direkt zu messen. Wer es ganz genau machen will und seinen Luftentfeuchter wirklich sparsam einsetzen will, der sollte das auch so tun - dann kann man aber dort idealerweise auch gleich kontinuierlich die Luftfeuchtigkeit messen und diese auf einen unkritischen Wert regeln - der Zielwert dieser Regelung wäre dann:

{schimmelfreiMaxHum(ReadingsVal("Wandthermometer","temperature",15))}

Das vergleicht man dann mit dem Messwert des Hygrometers an der Wand und schaltet den Entfeuchter an, wenn die gemessene Luftfeuchte darüber ist. Hat man nur ein Wandthermometer und ein Raumhygrometer mit Raumthermometer, kann man wieder die Funktion shiftRelHumidity verwenden, um die tatsächliche Luftfeuchtigkeit in Wandnähe zu errechnen:

{shiftRelHumidity(ReadingsVal("Raumfuehler","temperature",""),ReadingsVal("Raumfuehler","humidity",""),ReadingsVal("Wandthermometer","temperature",15))}

Im Keller oder an Außenwänden, die durch eine dicke Schrankwand nicht richtig beheizt werden können und so schimmelgefährdet sind, kommt man um einen Wandtemperaturfühler nicht herum. Ich experimentiere hierzu gerade mit Funk-Heizkostenverteilern. Diese sind a) gebraucht extrem billig - 2-3 Euro, b) haben sehr genaue Temperatursensoren, c) die Batterien halten ewig, d) sie haben eine sehr große Funkreichweite und e) messen wirklich die Oberflächentemperatur und nicht die Raumtemperatur, wie es Standard-Raumsensoren tun.

Kalte Wände - Wandtemperatur ermitteln - Variante 2: Ohne Sensor kontinuierlich schätzen

Es geht im Fall von "normalen" Außenwänden aber auch ganz gut ohne Wandtemperaturfühler. Was sich bei mir als ziemlich genau herausgestellt hat, ist die Wandtemperatur kontinuierlich zu schätzen - und zwar in Abhängigkeit von Innen- und Außentemperatur. Hierzu ist es nötig, eine kleine Messreihe mit einem Infrarotthermometer zu machen: Gemessen wird hiermit die Oberflächentemperatur der Wand an der kältesten Stelle, die sich im Raum finden lässt - also z.B. in der Fensterzarge. Zusätzlich benötigen wir die Innentemperatur des Raumes und die Außentemperatur, die FHEM zu dieser Zeit gemessen hat - die kann man ja nach der Messung im FileLog / DBlog nachschauen.

Aus diesen 3 Werten berechnen wir uns einen "Isolationsfaktor" K:

K = (Oberflächentemperatur - Außentemperatur) / (Innentemperatur - Außentemperatur)

Wichtig ist es, die Messung durchzuführen, wenn es draußen richtig schön kalt ist (schön spät Abends / nachts bei Minusgraden) und die Raumtemperatur längere Zeit konstant war - direkt nach dem Aufheizen des Bades bei 15 Grad Außentemperatur ergibt das ganze also eher keine genauen Werte. Die Außentemperatur sollte idealerweise auch konstant sein, aber das ist sie nunmal nicht, daher kann das ganze nicht perfekt funktionieren - aber für unsere Zwecke durchaus ausreichend. Die Messung solltet ihr aber auf jeden Fall ein paar mal wiederholen (6-7 mal zu verschiedenen Zeiten, am besten an mehreren Tagen),  ggf. Ausreißer wegwerfen und dann K mitteln. Sollte K bei euch nicht sonderlich konstant sein - was je nach Bausubstanz / Beheizung durchaus möglich ist - nehmt tendentiell eher einen kleineren Wert, geht also von schlechterer Dämmung aus, wenn ihr sicher sein wollt, dass es nicht schimmelt. Bei mir ergaben sich für meine Altbauwohnung Werte zwischen 0,67 und 0,70 - Mittelwert ist 0,68, den verwende ich seitdem.

Über den Wert können wir nun mit folgender Funktion für die 99_myUtils.pm künftig die Wandtemperatur jederzeit aus Innen- und Außentemperatur schätzen:


sub wallSurfaceTemp($$$)
# Estimates the temperature of the inner wall surface given the outside Temperature in degrees of C as $Tinside,
# the outdoor-temperature $Toutside in degrees of C and an insulation Factor $Kinsulation with K = 1 (theoretical perfect insulation, e.g. vacuum) and
# K = 0 (no insulation at all, means: less than a sheet of paper). You have to calculate K on your own by measuring inside-, outside-, and wall-temperature,
# preferably by averaging multiple measurements on cold days with constant heating of the room.
{
  my ($Tinside, $Toutside, $Kinsulation) = @_;
  my $Tsurface =  ($Tinside * $Kinsulation) + ($Toutside * (1 - $Kinsulation));
  return $Tsurface;
}


Wirklich genau ist die Methode wie gesagt nicht und unterliegt gewissen Schwankungen. Sie ist inspiriert durch diesen Artikel hier (und auf das für uns nötigste weiter vereinfacht): http://www.u-wert.net/u-wert-messen/ - dort sind auch die prinzipiellen Nachteile dieser Schätzung diskutiert worden. Ich habe meine Messreihe vor knapp einem Jahr durchgeführt und immer mal wieder das Ergebnis  mit der realen Wandtemperatur verglichen: Die Abweichung lag maximal bei 1,5 Grad, normalerweise stimmte sie aber auf +/- 0,5 Grad genau. Damit kann ich gut leben ;-) Möglicherweise funktioniert das bei euch nicht so gut - einfach testen.


Userreadings für unkritische Räume

Die neuen "Grenzwerte" können wir nun z.B. in die UserReadings unseres Wandthermostaten packen. Die Beispiele hier sind direkt zum Kopieren in das Feld für das UserReadings-Attribut:

Unterhalb welcher Temperatur irgendwo im Raum schimmelt es? Also, wie warm muss z.B. die Fensterzarge mindestens sein?

schimmelfreiMinTemp { sprintf("%.1f",schimmelfreiMinTemp(ReadingsVal("Raumthermometer","temperature",15),ReadingsVal("Raumhygrometer","humidity",100),100)) }


Wie hoch ist die max. zulässige rel. Luftfeuchte im Raum, ohne dass es schimmelt, wenn man davon ausgeht, dass alle Oberflächen mindestens etwa Raumtemperatur haben?

schimmelfreiMaxHumRoom { sprintf("%.1f",schimmelfreiMaxHum(ReadingsVal("Raumthermometer","temperature",15))) }


Würde Lüften jetzt gerade den Raum trockner machen?

lueftenMoeglich {(ReadingsVal("Raumhygromometer","humidity","N/A") >(shiftRelHumidity(ReadingsVal("Aussenthermometer","temperature","30"),ReadingsVal("Aussenthermometer","humidity","100"), ReadingsVal("Raumthermometer","temperature","N/A") )+3))?"ja":"nein" }


Erwärmt/Kühlt man die Luft außen auf Raumtemperatur, wie wäre dann ihre rel. Luftfeuchte innen?

aussenHumidityEqInnen {sprintf("%.1f",shiftRelHumidity(ReadingsVal("Aussenthermometer","temperature","30"),ReadingsVal("Aussenhygromometer","humidity","100"), ReadingsVal("Raumthermometer","temperature","N/A")))}


Userreadings speziell für kritische Räume mit geschätzter Wandtemperatur

Die nachfolgenden Beispiele gehen von problematischen Räumen aus, die eine Schätzung der Wandtemperatur erforderlich machen. Bitte aber den K-Faktor wie oben beschrieben immer anpassen! Ich habe darauf geachtet, dass die Readings nicht aufeinander aufbauen, dadurch sind die Definitionen leider recht lang:

Geschätzte Wandtemperatur:

wandTemp { sprintf("%.1f", wallSurfaceTemp(ReadingsVal("kuechenthermometer","temperature",15),ReadingsVal("aussenthermometer","temperature",0),0.68)) },


Geschätzte Luftfeuchtigkeit an der Wand:

wandHumidity { sprintf("%.1f", shiftRelHumidity( ReadingsVal("kuechenthermometer","temperature",17), ReadingsVal("kuechenthermometer","humidity",90), wallSurfaceTemp( ReadingsVal("kuechenthermometer","temperature",15), ReadingsVal("aussenthermometer","temperature",0), 0.68) ) ) }


Wie hoch ist die max. zulässige Luftfeuchte in Wandnähe, ohne dass es schimmelt?

schimmelfreiMaxHumWall { sprintf("%.1f",schimmelfreiMaxHum(wallSurfaceTemp(ReadingsVal("Raumthermometer","temperature",15),ReadingsVal("Aussenthermometer","temperature",0),0.68))) }


Das Whole-In-One-Reading: Kann die kalte Wand gerade schimmeln? (in Abhängigkeit von Innen/Außentemperatur, Isolationsfaktor und Luftfeuchte innen unter Berücksichtigung des Temperaturabhängigen Schimmelwachstums)?

schimmelGefahr {(shiftRelHumidity(ReadingsVal("Raumthermometer","temperature",17),ReadingsVal("Raumhygromometer","humidity",90), wallSurfaceTemp(ReadingsVal("Raumthermometer","temperature",15), ReadingsVal("Aussenthermometer","temperature",0),0.68))>schimmelfreiMaxHum(wallSurfaceTemp(ReadingsVal("Raumthermometer","temperature",15),ReadingsVal("Aussenthermometer","temperature",0),0.68))?"ja":"nein")}



Gegenmaßnahmen

Zu wissen, wann es schimmelt, ist das eine. Doch wenn man festgestellt hat, dass die Luftfeuchtigkeit zu hoch ist, muss diese runter. Alle Maßnahmen haben Vor- und Nachteile - ein grober Überblick:


  • Kompressor-Luftentfeuchter: Die wohl naheliegendste Variante. Sie hat den Nachteil, dass je nach Raumgröße mehrere 100 Watt Leistung zur Entfeuchtung benötigt werden, je nach Gerät ein Wassertank bzw. ein Luftfilter regelmäßig zu leeren und zu entkeimen ist, ein mitunter starker Luftzug im Betrieb herrscht und mehr oder minder viel Krach entsteht (Größenordnung: Kühlschrank und Standventilator gleichzeitig an). Außerdem funktionieren die Entfeuchter umso ineffizienter, je niedriger die Raumtemperatur und relative Luftfeuchtigkeit ist (unter 50% bzw. 20°C ist meist kein wirtschaftlicher Betrieb möglich)
  • Luftentfeuchter mit Trocken-Granulat: Zieht zwar ein wenig Wasser aus der Luft, aber hauptsächlich Geld aus der Tasche. Eventuell mögliche Wiederaufbereitung des Granulates ist aufwendig und energieintensiv. Trockenleistung / Fassungsvermögen generell eher gering.
  • Luftentfeuchter mit Peltier-Element: Sind sehr leise (nur Lüftergeräusch), haben aber nicht die Trockenleistung eines Kompressor-Geräts zum gleichen Preis.
  • Stoßlüften: Sehr schnell und effektiv, aber je nach Wetterlage zeitweise nicht möglich (siehe Userreading lueftenMoeglich). Gerade in Feuchträumen mit nassen Handtüchern und anderen Feuchtigkeitsreservoiren muss u.U. wiederholt gelüftet werden. Fenster aber nicht dauerhaft anklappen, das ist kontraproduktiv. FHEM kann per Warnung/Anzeige oder einem elektrischen Fensteröffner helfen.
  • Zwangsheizen: Die relative Luftfeuchte sinkt, allerdings steigt - in geringerem Maße - gleichzeitig die Wachstumsfähigkeit des Schimmels zusammen mit der Temperatur. Ist pauschal gesagt nur bei eher niedrigen Raumtemperaturen, wo Luftentfeuchter an ihre Grenzen kommen, zu empfehlen, da ansonsten zu energieintensiv. In einem eh schon warmen, feuchten Bad bei geringen Außentemperaturen und schlechter Dämmung ist z.B. ein Luftentfeuchter die bessere Wahl.



Beispiel DOIF: Entfeuchtersteuerung in kritischen Räumen

Nun könnt ihr die ganzen Userreadings in Plots einfügen, euch z.B. Warnungen bei wandHumidity > schimmelFreiMaxHum schicken lassen oder das ganze auch per DOIF z.B. zur Entfeuchterregelung benutzen:


define di_bad.luftentfeuchter DOIF ([bad.thermometer:wandHumidity] > ([bad.thermometer:schimmelfreiMaxHum] + 3)) (set bad.luftentfeuchter_Sw on) DOELSEIF ([bad.thermometer:wandHumidity] < [bad.thermometer:schimmelfreiMaxHum]) (set bad.luftentfeuchter_Sw off)


Hier regele ich einen Luftentfeuchter an einem Homematic Zwischenstecker mit Leistungsmessung genau so, dass die Wand immer unter der kritischen Luftfeuchte bleibt (mit 3% Hysterese). Ihr müsst dann nur noch einen Luftentfeuchter finden, der diese Art des Ein-/Ausschaltens per "Steckerziehen" mitmacht und ein wenig mit der Hysterese spielen, so dass es für euren Raum passt. Ich verwende übrigens einen comfee MDF2-16DEN3 - ein sehr preiswerter Luftentfeuchter, der nicht wie viele andere die Eigenart hat, nach Stromwiederkehr einfach auszubleiben. Er genehmigt seinem Kompressor danach zwar eine kurze Zwangspause, läuft dann aber wieder an.
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

TomWest

Hi,

vielen Dank für das ausführliche HowTo. Ich habe ähnliche Gegebenheiten, bin aber zur Zeit eher dabei, eine Kombination aus Aufheizung und Zwangsbelüftung bei passender äußerer Luftfeuchtigkeit zu realisieren. Warum sind passende Wärmetauscher so teuer ...

Bis dann,
Thomas
FHEM on R-π - HM-TC-IT-WM-W-EU - HM-LC-Sw1-FM - HM-SCI-3-FM - HM-CC-RT-DN

peterk_de

Hi Tom,

Zur Belüftungssteuerung kannst du das natürlich genauso verwenden.

- Einschalten des Lüfters wäre dann eine logische "Und" Verknüpfung aus Lüftungsbedarf und Lüftungsmöglichkeit: Wenn beides gegeben, dann soll der Lüfter angeschaltet werden.

- Den Lüftungsbedarf in Hinblick auf Schimmelgefahr ermittelt man in meinem/deinem Szenario so wie oben beschrieben deutlich genauer als per reiner Taupunktberechnung.

- Die Lüftungsmöglichkeit kannst du problemlos über den Taupunktvergleich innen/außen mit FHEM-Bordmitteln ermitteln, dazu brauchst du meine Formeln nicht. Es geht aber natürlich auch mit meiner shiftRelHumidity-Funktion. Ich nutze letztere, um mir eine Benachrichtigung zu schicken, wenn das Fenster wieder zu kann, da die Luftfeuchte nicht weiter Absinken wird:


attr bad.fenster userReadings  wandTemp { ... siehe Eingangsposting ... },
wandHumidity { ... siehe Eingangsposting ... }, lueftenMoeglich {(ReadingsVal("bad.thermometer","humidity","N/A") > (shiftRelHumidity(ReadingsVal("aussenthermometer","temperature","30"),ReadingsVal("aussenthermometer","humidity","100"), ReadingsVal("bad.thermometer","temperature","N/A") ) + 2))?"ja":"nein" }

define di_Bad DOIF ([bad.fenster] eq "offen" and [bad.thermometer:lueftenMoeglich] eq "nein") (set pushover msg 'Lüften fertig' 'Lüften bringt jetzt nichts mehr, Fenster zu!')


Ausgenutzt wird hierbei, dass zwischen Innen- und Außenluft der gleiche Effekt eintritt, wie beim abkühlen der Raumluft an den kalten Wandstellen: Die Luft von außen ändert die Temperatur wenn sie hereinkommt; ihre Wassermenge (das heißt, ihre absolute Luftfeuchte) bleibt aber konstant. Dadurch ändert die Außenluft im Raum ihre relative Luftfeuchte (wenn es im Raum wärmer ist, sinkt sie ab). Und genau das rechnet die Funktion shiftRelHumidity aus.

Ist wie gesagt äquivalent zur Taupunktmethode und sollte auch für einen Ventilator prima funktionieren als nötige Bedingung zum Einschalten.

- Das Bad zu heizen statt zu Lüften wäre dann nötig, wenn Lüftungsbedarf besteht, aber NICHT die so ermittelte Lüftungsmöglichkeit besteht.
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

peterk_de

Kleines Update: Die Berechnung der Funktion shiftRelHumidity() lag bei großen Temperaturdifferenzen ein paar Prozent daneben (der Effekt der Luftfeuchteänderung war durchgängig schwächer als ich es in Wirklichkeit beobachtet habe). Schuld waren die in einer meiner verwendeten Quellen aufgeführten Koeffizienten der Magnus-Formel; ich habe die im Eingangsposting jetzt in jene aus der Wikipedia korrigiert, nun passt es.
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...


amunra

Hallo peterk_de,
DANKE, wirklich sehr sehr interessant - ich lasse das mal bei mir, parallel in einer leicht abgewandelten (inhaltlich gleich) Version, laufen....
Anbei ein paar infos....

peterk_de

Cool, freut mich dass das wer gebrauchen konnte :-) Bei mir läuft das Entfeuchten nach wie vor zuverlässig.

Nur das mit dem Warnen, wann genug gelüftet ist (bzw. sich eine Entlüftersteuerung ausschalten sollte) - da habe ich Probleme bei kalten Außentemperaturen. Liegt aber offensichtlich nicht an meinen Formeln: Ich habe festgestellt, dass mein verwendetes Homematic-Raumthermometer der "Flaschenhals" ist. Wenn es draußen sehr kalt und trocken ist und die Luftfeuchte im Raum dann beim Lüften entsprechend stark absinkt (z.B. auf berechnete und über ein anderes Hygrometer auch tatsächlich gemessene 30% rH), kommt das Teil einfach nicht hinterher und fällt nur so auf 40% ab und auch das nur seeeeeehr gemächlich. Dadurch zündet natürlich das Benachrichtigungs-DOIF nicht und denkt, "es ist im Raum noch zu feucht, bitte weiterlüften".

Ich bin also grad auf der Suche nach einem bissel schnelleren/über breiterem Messbereich genauerem FHEM-kompatiblen Hygrometer... Irgendwas, was mit dem Klassiker-Schimmel-Hygrometer von TFA Dostmann mithalten kann ...

@amunra passt das denn mit den Wandtemperaturen? Haste mal nachgemessen? :-)
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

amunra

Hallo peterk_de,

sorry für die Kurzfassung.
Laut der aktuellen Werte müsste ich hier nur noch lüften/heizen - bin aber im Moment noch recht entspannt, da ich mich noch in der Justier-phase befinde (warte auf konstante Bedingungen).
Bei mir im Haus (Bj. 1957 keine Dämmung) sind die errechneten Wandtemepratur-Werte besser als die gemessenen (mit zum Teil -2 °C (und ungünstiger)).
Ich denke, dass diese aber noch nicht zu 100% valide sind - Gründe hierfür sind die aktuell schwankenden Aussentemperaturen (teilweise von -2 bis +7°C).
Im Schnitt komme ich "grob" auf deine ISO Werte von 0,65. (Ach ja, Fenster (Bj. ca.? 1990 Doppelverglast) sind nicht wirklich das Problem, zumindest nicht laut Tempmessung - Wände im Aussenbereich sind da problematischer...)
Ferner nutze ich mehrere HM-CC-TC's von Homematic, die mich nachhinein ein wenig geägert haben. Die (ja!, mehrere) scheinen ca. 10-12% mehr rel. Luftfeuchtigkeit anzuzeigen (messen)  als tatsächlich IST - ein offset habe ich bisher nicht gefunden (dem wirke ich im Moment rechnerich entgegen). Verifiziert habe ich das ganze mit anderen Sensoren, zuverlässig und recht schnell erwies sich der neu erworbene Raumthermostat HM-TC-IT-WM-W-EU.
Den Sensor (Raumtehrmostat) habe ich testweise auch, über mehrere Stunden (Tage) in die nähe der Wand palziert mit dem Ergebniss, Abweichung: Temp ca. +!3-4°C und bis zu !-30% Luftfeuchtigkeit.
Interessant sind im Memoment die enormen Unterschieden zwischen Wohnraum (ca. 21°C ca. 45-50% Luftfeuchte) und Kellerräume (die eher Problematischen Räume mit ca. 14-16°C 70-90% Luftfeuchte). Im Keller darf ich offensichtlich im Moment nicht lüften....
VG
P.S: Ich melde mich wieder mit neuen Erkenntnissen....

daschauher

Hallo peterk_de,

super Arbeit die Du da geleistet hast. Hut ab und vielen Dank!!
Ich habe mir deinen Post schon lange für später vorgemerkt.
Heute bin ich nun endlich soweit dazu gekommen. Gezwungener massen quasi.
Da ich im Keller gerade nen ziemlich hohen Feuchtigkeitswert habe und es draussen noch feuchter ist, wollte ich es genau wissen wie die verhältnisse sind. Und bisher habe ich es über den Taupunkt gemacht, was aber nicht immer so genau past...
Den Temperaturkoeffizienten habe ich schonmal im Februar ermittelt.
Nun ist es aber warm und laut den Formeln ist die Kellerwand wärmer als der Raum. Das mag bei den Aussenmauern so sein, aber sicher nicht bei den Mauern im Erdreich.
Meine frage ist nun wie ich das am besten mache? Einen neuen Temperaturkoeffizienten ermitteln, für den Sommer und im Winter auf einen anderen umschalten oder ganz anders? Wie würdest du das machen?

Grüsse
Markus

peterk_de

Hi daschauher,

ich glaube, du hast das Problem schon richtig erkannt, das ganze kann natürlich nur bei Außenmauern funktionieren, wenn du als Außentemperatur die der Umgebungsluft draußen nimmst. Das Erdreich kann ja signifikant andere Temperaturen aufweisen als die Luft außen - vor allem wenn es wie gerade sehr schnell warm geworden ist und der Keller sehr tief liegt.

Da wird dir auch ein anderer Koeffizient leider nicht helfen - die Wärmeleitung in der Kellerwand findet ja schließlich von Innenraum zu Erdreich statt. Du müsstest also irgendwo im Garten einen Temperaturfühler vergraben, und zwar so tief, dass er in Höhe des Kellerbodens liegt. Das wäre dann ne gute Näherung der Außentemperatur für die Formel. Aber da ist es in deinem Fall wirklich einfacher, die Wandtemperatur innen selbst zu messen und die Formel gar nicht zu verwenden. Dann hast du es ganz genau.

Mit der Formel kann es aber nicht klappen - die vernachlässigt sämtliche "Speicherung" von Wärme, sowohl in der Wand selbst als auch in deren Umgebung. Das ist bei Luft drumherum kein Problem, weil die eine sehr geringe Wärmespeicherfähigkeit hat, so dass das vernachlässigter ist - Erdreich hat aber leider eine ziemlich große...
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

daschauher

Hallo peterk_de,

vielen dank für die umfangreiche Antwort. Auch wenn es nicht viel weiter hilft, aber zumindest weiß ich jetzt das ich in diese Richtung erst gar keine versuche Unternehmen brauche. Danke!

Vg

Hauswart

1. Installation:
KNX, Tasmota (KNX), Sonos, Unifi

2. Installation:
HM-CFG-USB, Unifi (, SIGNALduino 868, MySensors, SIGNALduino 433)

SonnenSimon

Hallo zusammen,

wundervolle Arbeit & Dokumentation hier! Danke!
(eine Alternative wäre natürlich den Funksensor direkt an die kälteste Stelle zu packen - aber dann weiß man halt die Raumtemperatur nicht mehr..)

und noch perfekter wirds, wenn man die Temperaturabhängigkeit des Schimmelwachstums mit berücksichtigt:
http://www.ibp.fraunhofer.de/content/dam/ibp/de/documents/Publikationen/Fachzeitschriften/gefaehrdungsklassenfuerschimmelpilzetcm45-34971.pdf
(Bild 1, relativ am Ende des pdfs - oder gleich Bild 2)
-> zB: Grenze des Schimmelpilzwachstums: Tapete bei 20°C: 76%rF ; Tapete bei 5°C: 85%rF

Wer hat Bock das einzubauen? Bei mir könnts ne Weile dauern..

Beste Grüße,
Simon

peterk_de

@SonnenSimon: Ist ja Hammergenial!!!

Dann sind die 70%rH, die ich bei mir angesetzt habe, ja definitiv auf der sicheren Seite, aber unter Umständen auch viel zu vorsichtig gewählt (insbesondere wenn die Wandtemperatur niedrig ist) ...

Ich will noch nix versprechen, aber ich finde das sehr spannend und schau es mir mal genauer an ... bei mir schimmelt seit ich das habe zwar nix mehr, aber ich finde es sehr verlockend, die Stromrechnung für den Entfeuchter so noch weiter zu drücken ^^
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

peterk_de

So, hier ist es - der kniffligste Teil war es, die Formeln herauszufinden, die in dem Paper ja leider nicht angegeben waren. Ich hab die aber recht genau aus den Kurven der Diagramme rekonstruieren können. Das hier kommt in die myUtils.pm:


sub schimmelfreiMaxHum($)
# Maximale Relative Luftfeuchte (in 0...100%) in Wandnähe, so dass kein Schimmel-Myzelwachstum
# Auftritt. Annahme: optimales Substrat und Myzelwachstum und Sporenwachstum für alle im
# Bau auftretenden Pilze unterbunden, d.h. keine biol. Aktivität.
# Parameter: Temp. in Grad Celsius
#
{
  my ($Temp) = @_;
  if ($Temp <= 0) {return 100;}
  my $rHmax = 70+20.1*(0.87**$Temp);
  return $rHmax;
}



Und das sollte dann recht einfach oben anzuknüppern sein: Statt in dem DOIF direkt eine feste Rel. Wand-Luftfeuchtigkeit als Grenzwert abzufragen, einfach schimmelfreiMaxHum($Wandtemp) verwenden. Kann ich bei Bedarf auch oben mal noch erweitern. Done.

P.S. Wen nur die laut dem Paper gesundheitsgefährlichen Schimmelarten (Annahme: optimales Substrat und kein Myzelwachstum) interessieren, der nimmt statt der genannten einfach die folgende Formel:


my $rHmax = 77+23*(0.90**$Temp);
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...