Dewpoint: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „Dewpoint oder Taupunkt Um den Taupunk einfach berechnen zu können kann neben dem Modul dewpoint (http://fhem.de/commandref.html#dewpoint) auch folgendes user…“)
 
K (Kategorisiert, Wikifiziert + kleinere Korrekturen)
Zeile 1: Zeile 1:
{{SEITENTITEL:dewpoint}}
{{Infobox Modul
|ModPurpose=Berechnung des Taupunkts
|ModType=Hilfsmodul
<!-- |ModCategory= (noch?) nicht verwendet -->
|ModCmdRef=dewpoint
|ModTechName=98_dewpoint.pm
|ModOwner=Willi Herzig}}
Dewpoint oder Taupunkt
Dewpoint oder Taupunkt


Um den Taupunk einfach berechnen zu können kann neben dem Modul dewpoint (http://fhem.de/commandref.html#dewpoint)
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.
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.
:<code>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 ;}</code>
:<code>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 ;}</code>
[[Kategorie:HOWTOS]]

Version vom 22. April 2014, 15:43 Uhr


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