NEWS
[gelöst] gefühlte Temperatur
-
@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
-
@paul53 wo mach ich das?
P.S.: Wind wird in km/h ausgegeben von Netatmo
-
@peter666666 sagte in gefühlte Temperatur:
Userdata bleibt aber leer
Da steht ja auch nirgendwo
setState()
-
@peter666666 sagte in gefühlte Temperatur:
@johgre jetzt nochmal neu kopiert und die DP auch neu rein kopiert ins Skript. Userdata bleibt aber leer
Dein Datenpunkt ist ein Ordner
-
-
@peter666666 sagte in gefühlte Temperatur:
wo mach ich das?
Das kannst Du alles in den Eigenschaften Deines DP einstellen.
Der muss dann allerdings als "Datenpunkt" und nicht als "Verzeichnis" angelegt werden.setState("DEIN_DATENPUNKT", DEIN_WERT, true);
-
@peter666666
Nachdem du aus "GefuehlteTemperatur" einen Datenpunkt ("type": "state") gemacht hast, hier eine strukturiertere Version:const idTemp = "netatmo.0.631f3d2edc4bfdce530a3d09.70-ee-50-90-bd-7e.02-00-00-90-bd-80.Temperature.Temperature"; const idWind = "netatmo.0.631f3d2edc4bfdce530a3d09.70-ee-50-90-bd-7e.06-00-00-06-b3-3a.Wind.WindStrength"; const idFuehl = "0_userdata.0.Hausdaten.GefuehlteTemperatur"; function Berechne() { let t = parseFloat(getState(idTemp).val); let v = parseFloat(getState(idWind).val); // in km/h let w = 13.12 + 0.6215 * t + (0.3965 * t - 11.37) * v**0.16; setState(idFuehl, Math.round(w * 10) / 10, true); } Berechne(); // Skriptstart on([idTemp, idWind], Berechne);
EDIT: Um eine überflüssige Funktion bereinigt.
-
@paul53 vielen vielen Dank! Es funktioniert. Danke an ALLE!
Offtopic:
Habt Ihr auch das Problem mit der Cloud?
-
-
@peter666666 sagte: Es funktioniert.
Dann setze bitte das Thema in der Überschrift des ersten Beitrags auf [gelöst].
-
@paul53 sagte in gefühlte Temperatur:
@peter666666 sagte: Es funktioniert.
Dann setze bitte das Thema in der Überschrift des ersten Beitrags auf [gelöst].
Und eröffne für Dein Cloud-Problem einen neuen Thread.