NEWS
[gelöst] gefühlte Temperatur
-
@peter666666 sagte in gefühlte Temperatur:
@codierknecht danke. Habe die Umlaute entfernt und habe das Skript mal gestartet - Keine Fehlermeldung aber "0_userdata.0.Hausdaten.gefühlte_Temperatur" noch leer. Mal schauen ob in ein paar Minuten ein Wert unter "0_userdata.0.Hausdaten.gefuehlte_Temperatur" steht.
Da sollte etwas stehen, sobald sich einer der beiden Eingangswerte ändert.
-
@codierknecht danke, werde berichten. Leider schmiert der Fernzugriff über die Cloud immer ab wegen zu vieler Anfragen oder so. Jetzt muss ich immer 5 Minuten warten bevor ich mich wieder verbinden kann. Den Fehler muss ich erst Googlen.
-
@paul53 sagte in gefühlte Temperatur:
Du wirst feststellen, dass Deine Formel anders aussieht.
Solange das Ergebnis stimmt, soll's mir persönlich Wurscht sein.
Ich bin noch dabei herauszufinden, wie und wo Du da gekürzt hast. Mathematik dieser Kategorie hatte ich zuletzt vor vielleicht 30 Jahren - das fluppt nicht mehr so gut -
@peter666666 Hi bei mir funktioniert deine Methode. Der einzige Unterschied den ich zwischen mir und dir entdecken kann sind die doppelten Hochkommas bei der Stateauswahl. Probier's mal mit einfachen Singleticks.
function Start() { Berechne(); } function GefuehlteTemperatur(temp, wind){ var t =temp var v = wind var w = 13.12+(0.6215*t)-11.37*v**0.16+0.3965*t*v**0.16; return w; } function Berechne(){ var t = parseFloat( getState('netatmo.0.xxx.70-ee-50-03-da-44.02-00-00-03-d7-bc.Temperature.Temperature'/*Temperature*/).val); var v =parseFloat( getState('netatmo.0.xxxc.70-ee-50-03-da-44.06-00-00-00-1e-82.Wind.WindStrength'/*Wind strength*/).val); var w = GefuehlteTemperatur(t,v); log('Gefühlte Temperatur: ' + Math.round(w * 10) / 10 + ' °C'); } Start();
-
@peter666666 Versteh ich nicht, der Adapter kriegt doch die Daten geliefert, ich glaub so alle 10 Minuten. Das sollte dann so funktionieren wie @Codierknecht es vorgeschlagen hat.
-
Deine Formel ist richtig. Sie wird in verschiedenen Beiträgen im www falsch dargestellt.EDIT: Formel ist falsch.
-
-
@codierknecht Dein Skript habe ich auch versucht. userData bleibt aber leer. Irgendwas mach ich falsch
-
@peter666666 sagte in gefühlte Temperatur:
@johgre Wenn ich es so mache kommen einige Warnungen:
Dein Script heist noch Gef
ü
hlte_Außentemperatur. Ändere das mal -
@peter666666
Heissen Deine DP tatsächlichnetatmo.0.xxx...
? -
@paul53
Die Formel hatte ich hier gefunden:
https://homematic-forum.de/forum/viewtopic.php?t=50821#p509661 -
@codierknecht sagte in gefühlte Temperatur:
@peter666666
Heissen Deine DP tatsächlichnetatmo.0.xxx...
?nein, die schauen schon so aus wie deine. In den Objekt.States stehen aber schon Werte drinnen?
-
@codierknecht sagte: Die Formel hatte ich hier gefunden:
Das entspricht nicht dieser Formel, die man meistens findet. Der Exponent von 0,16 wirkt nur auf die Windgeschwindigkeit.
-
@johgre ja da stehen die gemessenen Werte drinnen.
-
@peter666666 sagte in gefühlte Temperatur:
@johgre ja da stehen die gemessenen Werte drinnen.
Probier das mal und benenne das Script mal um.
function Start() { Berechne(); } function GefuehlteTemperatur(temp, wind){ log('temp: ' + temp + ' wind: ' + wind); var t =temp var v = wind var w = 13.12+(0.6215*t)-11.37*v**0.16+0.3965*t*v**0.16; return w; } function Berechne(){ var t = parseFloat( getState('netatmo.0.5ea0208a5f0d9668fe02b62c.70-ee-50-03-da-44.02-00-00-03-d7-bc.Temperature.Temperature'/*Temperature*/).val); log('Temperatur: ' + t); var v =parseFloat( getState('netatmo.0.5ea0208a5f0d9668fe02b62c.70-ee-50-03-da-44.06-00-00-00-1e-82.Wind.WindStrength'/*Wind strength*/).val); log('WindStrength: ' + v); var w = GefuehlteTemperatur(t,v); log('Gefühlte Temperatur: ' + Math.round(w * 10) / 10 + ' °C'); } Start();
da müssen die Log-Statements was ausgeben.
-
@paul53 sagte in gefühlte Temperatur:
Das entspricht nicht dieser Formel, die man meistens findet
Und bei Wikipedia findet sich wieder eine andere:
https://de.wikipedia.org/wiki/Windchill -
@codierknecht sagte: Wikipedia findet sich wieder eine andere:
Die Formel ist identisch zu der von mir angegebenen. Zu beachten ist, dass in dieser Formel die Windgeschwindigkeit in km/h vorliegen muss.
-
@paul53
Naja - die Formel dann anzupassen scheint aktuell das geringere Problem. -
@peter666666 sagte: Wenn ich es so mache kommen einige Warnungen:
Durch das Anhängen von " °C" wird aus der Zahl wieder ein String. Bei Datenpunkten vom Typ Zahl trägt man "°C" unter common.unit ein.
-
@johgre jetzt nochmal neu kopiert und die DP auch neu rein kopiert ins Skript. Userdata bleibt aber leer