Gefühlte Temperatur Berechnen

Begonnen von Michael, 05 Juni 2013, 18:30:48

Vorheriges Thema - Nächstes Thema

Michael

Hallo;

Wenn ich darf, würde ich mir die Möglichkeit der Berechnung
der gefühlten Temperatur wünschen. Analog der Dewpoint Berechnung.

Eine Formel dafür habe ich hier http://www.privatschule-eberhard.de/experimental/windchill.html gefunden.
Nur leider habe ich keine von Perl. :-(

Gruß Michael
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

OiledAmoeba

Moin,

mit der von Dir zitierten Formel würde das Beispiel so aussehen.

Zuerst definiere ich einen Dummy (WindChill), der das Rechenergebnis aufnimmt. Anschließend ein Notify (n_WindChill) das auf Temperaturänderungen reagiert und die Berechnung ausführt.
Die Daten stammen bei mir vom Modul 59_WEATHER.pm, definiert als "Wetter". Jedes Auslesen der Daten führt zu einer Änderung an temp_c, so dass das Notify jedesmal bei Aktualisierung der Wetterdaten auslöst.
define WindChill dummy
attr WindChill room Balkon

define n_WindChill notify Wetter.temp_c.* {
my $T = ReadingsVal("Wetter","temp_c",0);
my $Vw = ReadingsVal("Wetter","wind",0);
my $Twc = 0;
my $Twc_out = 0;

$Twc = 33+(0.478+0.237*sqrt($Vw)-0.0124*$Vw)*($T-33);
$Twc_out=sprintf("%%.1f", $Twc);
 
fhem "set WindChill $Twc_out"
}
attr n_WindChill room Balkon
attr WindChill,n_WindChill group WindChill

Beachte jedoch, dass laut Wikipedia die von dir verlinkte Formel als veraltet gilt. Demnach ist sei November 2001 gültig (kann so in das Notify eingebaut werden):
$Twc = 13.12+0.6215*$T-11.37*($Vw**0.16)+0.3965*$T*($Vw**0.16);
Wenn Du allerdings, so wie ich, die Daten von 59_WEATHER.pm beziehst, geht es noch einfacher mit
{ReadingsVal("Wetter,"wind_chill",0)}weil Yahoo freundlicherweise den Windchill mit übermittelt ;-)
Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

OiledAmoeba

Deine Frage hat mein IInteresse geweckt.

Diese Berechnung zeigt nur den WindChill auf, etwas, das für kalte Temperaturen und ordentlich Wind entwickelt wurde, so die Wikipedia. Mit der in DE bekannten "gefühlten Temperatur" hat das relativ wenig gemein. Hier fließen noch Luftdruck, Luftfeuchte, Sonneneinstrahlung, Körpergröße, -masse, Geschlecht, Alter und Kleidung mit ein.
So zumindest schreibt es der Deutsche Wetterdienst:
Zitat von: DWDZur Berechnung der gefühlten Temperatur wird das Klima-Michel-Modell des Deutschen Wetterdienstets eingesetzt, [...]
Quelle

Mal sehen, ob ich dazu was finde. Würde mich mal interessieren, ob sich das fhem-tauglich basteln lässt... ;-)
Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

Icebear

Moin,

wenn ich das richtig lese gilt die Formel aber nur für Windgeschwindigkeiten > 5 Km/h. Würde also Sinn machen bei Geschwindigkeiten < 5 Km/h den Windchill = gemessene Temperatur zu setzen oder sehe ich das falsch?

Grüsse aus Wesel
Icebear.
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)

OiledAmoeba

Stimmt. Dann würde das Kostrukt so aussehen:

define WindChill dummy
attr WindChill room Balkon

define n_WindChill notify Wetter.wind.* {
my $Vw = ReadingsVal("Wetter","wind",0);
my $T = ReadingsVal("Wetter","temp_c",0);
my $Twc_out = 0;

if ($Vw > 5) {
  my $Twc = 0;
  $Twc = 13.12+0.6215*$T-11.37*($Vw**0.16)+0.3965*$T*($Vw**0.16);
  $Twc_out=sprintf("%%.1f", $Twc);
} else {
  $Twc_out = $T
}  
fhem "set WindChill $Twc_out"
}
attr n_WindChill room Balkon
attr WindChill,n_WindChill group WindChill
Gruß
Florian

Jail auf XigmaNAS (freeBSD); CCU2 mit CULv3, nanoCUL868 und JeeLink-Clone; div. FS20-Komponenten; andFHEM; div. hm- und hmip-Komponenten; div. IT+

Rantanplan

Und kann man die Gefühlte Temp in einem GNU/SVG Plot auch als eine gefüllte Kurve unter/über der gemessenen Temperaturkurve in rot/blau anzeigen lassen?
-ist die gefühlte Temp über der gemessenen: rot
-ist sie darunter blau

Hat sich da jemand mal Gedanken gemacht?  8)

Joachim

FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Rantanplan

#7
Zitat von: Joachim am 31 Januar 2014, 12:01:25
SVG-Plot Editor?
Nö, keine Möglichkeit, die Fläche zwischen zwei Kurven auszufüllen....leider! ;)
laut http://www.univie.ac.at/adg/Teaching/Armueb11/effortran/gnuplot-ref.pdf#S15 sollte es eigentlich laufen mit
plot 'daten.dat' using 1:2:3 with filledcurves . . .
leider läuft das bei fhem etwas anders;
#FileLog 4:Wetter.temperature\x3a::
plot "<IN>" using 1:2 axes x1y1 title 'Measured Temp (°C)' ls l2 lw 0.5 with lines,\


heisst, ich müsste einen neuen FAKELOG mit 3 Datenspalten erzeugen und daraus die Werte lesen?

DJAlex

Ich möcht mich hier auch mal einbringen. Ich denke schon länger über eine Möglichkeit nach über Fhem den sogenannten PMV ( Predicted Mean Vote) zu berechnen. Dieser dient dazu die durchschnittliche Zufriedenheit des Nutzers mit seiner thermischen Umgebung zu berechnen. Die physikalischen Grundlagen kann ich als Bauphysiker stellen ich hab nur leider keine Ahnung von programmieren. Wenn man diese  Funktion integrieren könnte wäre das ein riesen Schritt in Richtung intelligentes Gebäude. Die gefühlte Temperatur ist für diese Berechnung durchaus auch wichtig. Ich schau übers Wochenende mal das ich die richtige Formel für die Gefühlte Temp. aufbereite. Wenn jemand interesse hat würd ich mich über ne Rückmeldung freuen damit wir etwas koordinieren können.

hexenmeister

Perl dürfte nicht das Problem sein, hier gibt es genug fachkundige. Die Frage ist eher, wie komplex so eine Berechnung ist und ob wir alle dafür Daten zur Verfügung haben. Micht würden die Berechnungsformeln schon interessieren. Ich könnte diese vermutlich auch in Perl umsetzen. In welcher Form möchtest Du denn  das Ergebnis haben, oder anders gefragt, wie willst Du es verwenden?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

betateilchen

Zitat von: OiledAmoeba am 06 Juni 2013, 10:58:55Mal sehen, ob ich dazu was finde. Würde mich mal interessieren, ob sich das fhem-tauglich basteln lässt... ;-)

Gibts schon. Nennt sich 55_GDS.pm, greift auf die öffentlichen Wetterdaten des DWD zu  und wird mit fhem ausgeliefert. Die gefühlte Temperatur ist da allerdings nicht mit drin.

Aber in 98_openweathermap.pm gibts das reading, sofern die ausgewählte Wetterstation den Wert im Datensatz bereitstellt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DJAlex

Der PMV ist ein Zahlenwert ohne Einheit auf einer Skala von -3 (kalt) bis 3 (heiß) und gibt an wie sich eine Person bei den Umgebungsbediengungen fühlen sollte. Der Grad der Komplexität ist je nach verwendetem Berechnungsmodell unterschiedlich. Fürn Anfang denke ich sollte das nach Fanger vollkomen ausreichen wenn wir das umsetzen können. Die Formel ist eine e-funktion (die genauen werte dafür schau ich morgen mal nach) in die der Metabolismus des Menschen und dessen Wärmebilanz eingeht. Den Metabolismus kann man Schätzen je nach Raum Art und Tageszeit (Aktivitätsgrad). Die Wärmebilanz wird etwas komplizierter. Da gehen Luft und Oberflächen Temp. ein die liesen sich noch raus bekommen. Die anderen Werte die noch eingehen schau ich mal nach da kann man aber viele vereinfachen. Wichtig wäre jedoch das man jeden Wert mit einer Variable versieht die einen Standardwert hat und aber je nach Bedarf leicht durch Messwerte ersetzt werden kann.

hotbso

Wer sich immer noch für das Thema interessiert und  eine Wetterstation WH2601 oder einen sonstigen Solarsensor hat, kann mal hier ->  https://forum.fhem.de/index.php/topic,73617.0.html nachsehen.