Dewpoint: Unterschied zwischen den Versionen
K (Kategorisiert, Wikifiziert + kleinere Korrekturen) |
K (Anpassung an geänderte Vorlage "Infobox Modul") |
||
Zeile 2: | Zeile 2: | ||
{{Infobox Modul | {{Infobox Modul | ||
|ModPurpose=Berechnung des Taupunkts | |ModPurpose=Berechnung des Taupunkts | ||
|ModType= | |ModType=h | ||
<!-- |ModCategory= (noch?) nicht verwendet --> | <!-- |ModCategory= (noch?) nicht verwendet --> | ||
|ModCmdRef=dewpoint | |ModCmdRef=dewpoint | ||
Zeile 10: | Zeile 10: | ||
Dewpoint oder Taupunkt | Dewpoint oder Taupunkt | ||
Um den Taupunkt einfach berechnen zu können, kann neben dem Modul dewpoint | Um den Taupunkt einfach berechnen zu können, kann neben dem Modul [[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. | Das Userreading hat den Vorteil, nicht mit anderen Modulen in Konflikt zu geraten. |
Version vom 24. April 2014, 11:24 Uhr
dewpoint | |
---|---|
Zweck / Funktion | |
Berechnung des Taupunkts | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
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 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 ;}