HowTo: Schimmelvermeidung - Richtig Lüften und Entfeuchten

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

Vorheriges Thema - Nächstes Thema

peterk_de

Hier wird die relative Luftfeuchte innen (Device Raumhygrometer, Reading humidity) mit der theoretischen Luftfeuchte verglichen, die die Außenluft drinnen jetzt gerade hätte (shiftRelHumidity(...)) - dabei wird berücksichtigt, dass die reingelassene Außenluft auf Raumtemperatur erwärmt oder abgekühlt wird (Device Raumthermometer, Reading temperature) und sich dabei ihre relative Luftfeuchte ändert.

Ist diese gedachte relative Luftfeuchte der Außenluft bei Raumtemperatur kleiner als die aktuelle Raumluftfeuchte, ergibt die umschließende Bedingung ,,Ja, Lüften ist möglich". Dabei wird eine Messungenauigkeit von 2*1,5% rH angenommen, was der typischer elektronischer Hygrometer entspricht (daher die + 3).

Das ist im Prinzip genau das gleiche wie der Vergleich der absoluten Luftfeuchte innen und außen, nur in anderen Einheiten.
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 ...

bismosa

Hallo!

Vielen Dank für die Aufarbeitung und die Formeln! Finde ich sehr hilfreich, auch wenn ich jetzt nicht so tief eingestiegen bin.
Ich habe das nun alles übernommen und möchte im Waschraum (Keller) eine Lüftungsempfehlung.
Ich habe gestern an der Wand etwas Schimmel entdeckt...und gelüftet wird dort immer wieder falsch.
Also reicht ja eigentlich ein simples DOIF:

( [MQTT2_zigbee_Temp_Waschraum:schimmelGefahr] eq "ja"
and [MQTT2_zigbee_Temp_Waschraum:lueftenMoeglich] eq "ja"
and [Fenster_Keller_Waschraum] eq "Zu"
)(Alarm("Fenster öffnen"))
DOELSEIF (
[MQTT2_zigbee_Temp_Waschraum:lueftenMoeglich] eq "nein"
and [Fenster_Keller_Waschraum] eq "Offen"
)
(
(Alarm("Fenster schließen"))
)

Oder habe ich das falsch verstanden?
Wo ist der Unterschied zwischen "lueftenMoeglich" und dem DOIF:

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)

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

Wenn ich es richtig verstehe, wird ja beim "lueftenMoeglich" nicht die Wandtemperatur berücksichtigt?

Danke!

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

peterk_de

#122
Hi bismosa,

das Userreading lueftenMoeglich prüft nur, ob die Luft, die grad reinkommen würde, trockener ist als die, die schon im Raum ist. Es wird quasi ausgerechnet, welche relative Luftfeuchte die Außenluft bei deiner aktuellen Raumtemperatur haben würde - und wenn das niedriger ist als die tatsächlich im Raum gemessene relative Luftfeuchte, dann ist "Lüften möglich". Ist das gleiche wie der Vergleich der absoluten Luftfeuchtigkeit innen und außen, nur kann man so sehr nett Toleranzen / Messungenauigkeiten in der Einheit %rH (statt in g/qm oder so bei absoluter Luftfeuchte) einbauen.

Das DOIF di_bad.luftentfeuchter macht was ganz anderes, das ist unabhängig von der Außenluft und steuert einen Kompressor-Luftentfeuchter, der nur umwälzt und Wasser rauszieht. Der soll ausgehen, wenn die kälteste Stelle im Raum trocken genug ist - dafür brauchst du dann natürlich die Wandtemperatur.

Dein DOIF sieht soweit ich das überblicken kann gut aus!

LG Peter
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 ...

bismosa

Hallo!

Ich glaube ich habe es nun verstanden  :) Danke für die Erklärung.
Dann werde ich mir jetzt Gedanken machen, ob ich einen Lüfter oder einen Fensteröffner einbaue um die Feuchtigkeit aus dem Raum zu bekommen  :)

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

mumpitzstuff

Zumindest bei mir hilft vor allem im Frühjahr/Sommer oft nur noch ein Entfeuchter. Die Luftfeuchtigkeit ist draussen einfach so hoch, dass ich die Feuchtigkeit in der Wohnung nicht mehr nur durch Lüften auf ein unbedenkliches Niveau runter bekomme. Ein Lüfter oder Fensteröffner würde aber eine geringere äußere Luftfeuchtigkeit benötigen. Bevor du also große Investitionen tätigst, solltest du dir das Ganze mal im Sommer ansehen.

PS: Ich habe weiterhin festgestellt, das die absolute Luftfeuchtigkeit in Bodennähe höher ist als z.b. auf einem Sideboard in 1m Höhe (liegt auch vielleicht an der Deckenhöhe von über 3m bei mir). Zumindest bei mir ist deshalb auch die Höhe entscheidend, in der das Messgerät steht.

bismosa

Hallo!

Danke für den Tipp. Ich sehe das aber eher unkritisch. Insgesamt ist alles trocken...außer in den Feuchträumen (Bad, Waschraum im Keller).
Gerade im Keller wird nicht gerne gelüftet...da es ja eh schon recht kühl ist. Dann läuft da auch noch ständig der Trockner und sorgt für zusätzliche Feuchtigkeit...
Da macht es dann schon Sinn, wenn man eine Automatik einbaut.
Viel investieren möchte ich da nicht...vermutlich reicht eine selbst gedruckte Variante schon aus:
https://pinshape.com/items/21306-3d-printed-window-opener
Da fehlt dann nur noch die Ansteuerung...könnte also ein größeres Projekt werden.  :)

Gruß
Bismosa

1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

peterk_de

bismosa, klingt nach einem betagten Kondenstrockner der ordentlich Wasser in den Raum leakt? Dann könnte es in deinem Raum langfristig wesentlich wirtschaftlicher sein, den gegen einen modernen mit Wärmepumpe zu tauschen, als in eine (im Winter auskühlende und im Sommer oft nutzlose) Zwangslüftung zu investieren. Feuchte, die gar nicht erst entsteht, musst du nicht energieaufwändig wieder rausbefördern. Und die nebenbei erheblichen gesparten Trockner-Energiekosten kannst du dann, falls überhaupt noch nötig, in den Betrieb eines Raumluftentfeuchters investieren. Einen kalten Keller zu lüften ist in D leider die meiste Zeit des Jahres nicht sonderlich hilfreich, da schließe ich mich mumpitzstuff 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 ...

bismosa

Hallo!

Nein, wir haben schon einen Wärmepumpentrockner. Trotzdem wird es in dem Raum bei Benutzung immer "Feuch-Warm".
Ob die Feuchtigkeit aus dem Trockner (darf ja eigentlich nicht) oder aus der generell erwärmten Kellerluft kommt...keine Ahnung.
Ich vermute aber eher letzteres. Gelegentlich werden in dem Raum auch einzelne Wäschestücke an der Luft getrocknet.
Messergebnisse habe ich noch nicht (Sensor gerade erst in den Raum gehängt, damit ich die Lüftungsempfehlung bekomme)

Richtig lüften und Heizen...ja eine Wissenschaft  :) Aber dank der Formeln und Ausarbeitung hier und die Lüftungsempfehlung die sich daraus ergibt wesentlich einfacher! Danke!

Gruß
Bismsoa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

meier81

Hallo Peter,

vielen Dank für die ausführliche Beschreibung und die Skripte hier, echt super   8)

Ich hab mal eine Frage: Ich habe dein Skript calcLueftungsStates für die Auswertung verwendet und für mich angepasst, da ich keine Luftgütesensoren habe habe ich den Teil entfernt. Habe nun aber das Problem das er das schliessenEmpfohlen irgendwie zur Zeit nicht richtig setzt. Habe Hier mal einen Auszug aus meinem Skript:

      my $schliessenEmpfohlen;

        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";
            }
          }
        }

      my $oeffnenEmpfohlen = (($luftfeuchteOeffnenEmpfohlen || $tempOeffnenEmpfohlen) && !$schliessenEmpfohlen);


Wie gesagt ich habe lediglich die if-else Abfrage für die Luftgüte entfernt, der Rest ist unberührt geblieben.

Meine aktuellen Werte die für das Skript wichtig sind lauten:

luftfeuchteSchliessenEmpfohlen = nein
tempSchliessenEmpfohlen = ja
luftfeuchteOeffnenEmpfohlen = ja
tempOeffnenEmpfohlen = nein
heizModus = Heizen


Eigentlich gehe ich davon aus das die Variable schliessenEmpfohlen "nein" sein sollte, ist sie aber leider nicht.

Hab ich da einen Denkfehler oder ist da was in der if-else Bedingung falsch?

Gruß

Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices || mehrere Homematic-IP und Homematic-Devices

peterk_de

#129
Hi Markus,

mach mal die Anführungszeichen um true und false überall weg, da hier am Ende in meinem Skript true bzw. false im Sinne von 0 und 1 benötigt wird und nicht der Text. Das sollte es dann schon gewesen sein :-)
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 ...

meier81

Hallo Peter,

danke für die Antwort, hatte ich als erstes so (ist ja auch im Original so von dir), da bekomme ich aber die Fehlermeldung


ERROR:
Bareword "true" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 216. Bareword "false" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 216. Bareword "true" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 221. Bareword "true" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 224. Bareword "false" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 229.


Das sind genau diese 5 Zeilen des Skripts, deshalb habe ich das so probiert. Hast aber recht, wenn es in "" geschrieben ist zählt es ja als Text und nicht als Zahl. Hast du da ne Idee wo hier der Fehler liegt?
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices || mehrere Homematic-IP und Homematic-Devices

meier81

Zitat von: meier81 am 16 Januar 2021, 22:37:04
Hallo Peter,

danke für die Antwort, hatte ich als erstes so (ist ja auch im Original so von dir), da bekomme ich aber die Fehlermeldung


ERROR:
Bareword "true" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 216. Bareword "false" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 216. Bareword "true" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 221. Bareword "true" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 224. Bareword "false" not allowed while "strict subs" in use at ./FHEM/99_myUtils.pm line 229.


Das sind genau diese 5 Zeilen des Skripts, deshalb habe ich das so probiert. Hast aber recht, wenn es in "" geschrieben ist zählt es ja als Text und nicht als Zahl. Hast du da ne Idee wo hier der Fehler liegt?

Hab es eben rausgefunden, ich muss anstatt true und false einfach 1 und 0 verwenden, das geht einwandfrei   ;)
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices || mehrere Homematic-IP und Homematic-Devices

peterk_de

Interessant, war mir bis eben nicht bekannt, dass true und false in Perl gar keine Standard-Bezeichner sind, da ich die schon seit jeher in der myUtils völlig selbstverständlich verwende ... In meiner historisch gewachsenen Haupt-FHEM-Installation scheint also irgendwas das als Konstante anzulegen, denn in einer anderen, quasi ungenutzten bekomme ich den gleichen Fehler wie du :-) Nun ja, man lernt immer dazu ^^
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 ...

meier81

Dachte ich auch, hab wieder was gelernt :)

Mal ne andere Frage, wie hast du denn dein Skript aufgerufen, du übergibst ja bei dem Aufruf $NAME und $EVENT. Hab das bei mir mal zum testen auf $device umgebaut, bin da aber noch nicht ganz zufrieden.
Vielleicht könnte ich mir deinen Aufruf da mal zu Hilfe nehmen.
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices || mehrere Homematic-IP und Homematic-Devices

meier81

Hallo Peter,

hab nochmal ne Frage bezüglich deiner Wandtemperaturbestimmung. Habe zur Zeit auch die Schätzung mit dem K-Faktor in Betrieb (jetzt erstmal zum testen, das Infrarotthermometer kommt morgen). Meine Frage wäre jetzt du hast ja auch die Ausführung beschrieben mittels Wandtemperaturmessung ohne den K-Faktor, finde ich gut, ich wollte mir jedoch nicht in jeden Raum einen Wandsensor einbauen. Ich hatte jetzt die Idee mir einen Sensor mit 2 Fühlern zuzulegen, z.B. https://de.elv.com/elv-homematic-ip-komplettbausatz-temperatursensor-mit-externen-fuehlern-2-fach-hmip-ste2-pcb-155614?fs=2810340986&c=690. Dann würde ich mit einem Sensor die Wandtemperatur messen, mit dem anderen die Raumtemperatur in der Nähe des Wandfühlers. Das ganze würde ich als Referenz nehmen für deine Formel

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

Die Außentemperatur bekomme ich von meiner Wetterstation. Damit könnte ich mir den K-Faktor berechnen und diesen dann für alle anderen Räume benutzen.

Meinst du das würde von Prinzip so funktionieren, das Mauerwerk bei mir ist soweit an allen Stellen gleich dick, ich würde trotzdem nochmal nachmessen ob es evtl. Stellen gibt die kühler wären wie mein Wandsensor.

Bezüglich meiner Frage von gestern wegen dem Aufruf des Skriptes, da hatte mich interessiert was du in den Variablen übergibst, ich denke bei $NAME wahrscheinlich deine Raumnamen, z.B. Wohnzimmer, Küche, etc. Mir ist nur nicht klar für was $EVENT ist, wird soweit ich erkennen kann nicht verwendet im Skript.

Gruß Markus
QNAP NAS mit Debian VM, darauf FHEM, debmatic, influxdb2 und Grafana || HB-RF-ETH || WS980 Wetterstation || Xiaomi Mi Robot mit valetudo-FW || Buderus web KM100 || div. Tasmota-Devices || mehrere Homematic-IP und Homematic-Devices