Berechnung des Taupunktes. Schimmelgefahr erkennen!

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Smutje
Beiträge: 13
Registriert: 12.01.2011, 00:45
Wohnort: 8800 Lysos, District Paphos, Zypern
Kontaktdaten:

Berechnung des Taupunktes. Schimmelgefahr erkennen!

Beitrag von Smutje » 23.01.2011, 20:04

Ob im Altbau, durch Pfusch am Neubau oder durch falsches Lüften droht:

Gefahr durch Schimmelpilze

Diese Gefahr bleibt häufig lange Zeit unerkannt und wird erst bemerkt, wenn die Schimmelflecken sichtbar werden.
Die Ursache ist in vielen Fällen, dass sich an kalten Stellen Feuchtigkeit niederschlägt und dem Schimmel ideale
Bedingungen für sein Wachstum schafft.

Feuchtigkeit aus der Luft kondensiert an kalten Flächen, wenn die Oberflächentemperatur den Taupunkt der feuchten Luft unterschreitet.

Wer eine HomeMatic Hausautomation besitzt, kann Vorbeugen!

In diesem Artikel möchte ich beschreiben, wie ich mit der entsprechenden Programmierung der CCU die Gefahr der Schimmelbildung rechtzeitig erkenne.

Schritte:
  • Messung der Temperatur und Feuchte im Raum. (z.B. mit dem FunkWandthermostat).
  • Messung der Außentemperatur
  • Ermittlung der Kältebrücken im Raum. (Offline mit IR Oberflächenmessung)
  • TCL Programm zur Berechnung des Taupunktes als cgi
  • HM Script zur Berechnung des Taupunktes und Schätzung der Wandtemperatur
  • Visualisierung des Taupunktes und der Schimmelgefahr.
Verwendete Nomenklatur:
  • Kü - Küche (2 Buchstaben für den Raum)
  • Kü.TH - FunkWandthermostat Küche mit Temperatur und Humidity (Feuchtigkeit)
  • Kü.Taupunkt - Systemvariable: berechneter Taupunkt in der Küche
  • Kü.Schimmel - Systemvariable: Schimmelgefahr mit den Werten "keine Gefahr;Warnung;Alarm"
  • Te.TH - Aussenmessung auf der Terasse mit Temperatur und Humidity (Feuchtigkeit).
Entwicklung eines TCL Scriptes zur Berechnung des Taupunktes:

Das TCL Script habe ich auf meiner CCU im Verzeichnis /usr/local/etc/config/addons/www/visu/ unter dem Namen Taupunkt.cgi gespeichert.
Da in der HM Script Sprache die mathematischen Funktionen log und exp nicht zur Verfügung stehen,
wurde TCL zur Lösung der Aufgabe gewählt.

Code: Alles auswählen

#!/bin/tclsh

##
# Taupunkt.cgi
# Script zur Berechnung des Taupunktes aus Temperatur und Feuchte 
# Aufruf:   http://127.0.0.1/addons/xxx/Taupunkt.cgi?Temperatur=xxx&Feuchte=xxx
# Beispiel: http://127.0.0.1/addons/visu/Taupunkt.cgi?Temperatur=20.0&Feuchte=50.0
#           Script im Verzeichnis: /usr/local/etc/config/addons/www/visu/
# Die Rückgabe des Ergebnisses erfolgt in einem simplen Textformat: ("text/plain")
# Status;Temperatur;Feuchte;Taupunkt
# Ausgabe:  OK;20.0;50.0;9.3
# Bei einer Temperatur von 20.0 °C und einer relativen Feuchte von 50.0 %
# ergibt sich ein Taupunkt von 9.3 °C
#
# Zum Testen kann die Funktion mit einem Browser auf einem anderen Rechner aufgerufen werden.
# Die lokale Adresse 127.0.0.1 ist dann durch die IP der CCU (z.B. 192.168.100.5) zu ersetzen.
##

load tclrega.so
source [file join $env(DOCUMENT_ROOT) cgi.tcl]

if { [catch {

  ##############################################################################
  # Einsprungpunkt                                                             #
  ##############################################################################

  cgi_eval {

    cgi_input

    set Temperatur 20.0
    set Feuchte 50.0

    catch { import Temperatur }
    catch { import Feuchte }

    cgi_content_type "text/plain"
    cgi_http_head

  }
  
  set Feuchte1 [expr $Feuchte / 100.0]
  set xz [expr ( 234.67 * 0.434292289 * log(6.1*exp((7.45*$Temperatur) / (234.67 + $Temperatur)* 2.3025851)* $Feuchte1/6.1))]
  set xn [expr (   7.45 - 0.434292289 * log(6.1*exp((7.45*$Temperatur) / (234.67 + $Temperatur)* 2.3025851)* $Feuchte1/6.1))]
  set Taupunkt [expr $xz / $xn]
  set Tau1 [expr int(($Taupunkt + 0.05) * 10.0)/10.0]

  puts -nonewline "OK;$Temperatur;$Feuchte;$Tau1"

} errorMessage] } then {
  puts "Content-Type: text/plain"
  puts ""
  puts "ERROR $errorMessage"
}
Ermittlung der Kältebrücken im Raum:

Durch Scannen der Oberflächen mit einem IR Thermometer mit integriertem Laserpointer wird die kälteste Stelle ermittelt.

Bild

Ermittlung eines Isolationsfaktors Fi für die Abschätzung der Wandtemperatur.

Tw - Wandtemperatur Kältebrücke
Ta - Aussentemperatur
Ti - Innentemperatur

Mit den Messdaten ergibt sich der Faktor Fi zu:
Fi = (Tw - Ta) / (Ti - Ta)
Fi = (13.8 -2.9) / (21.6-2.9)
Fi = 0.588
Dieser Faktor wird im HMScript zur Abschätzung der Wandtemperatur benötigt, da
die Wandtemperatur sich abhängig von Ti und Ta ändert.

HM Script für jeden Raum (Beispiel Küche):

Code: Alles auswählen

! Berechnung des Taupunktes und der Schimmelwarnung
string stdout;
string stderr;

object oTHi = dom.GetObject("Kü.TH");
object oTi   = oTHi.DPByHssDP("TEMPERATURE");
object oHi   = oTHi.DPByHssDP("HUMIDITY");
object oTaupunkt = dom.GetObject("Kü.Taupunkt");
object oSchimmel = dom.GetObject("Kü.Schimmel");

object oTHa        = dom.GetObject("Te.TH");
object oTa          = oTHa.DPByHssDP("TEMPERATURE");
var Ta = oTa.Value(); ! Temperatur aussen
var Ti  = oTi.Value();   ! Temperatur innen
var Hi  = oHi.Value();  ! Humidity (Feuchtigkeit) innen
var WT = Ta + (Ti - Ta) * 0.588; ! Berechnung der Wandtemperatur. Isolationsfaktor ist anzupassen

string url="http://127.0.0.1/addons/visu/Taupunkt.cgi?Temperatur=" # Ti # "&Feuchte=" # Hi;
system.Exec("wget -O - " # url, &stdout, &stderr);
if (stdout.Length() > 0)
{
  if ( stdout.StrValueByIndex(";", 0) == "OK")
  {
    var Taupunkt = stdout.StrValueByIndex(";", 3).ToFloat();
    oTaupunkt.Variable(Taupunkt);
  }
}
! Schimmelwarnung
! 0 - keine Gefahr
! 1 - Warnung 
! 2 - Alarm
if (WT > (Taupunkt + 2.0)) { oSchimmel.Variable(0);}
else { 
  if ((Taupunkt + 1.0) < WT) { oSchimmel.Variable(2);}
  else {  oSchimmel.Variable(1);}
}
Das Programm wird aufgerufen, wenn sich eine der Eingangsvariablen ändert (Ti, Ta, oder Feuchte).
Die Variable Kü.Taupunkt wird berechnet.
Die Variable Kü.Schimmel wird gesetzt:
0 - keine Gefahr wenn die geschätzte Wandtemperatur mehr als 2 °C über dem Taupunkt liegt.
1 - Warnung wenn die geschätzte Wandtemperatur zwischen 1°C bis 2 °C über dem Taupunkt liegt.
2 - Alarm wenn die geschätzte Wandtemperatur unter oder bis zu 1 °C über dem Taupunkt liegt.

So sieht das Ergebnis in der Visualisierung aus:
Bild

Bei Auftreten einer Schimmel Warnung oder eines Schimmel Alarms können über die HomeMatic weitere Aktionen eingeleitet werden.

Weitere Anregungen und Kommentare nehme ich gerne entgegen.

Die hier gezeigten Scripte können frei verwendet werden. Jegliche Haftung ist ausgeschlossen.

Viel Spaß beim experimentieren.

Smutje

Benutzeravatar
Daniel
Beiträge: 219
Registriert: 16.01.2012, 17:33

Re: Berechnung des Taupunktes. Schimmelgefahr erkennen!

Beitrag von Daniel » 21.01.2012, 10:14

Hallo Smutje!

Genau das möchte ich auch für eine automatische Kellerbelüftung implementieren. Ich messe dazu Temperatur und Feuchtigkeit draussen sowie an der kältesten Stelle an der Wand im Keller.

Das Taupunkt.cgi habe ich erfolgreich abgelegt und via Browster getestet, das WebUI-Programm habe ich zunächst nur an die Namen meiner Sensoren angepasst.

Ich bin aber noch nicht dahintergestiegen wo die Ausgaben des Programmes ankommen...?
CCU2 mit 61+ Geräten, CCU-Historian und OpenHab auf einem Raspberry 2

DrTob
Beiträge: 3408
Registriert: 29.10.2010, 08:24

Re: Berechnung des Taupunktes. Schimmelgefahr erkennen!

Beitrag von DrTob » 21.01.2012, 12:57

Daniel hat geschrieben:Hallo Smutje!

Genau das möchte ich auch für eine automatische Kellerbelüftung implementieren. Ich messe dazu Temperatur und Feuchtigkeit draussen sowie an der kältesten Stelle an der Wand im Keller.

Das Taupunkt.cgi habe ich erfolgreich abgelegt und via Browster getestet, das WebUI-Programm habe ich zunächst nur an die Namen meiner Sensoren angepasst.

Ich bin aber noch nicht dahintergestiegen wo die Ausgaben des Programmes ankommen...?
im Beispielscript werden die Ergebnisse in die Systemvariablen "Kü.Taupunkt" und "Kü.Schimmel" geschrieben. Diese müssen entsprechend angelegt sein.

klassisch
Beiträge: 3470
Registriert: 24.03.2011, 04:32
Hat sich bedankt: 3 Mal
Danksagung erhalten: 6 Mal

Re: Berechnung des Taupunktes. Schimmelgefahr erkennen!

Beitrag von klassisch » 21.01.2012, 14:09

Super, Smutje. Vielen Dank für die prima Anleitung!

Habe als grobe Vorstufe bereits eine Überwachung der Feuchtigkeit. Bei weitem nicht ausreichend aber besser als nichts.
Außentemp habe ich auch; ebenso ein Pyrometer. Also werde ich mal bei passendem Wetter die Kältebrücken suchen und die Programme integrieren.

@Daniel. Bin nicht sicher, ob man das im Keller mit reiner Lüftung hinbekommt.
Meine Erfahrung mit dem Keller: Ich messe in Außenwandnähe auch Temp und Feuchte. Im Winter ist zumindest in diesem Keller die Feuchte nicht kritisch.
Dagegen sieht es im Sommer ganz anders aus. Da kommt warme, feuchte Luft von außen und sorgt für erhöhte Luftfeuchte im Keller. Hatte letzten Sommer einen Raumentfeuchter laufen und der hat wöchentlich einige Liter Wasser aus der Luft kondensiert.
Ob das mit reiner Lüftung funktioniert? Am ehesten noch, wenn man in den frühen Morgenstunden (Vielleicht 2 Uhr bis 4 Uhr, da ist die Luft kalt und hat deshalb ordentlich Wasser verloren) lüftet und den Tag über geschlossen hält. Geht aber auch nur, wenn der Keller deutlich wärmer ist als die Außentemp zu diesen Zeiten.

Benutzeravatar
Daniel
Beiträge: 219
Registriert: 16.01.2012, 17:33

Re: Berechnung des Taupunktes. Schimmelgefahr erkennen!

Beitrag von Daniel » 22.01.2012, 10:36

DrTob hat geschrieben:im Beispielscript werden die Ergebnisse in die Systemvariablen "Kü.Taupunkt" und "Kü.Schimmel" geschrieben. Diese müssen entsprechend angelegt sein.
Danke! Die Systemvariablen habe ich angelegt und einem Kanal zugeordnet - jetzt werden sie auch angezeigt! Der Taupunkt allerdings immer mit 0.00 °C..

Ich habe zwei Gewerke angelegt, Klima.Keller und Klima.Aussen; und ihnen jeweils den Aussensensor und den Innensensor zugeordnet.

Code: Alles auswählen

    ! Berechnung des Taupunktes und der Schimmelwarnung
    string stdout;
    string stderr;

    object oTHi = dom.GetObject("Klima.Keller");
    object oTi   = oTHi.DPByHssDP("TEMPERATURE");
    object oHi   = oTHi.DPByHssDP("HUMIDITY");
    object oTaupunkt = dom.GetObject("Keller.Taupunkt");
    object oSchimmel = dom.GetObject("Keller.Schimmel");

    object oTHa        = dom.GetObject("Klima.Aussen");
    object oTa          = oTHa.DPByHssDP("TEMPERATURE");
    var Ta = oTa.Value(); ! Temperatur aussen
    var Ti  = oTi.Value();   ! Temperatur innen
    var Hi  = oHi.Value();  ! Humidity (Feuchtigkeit) innen
    var WT = Ta + (Ti - Ta) * 0.588; ! Berechnung der Wandtemperatur. Isolationsfaktor ist anzupassen

    string url="http://127.0.0.1/addons/visu/Taupunkt.cgi?Temperatur=" # Ti # "&Feuchte=" # Hi;
    system.Exec("wget -O - " # url, &stdout, &stderr);
    if (stdout.Length() > 0)
    {
      if ( stdout.StrValueByIndex(";", 0) == "OK")
      {
        var Taupunkt = stdout.StrValueByIndex(";", 3).ToFloat();
        oTaupunkt.Variable(Taupunkt);
      }
    }
    ! Schimmelwarnung
    ! 0 - keine Gefahr
    ! 1 - Warnung
    ! 2 - Alarm
    if (WT > (Taupunkt + 2.0)) { oSchimmel.Variable(0);}
    else {
      if ((Taupunkt + 1.0) < WT) { oSchimmel.Variable(2);}
      else {  oSchimmel.Variable(1);}
    }
Wie kann ich überprüfen an welcher Stelle das Ganze scheitert?
klassisch hat geschrieben:@Daniel. Bin nicht sicher, ob man das im Keller mit reiner Lüftung hinbekommt.
Meine Erfahrung mit dem Keller: Ich messe in Außenwandnähe auch Temp und Feuchte. Im Winter ist zumindest in diesem Keller die Feuchte nicht kritisch.
Dagegen sieht es im Sommer ganz anders aus. Da kommt warme, feuchte Luft von außen und sorgt für erhöhte Luftfeuchte im Keller. Hatte letzten Sommer einen Raumentfeuchter laufen und der hat wöchentlich einige Liter Wasser aus der Luft kondensiert.
Ob das mit reiner Lüftung funktioniert? Am ehesten noch, wenn man in den frühen Morgenstunden (Vielleicht 2 Uhr bis 4 Uhr, da ist die Luft kalt und hat deshalb ordentlich Wasser verloren) lüftet und den Tag über geschlossen hält. Geht aber auch nur, wenn der Keller deutlich wärmer ist als die Außentemp zu diesen Zeiten.
Ich wollte nach dieser Regel vorgehen:
http://www.junghanns-gmbh.de/grundregeln_lueften.html hat geschrieben:Liegt der Taupunkt der Außenluft unter der Kellertemperatur (Sicherheit 2 Grad), dann kann gelüftet werden, es gibt keine Kondensbildung (Verdunstung ist möglich).
Das wird ja auch in den Sommer-Morgenstunden der Fall sein! Mein Lüfter schafft über 800m3/Stunde (Bei knapp 70m3 Keller) - ich habe die Hoffnung dass das reicht!
CCU2 mit 61+ Geräten, CCU-Historian und OpenHab auf einem Raspberry 2

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19

Re: Berechnung des Taupunktes. Schimmelgefahr erkennen!

Beitrag von MaxWrestler » 22.01.2012, 13:33

Hallo Daniel,
hast du folgende Punkte abgearbeitet:
1.
Das TCL Script habe ich auf meiner CCU im Verzeichnis /usr/local/etc/config/addons/www/visu/ unter dem Namen Taupunkt.cgi gespeichert.
ob das passt kannst du im Browser mit

Code: Alles auswählen

http://IP der HomeMatic bei dir zb 192.168.2.28/addons/visu/Taupunkt.cgi?Temperatur=20.0&Feuchte=50.0
prüfen.
Ausgabe:OK;20.0;50.0;9.3

2. Variablen anlegen ok, aber verbinde sie mal nicht mit einem Kanal (ob das auswirkungen hat weiss ich jetzt auch nicht aber ..)
Und nenn die Variable mal Keller_Taupunkt und Keller_Schimmel vielleicht stört der Punkt ?
3. Die Zeile

Code: Alles auswählen

object oTHi = dom.GetObject("Klima.Keller");
zeigt bei mir auf den " 2 Eintrag des Gerätes"
Temp.jpg
dementsprechend lautet bei mir die Zeile so

Code: Alles auswählen

object oTHi = dom.GetObject("Bad:1");
und

Code: Alles auswählen

object oTHa = dom.GetObject("Aussensensor:1");
probier mal,vielleicht gehts ja dann.

@ klassisch
kannst du mal die Werte für Fi von dir hier posten ?
Den Wert von 0,588 von Smutje finde ich sehr heftig (Messfehler?) !!

BTW, der Beitrag wird morgen genau 1 Jahr alt.
Darum von mir auch ein herzliches Danke für diesen Beitrag !!!
Warum ist der eigentlich nicht im Bereich Tipps & Tricks ?

gruß MaxW.

klassisch
Beiträge: 3470
Registriert: 24.03.2011, 04:32
Hat sich bedankt: 3 Mal
Danksagung erhalten: 6 Mal

Re: Berechnung des Taupunktes. Schimmelgefahr erkennen!

Beitrag von klassisch » 22.01.2012, 14:18

MaxWrestler hat geschrieben:kannst du mal die Werte für Fi von dir hier posten ?
Den Wert von 0,588 von Smutje finde ich sehr heftig (Messfehler?) !!
Das Wetter ist derzeit nicht optimal für solche Messungen.
Habe auf die Schnelle für Fi Werte zwischen 0,62 und 0,8 "gemessen".
Wohnung, nicht Keller.
Nichtisolierte Wände. Am kritischsten ist es in den Ecken bzw. Fensterlaibungen. Bin aber nicht sicher, ob ich wirklich die kälteste Stelle erwischt habe.
MaxWrestler hat geschrieben: BTW, der Beitrag wird morgen genau 1 Jahr alt.
Oh, die Jahreszahl hatte ich überlesen. Wenn ich den Thread schon gesehen hätte, wäre ich schon etwas weiter.

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19

Re: Berechnung des Taupunktes. Schimmelgefahr erkennen!

Beitrag von MaxWrestler » 22.01.2012, 14:50

Danke
für die schnelle Auskunft !
Ich werd dann mal für Fi den Wert von 0,65 nehmen.

gruß MaxW.

LarsM
Beiträge: 201
Registriert: 08.05.2009, 22:36

Re: Berechnung des Taupunktes. Schimmelgefahr erkennen!

Beitrag von LarsM » 22.01.2012, 20:28

Danke, das der Beitrag nach vorne geholt wurde. Der ist mir bislang völlig entgangen, obwohl ich schon mehrfach die Tips&Tricks-Threads durchgegangen bin.

Wie auch immer...das Script ist super, nur muss ich die die Bedingung auf Aktualisierung von Temp oder Feuchte stellen, nur bei Änderung reagiert das Programm nicht. Manchmal habe ich das Gefühl, als hätte ich den Unterschied von Aktualisierung, Änderung oder nur prüfen nicht begriffen. Denken tue ich das allerdings nicht.

1. nur prüfen - der aktuelle Status wird ermittelt
2. auf Aktualisierung - sobald ein Sensor erneut seinen Status überträgt
3. auf Änderung - sobald sich der Status eines Sensors gegenüber der letzten Meldung geändert hat

Falls noch jemand Probleme mit der Aktualsierung der Systemvariablen xx.Taupunkt und xx.Schimmel hat, hilft ihm ggf. o.a. Hinweis.
Gruß
Lars

84 Kanäle in 39 Geräten und 29 CUxD-Kanäle in 14 CUxD-Geräten:
2x HM-Sec-SC, 8x HM-CC-VD, 8x HM-CC-TC, 3x HM-Sec-WDS, 5x HM-Sec-RHS, 1x CUX28, 1x CUX40, 1x HM-WDS10-TH-O, 8x CUX02, 2x CUX06, 1x HM-CCU-1, 2x HM-RC-Key3-B, 3x HM-Sec-SD, 2x CUX03, 1x HM-WDS100-C6-O, 1x HM-Sec-SD-Team, 1x HM-OU-LED16, 2x HM-Sec-MDIR, 1x HM-WDC7000

Benutzeravatar
Daniel
Beiträge: 219
Registriert: 16.01.2012, 17:33

Re: Berechnung des Taupunktes. Schimmelgefahr erkennen!

Beitrag von Daniel » 23.01.2012, 12:44

MaxWrestler hat geschrieben:Hallo Daniel,[...]probier mal,vielleicht gehts ja dann.
Tut es, vielen Dank! Ich hatte den Namen von Gewerken statt den der Sensoren eingegeben (hatte ich aus dem Ausgangsposting von Smutje wahrscheinlich falsch rausgelesen).
LarsM hat geschrieben:Falls noch jemand Probleme mit der Aktualsierung der Systemvariablen xx.Taupunkt und xx.Schimmel hat, hilft ihm ggf. o.a. Hinweis.
Auch das hat mir geholfen! Die Variablen Schimmel & Taupunkt werden jetzt laufend aktuell gehalten, prima!

Ich werde mich jetzt noch an einem Script versuchen, das den Lüfter über einen HM-LC-SW1-PL (Zwischenstecker) schaltet wenn Luftfeuchte im Keller über 65% und der Taupunkt der Aussenluft mind. 2 °C unter der Kellertemperatur liegt.
CCU2 mit 61+ Geräten, CCU-Historian und OpenHab auf einem Raspberry 2

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“