dewpoint
dewpoint | |
---|---|
Zweck / Funktion | |
Berechnung des Taupunkts | |
Allgemein | |
Typ | undefiniert |
Details | |
Dokumentation | ModUndef |
Modulname | 98_dewpoint.pm |
Ersteller | Willi Herzig |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Dewpoint oder Taupunkt
Um den Taupunkt einfach berechnen zu können, kann neben dem Modul dewpoint (http://fhem.de/commandref.html#dewpoint) auch folgendes userReading gesetzt werden. Der Code dazu wurde direkt aus dem Modul entnommen.
Das Userreading hat den Vorteil, nicht mit anderen Modulen in Konflikt zu geraten.
attr <Device> userReadings dew:temperature { my $dp; my $temperature = ReadingsVal($name,"temperature",0); my $humidity = ReadingsVal($name,"humidity",0); my $A = 17.2694; my $B = ($temperature > 0) ? 237.3 : 265.5; my $es = 610.78 * exp( $A * $temperature / ($temperature + $B) ); my $e = $humidity/ 100 * $es; if ($e == 0) { Log 1, "Error: dewpoint() e==0: temp=$temperature, hum=$humidity"; return 0; } my $e1 = $e / 610.78; my $f = log( $e1 ) / $A; my $f1 = 1 - $f; if ($f1 == 0) { Log 1, "Error: dewpoint() (1-f)==0: temp=$temperature, hum=$humidity"; return 0; } $dp = $B * $f / $f1 ;}