<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mh997de</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mh997de"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Mh997de"/>
	<updated>2026-04-15T07:12:09Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Dewpoint&amp;diff=15295</id>
		<title>Dewpoint</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Dewpoint&amp;diff=15295"/>
		<updated>2016-05-05T18:59:26Z</updated>

		<summary type="html">&lt;p&gt;Mh997de: absFeuchte hinzugefügt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SEITENTITEL:dewpoint}}&lt;br /&gt;
{{Infobox Modul&lt;br /&gt;
|ModPurpose=Berechnung des Taupunkts&lt;br /&gt;
|ModType=h&lt;br /&gt;
&amp;lt;!-- |ModCategory= (noch?) nicht verwendet --&amp;gt;&lt;br /&gt;
|ModCmdRef=dewpoint&lt;br /&gt;
|ModTechName=98_dewpoint.pm&lt;br /&gt;
|ModOwner=Willi Herzig}}&lt;br /&gt;
&lt;br /&gt;
Das Modul [[dewpoint]] bietet Funktionen im Zusammenhang mit der Taupunktberechnung an. Die verfügbaren Funktionen, über einen Parameter bei der Definition gesteuert, sind &lt;br /&gt;
* dewpoint (Taupunkt)&lt;br /&gt;
* fan (erzeugt ein Event, das zur Lüftersteuerung verwendet werden kann)&lt;br /&gt;
* alarm (erzeugt einen &amp;quot;Schimmel-Alarm&amp;quot;, wenn eine Referenztemperatur unter den Taupunkt fällt)&lt;br /&gt;
{{todo|Seite muss noch vervollständigt werden --[[Benutzer:Ph1959de|Peter]] ([[Benutzer Diskussion:Ph1959de|Diskussion]]) 13:49, 14. Mär. 2016 (CET)}}&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
Es muss ein Device geben, das die zur Berechnung erforderlichen Basisdaten &#039;&#039;Temperatur&#039;&#039; und &#039;&#039;Feuchte&#039;&#039; liefert. Die Namen der entsprechenden Readings können bei der Definition des &#039;&#039;dewpoint&#039;&#039; Device angegeben werden. &lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
=== Define ===&lt;br /&gt;
Ein &#039;&#039;dewpoint&#039;&#039; Device (siehe auch commandref) wird definiert mit:&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; dewpoint &amp;lt;type&amp;gt; ...&amp;lt;/code&amp;gt;&lt;br /&gt;
Mögliche Werte und Bedeutung von&lt;br /&gt;
;type&lt;br /&gt;
*dewpoint - aus &#039;&#039;temp_name&#039;&#039; und &#039;&#039;hum_name&#039;&#039; wird der Taupunkt berechnet und als Reading mit dem Namen &#039;&#039;new_name&#039;&#039; an die durch &#039;&#039;devicename-regex&#039;&#039; spezifizierten Devices hinzugefügt&lt;br /&gt;
*fan - &lt;br /&gt;
*alarm - &lt;br /&gt;
&lt;br /&gt;
Die vollständige Syntax für den Typ &#039;&#039;dewpoint&#039;&#039;:&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;name&amp;gt; dewpoint &#039;&#039;&#039;dewpoint&#039;&#039;&#039; &amp;lt;devicename-regex&amp;gt; [&amp;lt;temp_name&amp;gt; &amp;lt;hum_name&amp;gt; &amp;lt;new_name&amp;gt;]&amp;lt;/code&amp;gt;&lt;br /&gt;
wobei die Platzhalter folgende Bedeutung haben:&lt;br /&gt;
;name&lt;br /&gt;
:der Name des definierten &#039;&#039;dewpoint&#039;&#039; Device&lt;br /&gt;
;devicename-regex&lt;br /&gt;
:Spezifikation des Geräts / der Geräte, von denen &#039;&#039;temp_name&#039;&#039; und &#039;&#039;hum_name&#039;&#039; gelesen und &#039;&#039;new_name&#039;&#039; geschrieben werden soll &lt;br /&gt;
;temp_name&lt;br /&gt;
:Name des Readings, das den Temperaturwert enthält; wenn dieser Parameter nicht angegeben ist, wird &#039;&#039;temperature&#039;&#039; angenommen&lt;br /&gt;
;hum_name&lt;br /&gt;
:Name des Readings, das den Feuchtewert enthält; wenn dieser Parameter nicht angegeben ist, wird &#039;&#039;humidity&#039;&#039; angenommen&lt;br /&gt;
;new_name&lt;br /&gt;
:Name des Readings, das den berechneten Taupunkt aufnehmen soll; wenn dieser Parameter nicht angegeben ist, wird &#039;&#039;dewpoint&#039;&#039; angenommen&lt;br /&gt;
&lt;br /&gt;
==== Statuszeile ====&lt;br /&gt;
Will man den Taupunkt nicht als einzelnes Reading &#039;&#039;dewpoint&#039;&#039;, sondern in Kurzform zusammen mit den anderen Werten in der Statuszeile anzeigen lassen, so muss man für &#039;&#039;temp_name&#039;&#039; und &#039;&#039;hum_name&#039;&#039; die Spezialwerte &#039;&#039;T&#039;&#039; und &#039;&#039;H&#039;&#039; angeben:&lt;br /&gt;
:&amp;lt;code&amp;gt;define dew_state dewpoint dewpoint .* T H D&amp;lt;/code&amp;gt;&lt;br /&gt;
Dies bewirkt, dass bei allen abgefragten Geräten die Werte &#039;&#039;T&#039;&#039; und &#039;&#039;H&#039;&#039; aus der Statuszeile ausgelesen werden und selbige dann wie folgt um den Taupunkt mit dem Buchstaben &#039;&#039;D&#039;&#039; erweitert wird:&lt;br /&gt;
&amp;lt;pre&amp;gt;T: 18.2 H: 55 D: 9.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
;absFeuchte&lt;br /&gt;
:Beim Setzen dieses Attributs wird zusätzlich die absolute Luftfeuchtigkeit (in Gramm Wasser pro Kubikmeter Luft) berechnet und als Reading mit dem Namen &#039;&#039;absFeuchte&#039;&#039; ausgegeben. Hat man das Dewpoint-Device vorher so definiert, dass es den Taupunkt an den Status anhängt:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define dew_state dewpoint dewpoint .* T H D&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:dann braucht man nichts weiter zu tun, die absolute Feuchtigkeit wird ab sofort unter dem Buchstaben &#039;&#039;A&#039;&#039; an den Status angehängt:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;pre&amp;gt;T: 18.2 H: 55 D: 9.0 A: 8.5&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Für den Taupunkt konnte man mit dem Parameter &#039;&#039;new_name&#039;&#039; einen eigenen Namen für das erzeugten Reading festlegen. Für die absolute Luftfeuchte ist dieser Parameter nicht vorhanden, das Reading hat immer den Standardnamen &#039;&#039;absFeuchte&#039;&#039; bzw. &#039;&#039;A&#039;&#039; in der Statuszeile. &lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
&lt;br /&gt;
== Alternativen zu diesem Modul ==&lt;br /&gt;
Um den Taupunkt einfach berechnen zu können, kann neben dem Modul &#039;&#039;dewpoint&#039;&#039; auch das Folgende userReading gesetzt werden (der Code dazu wurde direkt aus dem Modul entnommen und ist so über das Webinterface einzugeben).&lt;br /&gt;
&lt;br /&gt;
Das Userreading hat den Vorteil, nicht mit anderen Modulen in Konflikt zu geraten.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;perl&amp;quot;&amp;gt;attr &amp;lt;Device&amp;gt; userReadings dew:temperature.* { &lt;br /&gt;
 my $dp;&lt;br /&gt;
 my $temperature = ReadingsVal($name,&amp;quot;temperature&amp;quot;,0);&lt;br /&gt;
 my $humidity = ReadingsVal($name,&amp;quot;humidity&amp;quot;,0);&lt;br /&gt;
 my $A = 17.2694;&lt;br /&gt;
 my $B = ($temperature &amp;gt; 0) ? 237.3 : 265.5;&lt;br /&gt;
 my $es = 610.78 * exp( $A * $temperature / ($temperature + $B) );&lt;br /&gt;
 my $e = $humidity/ 100 * $es;&lt;br /&gt;
 if ($e == 0) { Log 1, &amp;quot;Error: dewpoint() e==0: temp=$temperature, hum=$humidity&amp;quot;;&lt;br /&gt;
  return 0;&lt;br /&gt;
 } &lt;br /&gt;
 my $e1 = $e / 610.78;&lt;br /&gt;
 my $f = log( $e1 ) / $A;&lt;br /&gt;
 my $f1 = 1 - $f;&lt;br /&gt;
 if ($f1 == 0) { &lt;br /&gt;
  Log 1, &amp;quot;Error: dewpoint() (1-f)==0: temp=$temperature, hum=$humidity&amp;quot;;&lt;br /&gt;
  return 0;&lt;br /&gt;
 }&lt;br /&gt;
 $dp = $B * $f / $f1 ;&lt;br /&gt;
 sprintf &amp;quot;%.2f&amp;quot;, $dp;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
(Das obige Beispiel wurde nach Umstellung auf &amp;quot;Source&amp;quot;-Formatierung noch nicht getestet. --[[Benutzer:Ph1959de|Peter]] ([[Benutzer Diskussion:Ph1959de|Diskussion]]) 13:49, 14. Mär. 2016 (CET))&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Forendiskussion um {{Link2Forum|Topic=8576|LinkText=Lüften oder nicht}}&lt;br /&gt;
* Forendiskussion um {{Link2Forum|Topic=23080|LinkText=Temperaturdifferenz}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;/div&gt;</summary>
		<author><name>Mh997de</name></author>
	</entry>
</feed>