Autor Thema: HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten  (Gelesen 8569 mal)

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
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.
« Letzte Änderung: 25 März 2017, 11:38:38 von peterk_de »
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline TomWest

  • Full Member
  • ***
  • Beiträge: 122
    • Ferien im Kutscherhaus im Rheinland
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

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
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.
« Letzte Änderung: 02 Dezember 2014, 13:59:27 von peterk_de »
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
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.
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck


amunra

  • Gast
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....

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
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? :-)
« Letzte Änderung: 27 Januar 2015, 23:15:23 von peterk_de »
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

amunra

  • Gast
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....
« Letzte Änderung: 28 Januar 2015, 00:37:18 von amunra »

Offline daschauher

  • Full Member
  • ***
  • Beiträge: 160
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

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
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...
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline daschauher

  • Full Member
  • ***
  • Beiträge: 160
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

Offline Hauswart

  • Sr. Member
  • ****
  • Beiträge: 697
Derzeitiges Setup unter Anderem:
* HM-CFG-USB
* nanoCUL868 (SlowRF)
* MySensors
* SIGNALduino 433

Offline SonnenSimon

  • New Member
  • *
  • Beiträge: 5
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
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
@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 ^^
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
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);
« Letzte Änderung: 25 März 2017, 11:39:23 von peterk_de »
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline Berndd

  • Full Member
  • ***
  • Beiträge: 155
  • Enjoy your live.
Hallo peterk_de,
habe gerade angefangen mich damit zu beschäftigen, finde das Wiki sehr schlüssig und nachvollziehbar ... soweit ich bisher dazu in der Lage war.

Eine Frage: Ich habe vor (im Keller kommt es ja nicht überall auf Schönheit an) einen "Standard" Temperatur/Feuchte-Sensor (LaCrosse Typ) an der kühlsten Stelle an die Wand zu dübeln. Deshalb die Frage: Wie schätzt Du das ein, könnte es Deine k-Wert Ermittlung ersetzen? Oder sollte man evtl den Sensor raus "operieren" und dichter an die Wand setzen?

Danke,
Bernd

P.S. Habe ja noch den Traum, die feuchte Kellerluft ins Erdgeschoss zu blasen ... im Wohnzimmer läuft ein Raumluftbefeuchter ...

Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Hi Bernd,

kommt auf den Sensor an - bevor du ihn aufmachst, würde ich mal mit nem Infrarotthermometer gucken, ob er die Wandtemperatur genügend genau mitbekommt. Normalerweise sind die Dinger aber in Richtung Wand gut isoliert (sie sollen ja eben die Raumluft messen). Den nackten Sensor direkt aufs Mauerwerk zu packen ist daher sicher das Optimum und definitiv besser als das Schätzen per k-Wert (was bei Kellerwänden sowieso nicht klappt).

Die Kalte Luft aus dem Keller zu holen ... bringt nix. Vor allem im Sommer nicht. Vorausgesetzt, du hast da keine besonderen Feuchtigkeitsquellen drin (Wäscheständer oder so), ist die Luft da unten absolut genauso feucht, wie die bei dir im Wohnzimmer (kommt ja letzten endes beide Luft von außen)  Bläst du die ins Warme Wohnzimmer, ist sie danach relativ genauso trocken wie die bisherige Luft im Wohnzimmer. Das ist ja grad der Witz mit der relativen Luftfeuchte ... Und außerdem, für jeden Kubikmeter, den du aus dem Keller herausbeförderst, kommt von irgendwoher ein anderer Kubikmeter her, der abkühlt und sich dann in der rel. Luftfeuchte bis zur auskondensation steigert ...also leider nur sinnvoll wenn das z.B. dein Wäschetrockenraum ist.
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline Berndd

  • Full Member
  • ***
  • Beiträge: 155
  • Enjoy your live.
...
Den nackten Sensor direkt aufs Mauerwerk zu packen ist daher sicher das Optimum und definitiv besser als das Schätzen per k-Wert (was bei Kellerwänden sowieso nicht klappt).
Ich werde mal auf der Bastelseite nachfragen ...

Zitat
...
Die Kalte Luft aus dem Keller zu holen ... bringt nix.
...
Danke, ich habe überhaupt kein Gefühl dafür. Lasse mir nun bei allen Sensoren auch die absolute Luftfeuchtigkeit anzeigen (Modul dewpoint), dann merkt man wo tatsächlich mehr Wasser ist.
Hatte mich gerade gefragt, wie ich das mit der Wandtemperatur verknüpfe und fand dann Dein Wiki... allerdings hatte ich mit perl noch nie was zu tun ...

Hätte übrigens nicht gedacht, dass jetzt, bei Regen die abs. Luftfeuchtigkeit im Keller grösser ist als draussen. Dieses Diagramm fand ich nicht schlecht, um sich die Verhältnisse vorzustellen, das hilft vielleicht manchem, wie mir, die Zusammenhänge zu verstehen:
http://www.ib-rauch.de/bautens/formel/feuchte-luft.gif

Falls ich erwas zu Wandtemperatur-Messung finde melde ich mich hier.

Gute Nacht,
Bernd


Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Hätte übrigens nicht gedacht, dass jetzt, bei Regen die abs. Luftfeuchtigkeit im Keller grösser ist als draussen.

In dem Fall bringt natürlich ein Ventilator, der es dir ins zu trockene Wohnzimmer bläst, etwas, also wenn du die absolute Feuchte vergleichst. Ich kenne nun dein Keller nicht, aber je nach Wandbeschaffenheit kann die Kellerwand ein super Feuchtigkeitsreservoir sein. Oder gar aus dem Erdreich Wasser nach innen diffundieren lassen, was dann schon in die Kategorie "Baumangel" fallen würde.
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline Berndd

  • Full Member
  • ***
  • Beiträge: 155
  • Enjoy your live.
Technoline auseinander gebaut:
http://forum.fhem.de/index.php/topic,49067.0.html
Gruss,
Bernd
Raspberry pi 1 rev. 2, Wheezy (Linux raspberrypi1 4.1.7+ #817 PREEMPT), FHEM 5.7, JeeLink clone thx Robin, nanoCUL433, Signalduino, BrennenstuhlSteckdosen, LaCrosse Sensoren. LÄUFT NICHT: Energiemessung - Revolt NC-5462, Bresser Erdfeuchtesensor

Offline Spezialtrick

  • Sr. Member
  • ****
  • Beiträge: 832
Vielen Dank für die tolle Vorarbeit!  :)

Ich habe gerade sämtliche userReadings hinzugefügt und bekomme in sämtlichen Räumen Schimmelwarnungen. So sieht mein userReading aus:

wandTemp { sprintf("%.1f", wallSurfaceTemp(ReadingsVal("BZ.Klimasensor","temperature",15),ReadingsVal("UM.Klimasensor","temperature",0),0.68)) },

wandHumidity { sprintf("%.1f", shiftRelHumidity( ReadingsVal("BZ.Klimasensor","temperature",17), ReadingsVal("BZ.Klimasensor","humidity",90),

wallSurfaceTemp( ReadingsVal("BZ.Klimasensor","temperature",15), ReadingsVal("UM.Klimasensor","temperature",0), 0.68) ) ) }

lueftenMoeglich {(ReadingsVal("BZ.Klimasensor","humidity","N/A") >(shiftRelHumidity(ReadingsVal("UM.Klimasensor","temperature","30"),ReadingsVal("UM.Klimasensor","humidity","100"), ReadingsVal("BZ.Klimasensor","temperature","N/A") )+10))?"ja":"nein" }

aussenHumidityEqInnen {sprintf("%.1f",shiftRelHumidity(ReadingsVal("UM.Klimasensor","temperature","30"),ReadingsVal("UM.Klimasensor","humidity","100"), ReadingsVal("BZ.Klimasensor","temperature","N/A")))}

schimmelfreiMaxHum { sprintf("%.1f",schlimmelfreiMaxHum(wallSurfaceTemp(ReadingsVal("BZ.Klimasensor","temperature",15),ReadingsVal("UM.Klimasensor","temperature",0),0.68))) }

schimmelGefahr {(shiftRelHumidity(ReadingsVal("BZ.Klimasensor","temperature",17),ReadingsVal("BZ.Klimasensor","humidity",90), wallSurfaceTemp(ReadingsVal("BZ.Klimasensor","temperature",15), ReadingsVal("UM.Klimasensor","temperature",0),0.68))>schlimmelfreiMaxHum(wallSurfaceTemp(ReadingsVal("BZ.Klimasensor","temperature",15),ReadingsVal("UM.Klimasensor","temperature",0),0.68))?"ja":"nein")}


Den Koeffizienten habe ich noch nicht geändert, da ich diesen mangels Thermometer noch nicht messen konnte. Im Anhang findet sich ein Foto mit den Werten, die bei mir errechnet werden. Sind die Werte plausibel?
« Letzte Änderung: 17 Januar 2017, 23:06:17 von Spezialtrick »
FHEM - Cubietruck - Homematic - MAX!

Bestellung HM/MySensors Relay Platine: https://forum.fhem.de/index.php/topic,48235.0.html
Hilfreich Hilfreich x 1 Liste anzeigen

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Die sehen sehr plausibel aus. Und danach, dass es draußen sehr kalt ist ;) Allerdings hast du jetzt dann wohl mit meinem Koeffizienten gearbeitet, also einem, der dem meiner Kältebrücken im Bad entspricht. Ich hoffe für dich, dass du bessere Bausubstanz hast ^^ .

Aber ja, bei mir läuft bei den aktuellen Minusgraden und 55% Luftfeuchte im Bad der Entfeuchter an, und das leider zu recht :(
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline Spezialtrick

  • Sr. Member
  • ****
  • Beiträge: 832
Ohjaaa es ist kalt für Bonner Verhältnisse, -5 Grad.  :D

Vollkommen richtig, ich habe deinen Koeffizienten genommen, aber zum Wochenende werde ich meinen eigenen messen/berechnen. Es graut mir ehrlich gesagt vor dem Ergebnis...

Könntest du dir noch mein DOIF angucken?

define BZ.Lueften.Automatik DOIF
([BZ.Klimasensor:schimmelGefahr] eq "ja" and [BZ.Klimasensor:lueftenMoeglich] eq "ja" and [BZ.Fenster:state] eq "closed") (set BZ.Lueften Lüften zwingend notwendig) (set Pushover msg 'Lüften im Bad notwendig!')
DOELSEIF ([BZ.Klimasensor:schimmelGefahr] eq "ja" and [BZ.Klimasensor:lueftenMoeglich] eq "ja" and [BZ.Fenster:state] eq "open") (set BZ.Lueften wird gelüftet)
DOELSEIF ([BZ.Klimasensor:schimmelGefahr] eq "nein" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "closed") (set BZ.Lueften Lüften sollte vermieden werden)
DOELSEIF ([BZ.Klimasensor:schimmelGefahr] eq "nein" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "open") (set BZ.Lueften Fenster sollte geschlossen werden) (set Pushover msg 'Fenster im Bad schließen!')
DOELSEIF ([BZ.Klimasensor:schimmelGefahr] eq "ja" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "closed") (set BZ.Lueften Lüften nicht möglich heizen?)
DOELSEIF ([BZ.Klimasensor:schimmelGefahr] eq "ja" and [BZ.Klimasensor:lueftenMoeglich] eq "nein" and [BZ.Fenster:state] eq "open") (set BZ.Lueften Fenster schließen Lüften bringt nichts mehr!) (set Pushover msg 'Fenster im Bad schließen! Lüften bringt nichts!')
DOELSEIF ([BZ.Klimasensor:schimmelGefahr] eq "nein" and [BZ.Klimasensor:lueftenMoeglich] eq "ja" and [BZ.Fenster:state] eq "closed") (set BZ.Lueften Lüften möglich aber nicht nötig!)
DOELSEIF ([BZ.Klimasensor:schimmelGefahr] eq "nein" and [BZ.Klimasensor:lueftenMoeglich] eq "ja" and [BZ.Fenster:state] eq "open") (set BZ.Lueften wird gelüftet ist aber nicht nötig!)

Es soll mich entsprechend der Gegebenheiten, darüber informieren, was zu tun ist. Was macht man eigentlich, wenn Schimmelgefahr besteht und man nicht lüften sollte, weil "lueftenMoeglich" nein ausgibt?

Könnte man noch einen Auskühlschutz einbauen? Gerade bei den aktuellen Temperaturen, will man ja nur solange lüften, wie es tatsächlich notwendig ist, ohne dass die Temperatur zu weit absinkt.
FHEM - Cubietruck - Homematic - MAX!

Bestellung HM/MySensors Relay Platine: https://forum.fhem.de/index.php/topic,48235.0.html
Hilfreich Hilfreich x 1 Liste anzeigen

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Ohjaaa es ist kalt für Bonner Verhältnisse, -5 Grad.  :D

Vollkommen richtig, ich habe deinen Koeffizienten genommen, aber zum Wochenende werde ich meinen eigenen messen/berechnen. Es graut mir ehrlich gesagt vor dem Ergebnis...

Könntest du dir noch mein DOIF angucken?


Das sieht soweit sehr vernünftig aus. Insbesondere die Fallunterscheidung mit allen Kombinationen aus Schimmelgefahr und "Lüften möglich" macht sehr viel Sinn und mache ich im Prinzip ganz ähnlich. Ich habe allerdings noch andere Variablen mit reingenommen (Entfeuchter, Präsenz, Luftqualität/VOC) - das ist eine übelst lange myUtils.pm-Funktion geworden, die ich hier lieber keinem zumuten will ;)

Zitat
Was macht man eigentlich, wenn Schimmelgefahr besteht und man nicht lüften sollte, weil "lueftenMoeglich" nein ausgibt?

Das ist genau der Punkt, wo man entweder Zwangsheizen oder per Luftentfeuchter entfeuchten sollte. Kommt vor, ist aber recht selten. Bei uns läuft der Entfeuchter eigentlich nur, weil wir zu faul sind, im Bad nach dem Duschen alle 1-2 Stunden das Fenster aufzureißen und wieder zu schließen. Denn du musst ja nicht denken, dass es mit  10 min Lüften nach dem Duschen getan ist. Da sind die Luftwerte zwar erstmal wieder super, aber die Handtücher und die Dusche noch nicht trocken, so dass du nach spätestens ner Stunde wieder die Schimmelwarnung bekommen wirst ;(

Zitat
Könnte man noch einen Auskühlschutz einbauen? Gerade bei den aktuellen Temperaturen, will man ja nur solange lüften, wie es tatsächlich notwendig ist, ohne dass die Temperatur zu weit absinkt.

Ja, aber kommt recht selten vor, dass du den brauchst. Grund ist derselbe wie oben: Je Kälter, desto trockener die Außenluft. Das würde also max. an nebligen Herbsttagen "greifen", im Winter kommt deine Meldung "Fenster schließen" ziemlich sicher vorher schon. Aber schaden kann es natürlich nicht, grad am Anfang in der Testphase.
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck
Hilfreich Hilfreich x 1 Liste anzeigen

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Ich poste es doch mal. Es läuft seit über einem Jahr auch stabil - meine generische Funktion für die myUtils.pm , die diverse Readings zum Thema Lüften für alle Räume mit Homematic-Thermostaten generiert. Es wird auch automatisch berücksichtigt, ob der Raum nen CO2- und/oder VOC-Sensor hat und ob "Sommermodus" (=Wohnung möglichst kühlen) oder "Heizmodus" (=Normalbetrieb) herrscht, was ich 2x im jahr über einen Dummy einstelle.

Vielleicht kannst du da ja ggf. interessante Regeln draus ableiten. Ist eigentlich selbsterklärend benannt.


sub calcLueftungsStates($$) {

   my ($NAME,$EVENT) = @_;

   if (!($NAME =~ /.*floorplan.*/)) {
      ##### Daten sammeln
     
      my $room;
     
      my $badOben = ($NAME =~ /.*bad.oben.*/);
      my $badUnten = ($NAME =~ /.*bad.unten.*/);
      my $schlafzimmer = ($NAME =~ /.*schlafzimmer.*/);
      my $wohnzimmer = ($NAME =~ /.*(wohnzimmer|stube).*/);
      my $kueche = ($NAME =~ /.*(kueche).*/);
      my $flur = ($NAME =~ /.*(flur|abstell).*/);
      my $kinderzimmer = ($NAME =~ /.*(kinderzimmer).*/);

      if ($badOben) {$room = 'bad.oben';}
      if ($badUnten) {$room = 'bad.unten';}
      if ($schlafzimmer) {$room = 'schlafzimmer';}
      if ($wohnzimmer) {$room = 'stube';}
      if ($kueche) {$room = 'kueche';}
      if ($flur) {$room = 'flur';}
      if ($kinderzimmer) {$room = 'kinderzimmer';}

      my $thermostat = "$room.wandthermostat_Weather";
     
      my $innenTemp=ReadingsVal($thermostat,"temperature",15);
      my $innenHum =ReadingsVal($thermostat,"humidity",90);
     
      my $aussenTemp=ReadingsVal("wohnung.aussenthermometer","temperature",0);
      my $aussenHum =ReadingsVal("wohnung.aussenthermometer","humidity","100");
     
      my $heizModus = ReadingsVal("wohnung.heizmodus","state","aus");
     
      my $fenster1 = ReadingsVal("$room.fenster","state","none");
      my $fenster2 = ReadingsVal("$room.fenster2","state","none");
     
      my $co2 = ReadingsVal("$room.co2","co2",0);
      my $voc = ReadingsVal("$room.raumluft","voc",0);
     
      ##### Neu berechnete Werte
     
      my $etwasOffen = (($fenster1 eq "open") || ($fenster2 eq "open"));
     
      my $wandTemp = wallSurfaceTemp($innenTemp,$aussenTemp,0.68);     
      my $wandHumidity = shiftRelHumidity($innenTemp, $innenHum, $wandTemp);
      my $aussenHumidityEqInnen = shiftRelHumidity($aussenTemp, $aussenHum, $innenTemp);
      my $schimmelfreiMaxHum = schimmelfreiMaxHum($wandTemp);
     
      my $schimmelGefahr = ($wandHumidity > $schimmelfreiMaxHum);
      my $luftZuTrocken = (!$schimmelGefahr && ($innenHum < 40));
      my $lueftenSenktLuftfeuchte = ($innenHum > $aussenHumidityEqInnen);
     
      my $entfeuchterAn = ($schimmelGefahr && ($innenHum > 51)) && !$etwasOffen;
      my $entfeuchterAus = (($wandHumidity < ($schimmelfreiMaxHum - 3)) || ($innenHum < 50)) || $etwasOffen;     
     
      my $luftfeuchteOeffnenEmpfohlen    = ($schimmelGefahr &&  $lueftenSenktLuftfeuchte) || ($luftZuTrocken && !$lueftenSenktLuftfeuchte);
      my $luftfeuchteSchliessenEmpfohlen = ($schimmelGefahr && !$lueftenSenktLuftfeuchte) || ($luftZuTrocken && $lueftenSenktLuftfeuchte);

      my $kuehlenUeberTemp = 23;
      if ($badOben) {
        $kuehlenUeberTemp = 25;
      } elsif ($badUnten) {
        $kuehlenUeberTemp = 25;
      } elsif ($schlafzimmer) {
        $kuehlenUeberTemp = 22.5;
      } elsif ($wohnzimmer) {
        $kuehlenUeberTemp = 23;
      } elsif ($kueche) {
        $kuehlenUeberTemp = 24;
      } elsif ($kinderzimmer) {
        $kuehlenUeberTemp = 23;
      }
     
      my $kuehlenAufTemp = 21;
      if ($badOben) {
        $kuehlenAufTemp = 22;
      } elsif ($badUnten) {
        $kuehlenAufTemp = 20;
      } elsif ($schlafzimmer) {
        $kuehlenAufTemp = 21.5;
      } elsif ($wohnzimmer) {
        $kuehlenAufTemp = 21.5;
      } elsif ($kueche) {
        $kuehlenAufTemp = 20;
      } elsif ($kinderzimmer) {
        $kuehlenAufTemp = 21;
      }

     
      my $tempOeffnenEmpfohlen =  (   (($heizModus eq "Kühlen") && ($innenTemp > $aussenTemp) && ($innenTemp > $kuehlenUeberTemp))
                                   || (($heizModus eq "Heizen") && ($innenTemp < $aussenTemp))
                                  ) ;
     
      my $tempSchliessenEmpfohlen =  (   (($heizModus eq "Kühlen") && (
      (($innenTemp < $aussenTemp) && ($innenTemp > $kuehlenUeberTemp))
        || (($innenTemp > $aussenTemp) && ($innenTemp < $kuehlenAufTemp))
        )
      )
                                      || (($heizModus eq "Heizen") && ($innenTemp > $aussenTemp))
                                     );
                               
      my $luftgueteSensorVorhanden =  (($co2 ne '0') || ($voc ne '0'));
     
      my $luftgueteOeffnenEmpfohlen =  ((($co2 > 1500) || ($voc > 2000)) && $luftgueteSensorVorhanden);
      my $luftgueteSchliessenEmpfohlen = (($co2 < 600) && ($voc < 700) && $luftgueteSensorVorhanden);
     

      my $schliessenEmpfohlen;     
     
      if ($luftgueteSchliessenEmpfohlen || !$luftgueteSensorVorhanden) {
       
       
        if ($luftfeuchteSchliessenEmpfohlen && $tempSchliessenEmpfohlen) {
          $schliessenEmpfohlen = true;
        } elsif (!$luftfeuchteSchliessenEmpfohlen && !$tempSchliessenEmpfohlen) {
          $schliessenEmpfohlen = false;
        } else {
          if (!$luftfeuchteOeffnenEmpfohlen && !$tempOeffnenEmpfohlen) {
            $schliessenEmpfohlen = true; 
          } else {
            if (     ($luftfeuchteSchliessenEmpfohlen && ($heizModus eq "Heizen"))
                  || ($tempSchliessenEmpfohlen && ($heizModus eq "Kühlen"))
            ) {
              $schliessenEmpfohlen = true; 
            } else {
              $schliessenEmpfohlen = false;
            }
          }
       
        }
       
      } else {
        $schliessenEmpfohlen = false;
      }
     
     
      my $oeffnenEmpfohlen = (($luftfeuchteOeffnenEmpfohlen || $luftgueteOeffnenEmpfohlen || $tempOeffnenEmpfohlen)  && !$schliessenEmpfohlen) ;




      my $fenster1richtig = (($fenster1 eq "closed") && $schliessenEmpfohlen) || ($etwasOffen && $oeffnenEmpfohlen) || (!$oeffnenEmpfohlen && !$schliessenEmpfohlen);
      my $fenster2richtig = (($fenster2 eq "closed") && $schliessenEmpfohlen) || ($etwasOffen && $oeffnenEmpfohlen) || (!$oeffnenEmpfohlen && !$schliessenEmpfohlen);
     
      ##### Alle sinnvollen Werte als Readings setzen
     
      fhem("setreading $thermostat wandTemp ".sprintf("%.1f", $wandTemp));
      fhem("setreading $thermostat wandHumidity ".sprintf("%.0f", $wandHumidity));
      fhem("setreading $thermostat aussenHumidityEqInnen ".sprintf("%.0f", $aussenHumidityEqInnen));
      fhem("setreading $thermostat schimmelfreiMaxHum ".sprintf("%.0f", $schimmelfreiMaxHum));
     
      fhem("setreading $thermostat schimmelGefahr ".($schimmelGefahr?"ja":"nein"));   

      fhem("setreading $thermostat oeffnenEmpfohlen ".($oeffnenEmpfohlen?"ja":"nein"));   
      fhem("setreading $thermostat schliessenEmpfohlen ".($schliessenEmpfohlen?"ja":"nein"));   

      fhem("setreading $thermostat luftfeuchteOeffnenEmpfohlen ".($luftfeuchteOeffnenEmpfohlen?"ja":"nein"));   
      fhem("setreading $thermostat luftfeuchteSchliessenEmpfohlen ".($luftfeuchteSchliessenEmpfohlen?"ja":"nein"));   

      fhem("setreading $thermostat luftgueteOeffnenEmpfohlen ".($luftgueteOeffnenEmpfohlen?"ja":"nein"));   
      fhem("setreading $thermostat luftgueteSchliessenEmpfohlen ".($luftgueteSchliessenEmpfohlen?"ja":"nein")); 

      fhem("setreading $thermostat tempOeffnenEmpfohlen ".($tempOeffnenEmpfohlen?"ja":"nein"));   
      fhem("setreading $thermostat tempSchliessenEmpfohlen ".($tempSchliessenEmpfohlen?"ja":"nein")); 
     
      fhem("setreading $thermostat fenster1richtig ".($fenster1richtig?"ja":"nein"));     
      if ($fenster2 ne "none") {
        fhem("setreading $thermostat fenster2richtig ".($fenster2richtig?"ja":"nein"));
      }
     
      if ($entfeuchterAn) {
        fhem("setreading $thermostat entfeuchter an");
      } elsif ($entfeuchterAus) {
        fhem("setreading $thermostat entfeuchter aus");
      }
  }
}


« Letzte Änderung: 25 März 2017, 11:41:09 von peterk_de »
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline Spezialtrick

  • Sr. Member
  • ****
  • Beiträge: 832
Ja, aber kommt recht selten vor, dass du den brauchst. Grund ist derselbe wie oben: Je Kälter, desto trockener die Außenluft. Das würde also max. an nebligen Herbsttagen "greifen", im Winter kommt deine Meldung "Fenster schließen" ziemlich sicher vorher schon. Aber schaden kann es natürlich nicht, grad am Anfang in der Testphase.

Ich glaube wir meinen etwas anderes, denn aktuell würde ich den Auskühlschutz gut gebrauchen können. ^^

Ich teste das DOIF aktuell im Badezimmer. Gewisse Zeit nach der Fensteröffnung wird keine Schimmelgefahr mehr gemeldet. Da die Außenluft jedoch eiskalt und trocken ist, lohnt sich das Lüften trotzdem weiterhin. Allerdings fällt die Raumtemperatur immer weiter, weil "lueftenMoeglich" auf "Ja" steht. Würde es hier nicht Sinn machen eine Mindesttemperatur als Auskühlschutz zu definieren? "lueftenMoeglich" greift doch erst, wenn die Außenluft die Raumluft feuchter machen würde?

Hier ist etwas ähnliches beschrieben:

https://forum.fhem.de/index.php?topic=60114.0
FHEM - Cubietruck - Homematic - MAX!

Bestellung HM/MySensors Relay Platine: https://forum.fhem.de/index.php/topic,48235.0.html

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Ach so meinst du das! OK das erledigen meine Regeln (siehe Code im vorigen Post) implizit automatisch mit. Im Heizbetrieb kannst du die im Prinzip runterbrechen auf "wenn (keine Schimmelgefahr ODER Lüften nicht möglich) UND Fenster offen dann Meldung Fenster bitte schließen". Dann brauchst du eigentlich nicht zusätzlich nach der Temperatur schauen.
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

amunra

  • Gast
Ich melde mich auch mal nach fast zwei Jahren zurück und möchte meinen Dank aussprechend, weil wir die problematischen Räume seit zwei Jahren, mit der hier vorgestellten Methode, gut im Griff haben.
Danke insbesondere an peterk_de für's Teilen….

Online herrmannj

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 3867
Auch von meiner Seite ganz herzlichen Dank an peterk_de für das Ausarbeiten der math und das Teilen hier !

Hintergrund: Bausubstanz relativ neu. Nun habe ich unser SZ umgestaltet und dabei eine dicke Schrankwand an die Außenmauer gestellt. Ein Bekannter hat mich dann aufmerksam gemacht das hier potentiell Probleme (hinter dem Schrank) entstehen können. Grob vereinfacht: ein voll gepackter Schrank isoliert die Wand so effektiv von der Heizung im Raum das auch gut gedämmte Mauern dahinter in den kritischen bereich auskühlen können.

Meiner Meinung nach ist der von peterk_de vorgestellt Ansatz wie das zu überwachen ist der einzig Richtige. Reine dewpoint Berechnungen greifen zu kurz. Im ersten Schritt installiere ich Temperaturfühler an der Wand dahinter plus Raumfühler (t+rh) und verwende die Formeln von peterk_de um das auszuwerten.

Nochmal: herzlichen Dank!.

vg
joerg
smartVisu mit fronthem, einiges an HM, RFXTRX, Oregon, CUL, Homeeasy, ganz viele LED + Diverse

Offline Hauswart

  • Sr. Member
  • ****
  • Beiträge: 697
@peterk_de
Ich poste es doch mal. Es läuft seit über einem Jahr auch stabil - meine generische Funktion für die myUtils.pm , die diverse Readings zum Thema Lüften für alle Räume mit Homematic-Thermostaten generiert. Es wird auch automatisch berücksichtigt, ob der Raum nen CO2- und/oder VOC-Sensor hat und ob "Sommermodus" (=Wohnung möglichst kühlen) oder "Heizmodus" (=Normalbetrieb) herrscht, was ich 2x im jahr über einen Dummy einstelle.

Vielleicht kannst du da ja ggf. interessante Regeln draus ableiten. Ist eigentlich selbsterklärend benannt.


sub calcLueftungsStates($$) {

   my ($NAME,$EVENT) = @_;

   if (!($NAME =~ /.*floorplan.*/)) {
      ##### Daten sammeln
     
      my $room;
     
      my $badOben = ($NAME =~ /.*bad.oben.*/);
      my $badUnten = ($NAME =~ /.*bad.unten.*/);
      my $schlafzimmer = ($NAME =~ /.*schlafzimmer.*/);
      my $wohnzimmer = ($NAME =~ /.*(wohnzimmer|stube).*/);
      my $kueche = ($NAME =~ /.*(kueche).*/);
      my $flur = ($NAME =~ /.*(flur|abstell).*/);
      my $kinderzimmer = ($NAME =~ /.*(kinderzimmer).*/);

      if ($badOben) {$room = 'bad.oben';}
      if ($badUnten) {$room = 'bad.unten';}
      if ($schlafzimmer) {$room = 'schlafzimmer';}
      if ($wohnzimmer) {$room = 'stube';}
      if ($kueche) {$room = 'kueche';}
      if ($flur) {$room = 'flur';}
      if ($kinderzimmer) {$room = 'kinderzimmer';}

      my $thermostat = "$room.wandthermostat_Weather";
     
      my $innenTemp=ReadingsVal($thermostat,"temperature",15);
      my $innenHum =ReadingsVal($thermostat,"humidity",90);
     
      my $aussenTemp=ReadingsVal("wohnung.aussenthermometer","temperature",0);
      my $aussenHum =ReadingsVal("wohnung.aussenthermometer","humidity","100");
     
      my $heizModus = ReadingsVal("wohnung.heizmodus","state","aus");
     
      my $fenster1 = ReadingsVal("$room.fenster","state","none");
      my $fenster2 = ReadingsVal("$room.fenster2","state","none");
     
      my $co2 = ReadingsVal("$room.co2","co2",0);
      my $voc = ReadingsVal("$room.raumluft","voc",0);
     
      ##### Neu berechnete Werte
     
      my $etwasOffen = (($fenster1 eq "open") || ($fenster2 eq "open"));
     
      my $wandTemp = wallSurfaceTemp($innenTemp,$aussenTemp,0.68);     
      my $wandHumidity = shiftRelHumidity($innenTemp, $innenHum, $wandTemp);
      my $aussenHumidityEqInnen = shiftRelHumidity($aussenTemp, $aussenHum, $innenTemp);
      my $schimmelfreiMaxHum = schlimmelfreiMaxHum($wandTemp);
     
      my $schimmelGefahr = ($wandHumidity > $schimmelfreiMaxHum);
      my $luftZuTrocken = (!$schimmelGefahr && ($innenHum < 40));
      my $lueftenSenktLuftfeuchte = ($innenHum > $aussenHumidityEqInnen);
     
      my $entfeuchterAn = ($schimmelGefahr && ($innenHum > 51)) && !$etwasOffen;
      my $entfeuchterAus = (($wandHumidity < ($schimmelfreiMaxHum - 3)) || ($innenHum < 50)) || $etwasOffen;     
     
      my $luftfeuchteOeffnenEmpfohlen    = ($schimmelGefahr &&  $lueftenSenktLuftfeuchte) || ($luftZuTrocken && !$lueftenSenktLuftfeuchte);
      my $luftfeuchteSchliessenEmpfohlen = ($schimmelGefahr && !$lueftenSenktLuftfeuchte) || ($luftZuTrocken && $lueftenSenktLuftfeuchte);

      my $kuehlenUeberTemp = 23;
      if ($badOben) {
        $kuehlenUeberTemp = 25;
      } elsif ($badUnten) {
        $kuehlenUeberTemp = 25;
      } elsif ($schlafzimmer) {
        $kuehlenUeberTemp = 22.5;
      } elsif ($wohnzimmer) {
        $kuehlenUeberTemp = 23;
      } elsif ($kueche) {
        $kuehlenUeberTemp = 24;
      } elsif ($kinderzimmer) {
        $kuehlenUeberTemp = 23;
      }
     
      my $kuehlenAufTemp = 21;
      if ($badOben) {
        $kuehlenAufTemp = 22;
      } elsif ($badUnten) {
        $kuehlenAufTemp = 20;
      } elsif ($schlafzimmer) {
        $kuehlenAufTemp = 21.5;
      } elsif ($wohnzimmer) {
        $kuehlenAufTemp = 21.5;
      } elsif ($kueche) {
        $kuehlenAufTemp = 20;
      } elsif ($kinderzimmer) {
        $kuehlenAufTemp = 21;
      }

     
      my $tempOeffnenEmpfohlen =  (   (($heizModus eq "Kühlen") && ($innenTemp > $aussenTemp) && ($innenTemp > $kuehlenUeberTemp))
                                   || (($heizModus eq "Heizen") && ($innenTemp < $aussenTemp))
                                  ) ;
     
      my $tempSchliessenEmpfohlen =  (   (($heizModus eq "Kühlen") && (
      (($innenTemp < $aussenTemp) && ($innenTemp > $kuehlenUeberTemp))
        || (($innenTemp > $aussenTemp) && ($innenTemp < $kuehlenAufTemp))
        )
      )
                                      || (($heizModus eq "Heizen") && ($innenTemp > $aussenTemp))
                                     );
                               
      my $luftgueteSensorVorhanden =  (($co2 ne '0') || ($voc ne '0'));
     
      my $luftgueteOeffnenEmpfohlen =  ((($co2 > 1500) || ($voc > 2000)) && $luftgueteSensorVorhanden);
      my $luftgueteSchliessenEmpfohlen = (($co2 < 600) && ($voc < 700) && $luftgueteSensorVorhanden);
     

      my $schliessenEmpfohlen;     
     
      if ($luftgueteSchliessenEmpfohlen || !$luftgueteSensorVorhanden) {
       
       
        if ($luftfeuchteSchliessenEmpfohlen && $tempSchliessenEmpfohlen) {
          $schliessenEmpfohlen = true;
        } elsif (!$luftfeuchteSchliessenEmpfohlen && !$tempSchliessenEmpfohlen) {
          $schliessenEmpfohlen = false;
        } else {
          if (!$luftfeuchteOeffnenEmpfohlen && !$tempOeffnenEmpfohlen) {
            $schliessenEmpfohlen = true; 
          } else {
            if (     ($luftfeuchteSchliessenEmpfohlen && ($heizModus eq "Heizen"))
                  || ($tempSchliessenEmpfohlen && ($heizModus eq "Kühlen"))
            ) {
              $schliessenEmpfohlen = true; 
            } else {
              $schliessenEmpfohlen = false;
            }
          }
       
        }
       
      } else {
        $schliessenEmpfohlen = false;
      }
     
     
      my $oeffnenEmpfohlen = (($luftfeuchteOeffnenEmpfohlen || $luftgueteOeffnenEmpfohlen || $tempOeffnenEmpfohlen)  && !$schliessenEmpfohlen) ;




      my $fenster1richtig = (($fenster1 eq "closed") && $schliessenEmpfohlen) || ($etwasOffen && $oeffnenEmpfohlen) || (!$oeffnenEmpfohlen && !$schliessenEmpfohlen);
      my $fenster2richtig = (($fenster2 eq "closed") && $schliessenEmpfohlen) || ($etwasOffen && $oeffnenEmpfohlen) || (!$oeffnenEmpfohlen && !$schliessenEmpfohlen);
     
      ##### Alle sinnvollen Werte als Readings setzen
     
      fhem("setreading $thermostat wandTemp ".sprintf("%.1f", $wandTemp));
      fhem("setreading $thermostat wandHumidity ".sprintf("%.0f", $wandHumidity));
      fhem("setreading $thermostat aussenHumidityEqInnen ".sprintf("%.0f", $aussenHumidityEqInnen));
      fhem("setreading $thermostat schimmelfreiMaxHum ".sprintf("%.0f", $schimmelfreiMaxHum));
     
      fhem("setreading $thermostat schimmelGefahr ".($schimmelGefahr?"ja":"nein"));   

      fhem("setreading $thermostat oeffnenEmpfohlen ".($oeffnenEmpfohlen?"ja":"nein"));   
      fhem("setreading $thermostat schliessenEmpfohlen ".($schliessenEmpfohlen?"ja":"nein"));   

      fhem("setreading $thermostat luftfeuchteOeffnenEmpfohlen ".($luftfeuchteOeffnenEmpfohlen?"ja":"nein"));   
      fhem("setreading $thermostat luftfeuchteSchliessenEmpfohlen ".($luftfeuchteSchliessenEmpfohlen?"ja":"nein"));   

      fhem("setreading $thermostat luftgueteOeffnenEmpfohlen ".($luftgueteOeffnenEmpfohlen?"ja":"nein"));   
      fhem("setreading $thermostat luftgueteSchliessenEmpfohlen ".($luftgueteSchliessenEmpfohlen?"ja":"nein")); 

      fhem("setreading $thermostat tempOeffnenEmpfohlen ".($tempOeffnenEmpfohlen?"ja":"nein"));   
      fhem("setreading $thermostat tempSchliessenEmpfohlen ".($tempSchliessenEmpfohlen?"ja":"nein")); 
     
      fhem("setreading $thermostat fenster1richtig ".($fenster1richtig?"ja":"nein"));     
      if ($fenster2 ne "none") {
        fhem("setreading $thermostat fenster2richtig ".($fenster2richtig?"ja":"nein"));
      }
     
      if ($entfeuchterAn) {
        fhem("setreading $thermostat entfeuchter an");
      } elsif ($entfeuchterAus) {
        fhem("setreading $thermostat entfeuchter aus");
      }
  }
}



Ersetzt dieser Code Beitrag 1? Oder inwiefern ergänzt dieser diesen bzw. wie rufst du diese Funktion auf?
Derzeitiges Setup unter Anderem:
* HM-CFG-USB
* nanoCUL868 (SlowRF)
* MySensors
* SIGNALduino 433

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Hallo zusammen,

@herrmann, danke für das Lob, freut mich dass ich mich für deine unermüdliche Arbeit etwas revanchieren konnte :-)

@hauswart nein. das ist nur als Beispiel gedacht. Ich nutze das in der 99_myUtils, um mir alle für's Lüften interessanten Werte zu berechnen. Spannend sind dabei insb. vielleicht folgende Zeilen:


      my $wandTemp = wallSurfaceTemp($innenTemp,$aussenTemp,0.68);      # Wandtemperatur innen. K-faktor anpassen!
      my $wandHumidity = shiftRelHumidity($innenTemp, $innenHum, $wandTemp);  # Rel. Luftfeuchtigkeit in Wandnähe
      my $aussenHumidityEqInnen = shiftRelHumidity($aussenTemp, $aussenHum, $innenTemp);  # Welche Luftfeuchtigkeit Innen nach vollst. Durchlüften wäre
      my $schimmelfreiMaxHum = schimmelfreiMaxHum($wandTemp); # Max. Rel. Luftfeuchte in Wandnähe, ab der es Schimmelt
     
      my $schimmelGefahr = ($wandHumidity > $schimmelfreiMaxHum); #Wahrheitswert: True bei Schimmelgefahr, false wenn nicht.
      my $luftZuTrocken = (!$schimmelGefahr && ($innenHum < 40));  #Wahrheitswert: True bei zu geringer Luftfeuchte
      my $lueftenSenktLuftfeuchte = ($innenHum > $aussenHumidityEqInnen); #Wahrheitswert: True wenn Lüften zu trockenerer Luft führt
     
      my $entfeuchterAn = ($schimmelGefahr && ($innenHum > 51)) && !$etwasOffen; #Wahrheitswert für Entfeuchtersteuerung: Anschalten (=true) wenn Schimmelgefahr und Entfeuchter wirtschaftl. arbeitet (min. 50% rH)
      my $entfeuchterAus = (($wandHumidity < ($schimmelfreiMaxHum - 3)) || ($innenHum < 50)) || $etwasOffen; #Wahrheitswert für Entfeuchtersteuerung: Ausschalten (=true) mit Hysterese von 3% rH
     
      my $luftfeuchteOeffnenEmpfohlen    = ($schimmelGefahr &&  $lueftenSenktLuftfeuchte) || ($luftZuTrocken && !$lueftenSenktLuftfeuchte); # Wahrheitswert: Sollte bez. Luftfeuchte gelüftet werden?
      my $luftfeuchteSchliessenEmpfohlen = ($schimmelGefahr && !$lueftenSenktLuftfeuchte) || ($luftZuTrocken && $lueftenSenktLuftfeuchte);  # Wahrheitswert: Darf bez. Luftfeuchte NICHT gelüftet werden?

Wenn man die 5 Variablen

- $innenTemp
- $aussenTemp
- $innenHum
- $aussenHum und
- $etwasOffen (true oder false, je nachdem, ob ein fenster offen ist)

per ReadingsVal(...) befüllt, wie ich das weiter oben tue, bekommt man mit diesen Codezeilen so ziemlich alles, was man für's Lüften braucht an Variablen. Habs oben mal kommentiert, was die vielen aus erstaunlicherweise nur 5 Werten berechneten Variablen bedeuten. Man braucht dazu natürlich die im Eingangsposting aufgeschriebenen Funktionen.
« Letzte Änderung: 25 März 2017, 11:41:39 von peterk_de »
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Anlässlich des neuen Interesses habe ich oben mal aufgeräumt, nen Wiki-Account beantragt, womit ich den Artikel auch mal auf stand bringen werde, und auch noch eine neue Funktion gebastelt, die vielleicht auch nützlich ist:

schimmelfreiMinTemp - unter welcher Temperatur es im Raum schimmelt, gegeben Raumtemperatur und Luftfeuchte - also sozusagen nicht der Dewpoint, sondern der "Schimmelpoint" ;-) Das hab ich fix numerisch gelöst, weil ich zu faul war, die Formel umzustellen, aber wir haben ja 2017 und 1GHz-Raspberrys und so ;)
« Letzte Änderung: 25 März 2017, 11:42:12 von peterk_de »
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck
Gefällt mir Gefällt mir x 3 Liste anzeigen

Offline Spezialtrick

  • Sr. Member
  • ****
  • Beiträge: 832
Hallo Peter,

wollte gerade die neue Funktion testen, bekomme jedoch einen Fehler beim speichern der myUtils:

Bareword "false" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 73.
Viele Grüße!
FHEM - Cubietruck - Homematic - MAX!

Bestellung HM/MySensors Relay Platine: https://forum.fhem.de/index.php/topic,48235.0.html

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Argh, wie ich perl liebe. Hab ich oben korrigiert, probier mal nochmal, sorry.
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline Spezialtrick

  • Sr. Member
  • ****
  • Beiträge: 832
Nun gehts!  :)

Steht das neue Userreadings "schlimmelfreiMinTemp" in Abhängigkeit zu den anderen Userreadings oder reicht es wenn man "schlimmelfreiMinTemp" ergänzt und die anderen Userreadings auf dem alten Stand belässt?
FHEM - Cubietruck - Homematic - MAX!

Bestellung HM/MySensors Relay Platine: https://forum.fhem.de/index.php/topic,48235.0.html

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Nein, für das brauchst du eigentlich nur die ganzen Funktionen in den myUtils sowie die rohe Raumluftfeuchte und Raumtemperatur. Kann man also auch "Stand alone" verwenden.
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline Spezialtrick

  • Sr. Member
  • ****
  • Beiträge: 832
Nun erhalte ich noch einen weiteren Fehler für der Userreadings "schlimmelfreiMinTemp":

Error evaluating BZ.Klimasensor userReading schlimmelfreiMinTemp: syntax error at (eval 23333) line 1, at EOF
So siehts bei mir aus:

schlimmelfreiMinTemp { sprintf("%.1f",schlimmelfreiMinTemp(ReadingsVal("BZ.Klimasensor","temperature",15),ReadingsVal("BZ.Klimasensor","humidity",100),100) },
FHEM - Cubietruck - Homematic - MAX!

Bestellung HM/MySensors Relay Platine: https://forum.fhem.de/index.php/topic,48235.0.html

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Da fehlte ne Klammer am Ende:

schimmelfreiMinTemp { sprintf("%.1f",schlimmelfreiMinTemp(ReadingsVal("BZ.Klimasensor","temperature",15),ReadingsVal("BZ.Klimasensor","humidity",100),100)) },

Ich hoffe jetzt haben wir alle Schusselfehler von mir gefunden :-D
« Letzte Änderung: 25 März 2017, 11:42:36 von peterk_de »
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline Spezialtrick

  • Sr. Member
  • ****
  • Beiträge: 832
Ich hoffe jetzt haben wir alle Schusselfehler von mir gefunden :-D

Nun siehts sehr gut aus und das Reading meldet eine Temperatur.

Meinst du, dass es Sinn machen würde, den Vergleich von "schlimmelfreiMinTemp" und "wandTemp" in das All in One Reading "schimmelGefahr" einzubauen oder wäre es besser hierfür ein zusätzliches Reading vorzusehen? Letzteres hätte wohl den Vorteil, dass man unterscheiden könnte, ob zu Heizen oder zu Lüften ist.  ???
FHEM - Cubietruck - Homematic - MAX!

Bestellung HM/MySensors Relay Platine: https://forum.fhem.de/index.php/topic,48235.0.html

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Also das bisherige Reading "schimmelGefahr" ist vom Ergebnis her (ja/nein) mit dem Vergleich von "schimmelfreiMinTemp größer wandTemp" identisch (bis auf Rundungsfehler ;-). Nur der Rechenweg ist anders (es werden die rel. Feuchten verglichen und keine Temperaturen). Kannst du leicht prüfen und stimmt hoffentlich immer ^^.

Die Unterscheidung, ob Heizen oder Lüften kannst du damit allein nicht treffen. Dazu brauchst du noch das Reading "lueftenMoeglich". Z.B.: Wenn schimmelGefahr und LueftenMoeglich, dann Lueften, sonst Heizen (oder entfeuchten). Weil Heizen hilft bei Schimmelgefahr im Prinzip immer, Lüften aber nur, wenn die Luft draußen absolut trockener ist als drinnen.
« Letzte Änderung: 25 März 2017, 11:42:53 von peterk_de »
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline Hauswart

  • Sr. Member
  • ****
  • Beiträge: 697
Anlässlich des neuen Interesses habe ich oben mal aufgeräumt, nen Wiki-Account beantragt, womit ich den Artikel auch mal auf stand bringen werde, und auch noch eine neue Funktion gebastelt, die vielleicht auch nützlich ist:
Daumen hoch. Freue mich schon auf die fertige Lösung.
Derzeitiges Setup unter Anderem:
* HM-CFG-USB
* nanoCUL868 (SlowRF)
* MySensors
* SIGNALduino 433

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Antw:HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten
« Antwort #41 am: 23 März 2017, 13:44:44 »
So, ist jetzt oben alles fertig. Habe den Artikel ein wenig umstrukturiert - jetzt leistet er auch in "nicht kritischen" Räumen Hilfe :)

@herrmannj, du hast mich indirekt auf eine Idee gebracht ... die TechemHKV sind doch eigentlich DER perfekte Sensor für Oberflächentemperaturen.. Und der Preis .... ich hab grad 18 gebrauchte für 30 Euro (!) bei ebay bekommen ... ;D ;D ;D

Wenn sie da sind, werde ich mal berichten, wie sie sich als Wandtemperaturmesser schlagen ...
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Online herrmannj

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 3867
Antw:HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten
« Antwort #42 am: 23 März 2017, 20:33:18 »
 :)
smartVisu mit fronthem, einiges an HM, RFXTRX, Oregon, CUL, Homeeasy, ganz viele LED + Diverse

Offline c.monty

  • New Member
  • *
  • Beiträge: 25
Antw:HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten
« Antwort #43 am: 24 März 2017, 12:59:04 »
Hallo!

Ich habe mir vom "Lüftungsbüro Berlin" ein Lüftungs-Konzept für meine Eigentumswohnung erstellen lassen.
Dieses Konzept sieht für das Badezimmer (~ 6m^2) nur ein feuchtegesteuerte Abluft vor.

Frage:
Wenn ich die Möglichkeiten der hier vorgestellten Lösung "Richtig Lüften und Entfeuchten" ausschöpfe, welches Gerät zum Be-/Entlüften sollte ich dann im Badezimmer verbauen?

THX

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Antw:HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten
« Antwort #44 am: 24 März 2017, 13:31:54 »
Hi c.monty,

das sind ein bisschen wenig Angaben, um das sagen zu können. Wie sieht denn grob das Lüftungskonzept aus? Hast du Kältebrücken im Bad? (Wärmebildkamera oder Infrarotthermometer leihen)?

Pauschal gilt: Ohne Kältebrücken (also insbes. z.B. bei innenliegenden Bädern) ist gegen eine alleinige Regelung per Raumluftfeuchtigkeit prinzipiell nichts einzuwenden. Zielwert < 70% (oder besser, anhand der Raumtemperatur ermittelt wie oben beschrieben) und fertig.
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline c.monty

  • New Member
  • *
  • Beiträge: 25
Antw:HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten
« Antwort #45 am: 24 März 2017, 16:35:17 »
Hi c.monty,

das sind ein bisschen wenig Angaben, um das sagen zu können. Wie sieht denn grob das Lüftungskonzept aus? Hast du Kältebrücken im Bad? (Wärmebildkamera oder Infrarotthermometer leihen)?

Pauschal gilt: Ohne Kältebrücken (also insbes. z.B. bei innenliegenden Bädern) ist gegen eine alleinige Regelung per Raumluftfeuchtigkeit prinzipiell nichts einzuwenden. Zielwert < 70% (oder besser, anhand der Raumtemperatur ermittelt wie oben beschrieben) und fertig.

Verstehe...
Ich habe keine Messungen zu Kältebrücken.
Aber das Bad ist ein innenliegendes Badezimmer mit 1 Aussenwand (ca. 2m Breit inkl. Fenster).
Im Anhang ein Bild des Grundrisses inkl. Belüftungskonzept.

THX

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Antw:HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten
« Antwort #46 am: 25 März 2017, 08:47:58 »
Hi Monty,

also eine komplett dezentrale Lüftungsanlage mit zentraler Steuerung. Da stellt sich mir in Zusammenhang mit FHEM zuerst die Frage, ob du da überhaupt eine Chance hättest, in die Regelung von extern einzugreifen (Schnittstelle) - hier kenne ich mich nicht aus, was es da an Systemen gibt. Was sicher immer geht, ist per FHEM das Bad zusätzlich zu überwachen (mit einem separaten Funk-Hygrometer) wie oben beschrieben und dann ggf. die Anlage nach einer Warnung manuell hochzudrehen.

Nur den Ablüfter im Bad losgelöst hochzufahren und ganz getrennt zu regeln, wenn du dort Schimmelgefahr detektierst, ist ungünstig, dann saugst du im schlimmsten Fall den Küchendunst einmal quer durch die Wohnung. Auch einen separaten Entfeuchter würde ich bei der Konzeption vermeiden, wenn der nötig wäre, wäre das eigentlich ein Armutszeugnis für die Lüftungsanlage. Generell traue ich so einer Firma aber zu, die Lüfter/Wärmetauscher etc. so zu dimensionieren, dass dein Bad in Abhängigkeit von Nutzung und Bausubstanz nicht schimmelt, denn das ist ja ihr Job.

Wie gesagt, ich würde auf jeden Fall aber noch schauen, ob du da kalte Wandstellen hast und wenn ja, die Planer darauf einmal gezielt ansprechen, denn dann müsste das entsprechend berücksichtigt werden und ist leider in aktuellen Normen etc. eher schlecht abgebildet. Eventuell kämen für dich dann aber auch auf jeden Fall zu bevorzugende (da auf Dauer günstigere) Bauliche Maßnahmen wie zusätzliche Dämmung in Frage.

LG!
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck

Offline stromer-12

  • Hero Member
  • *****
  • Beiträge: 1327
Antw:HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten
« Antwort #47 am: 25 März 2017, 11:28:50 »
Ist es Absicht das es "schlimmel" und nicht "schimmel" bei den Funktionen heißt?
FHEM 5.8(SVN) auf CT mit HMUSB | HMLAN | CUL
FHEM 5.8(SVN) RPi mit HMser | CUNO
loggt mit MYSQL(ARIA) auf SSD
S300TH | FHT80TK-2 | FS20:AS4,HGS,ST,TK,UTS,WS1
HM: >50 Geräte, KFM100

Offline peterk_de

  • Sr. Member
  • ****
  • Beiträge: 606
Antw:HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten
« Antwort #48 am: 25 März 2017, 11:40:34 »
Da muss mir am Anfang mal die Rechtschreibkorrektur nen Streich gespielt haben ... aber schön dass das nach so langer zeit mal jemand merkt, habe es versucht überall zu korrigieren  ;D
Intel NUC5i5 -> Proxmox -> Ubuntu 16.04 LTS
IOdevs: 2x Homematic, CUL868, HarmonyHub
Frontends: 3x TabletUI Android-Tablets mit AMAD+FullyBrowser, Homebridge/Siri
Aktoren/Sensoren: 86x Homematic, 15x WMBUS/Techem, 7x WiFi, 5x BLE, 2x BT, Geofencing
FHEM2FHEM-Roomnodes: 5x Raspi, 1x Cubietruck