NEWS
[gelöst] gefühlte Temperatur
-
Deine Formel ist richtig. Sie wird in verschiedenen Beiträgen im www falsch dargestellt.EDIT: Formel ist falsch.
@paul53
Die Formel hatte ich hier gefunden:
https://homematic-forum.de/forum/viewtopic.php?t=50821#p509661 -
@peter666666
Heissen Deine DP tatsächlichnetatmo.0.xxx...?@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?
-
@paul53
Die Formel hatte ich hier gefunden:
https://homematic-forum.de/forum/viewtopic.php?t=50821#p509661@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.
-
@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?
@johgre ja da stehen die gemessenen Werte drinnen.
-
@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.
-
@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.
@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 -
@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.
-
@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.
-
@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.
@johgre jetzt nochmal neu kopiert und die DP auch neu rein kopiert ins Skript. Userdata bleibt aber leer


-
@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.
@paul53 wo mach ich das?
P.S.: Wind wird in km/h ausgegeben von Netatmo
-
@johgre jetzt nochmal neu kopiert und die DP auch neu rein kopiert ins Skript. Userdata bleibt aber leer


@peter666666 sagte in gefühlte Temperatur:
Userdata bleibt aber leer
Da steht ja auch nirgendwo
setState();-) -
@johgre jetzt nochmal neu kopiert und die DP auch neu rein kopiert ins Skript. Userdata bleibt aber leer


@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:
Userdata bleibt aber leer
Da steht ja auch nirgendwo
setState();-) -
@paul53 wo mach ich das?
P.S.: Wind wird in km/h ausgegeben von Netatmo
@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.
-
@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?

-
@paul53 wo mach ich das?
P.S.: Wind wird in km/h ausgegeben von Netatmo
-
@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].
-
@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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden


