Openweathermap nach HA Neustart in Fahrenheit statt Celsius

Hallo,

In meinem Setup habe ich einen Helfer definiert, der einfach nur die Temperatur bei Openweathermap abfragt (temperature) und anhand eines Schwellwertes wahr oder falsch ist (Temperatur > X°C). Funktioniert solange bis HA neu gestartet wird und die Openweathermap Temperatur in Fahrenheit zurückkommt.

Nein, der Browsercache hat damit mal nix zu tun, das läuft ja alles im Container ab.

Nach jedem Restart die Einheit von Celsius nach Fahrenheit und zurück konfigurieren hilft, aber das kann ja wohl nur ein workaround sein.

Ich bin perplex, dass es für dieses Problem keine stabile Lösung geben soll.

Hat jemand einen Hinweis? Danke

Kontrolliere mal, dass unter Einstellungen > System > Zuhause-Informationen auch “metrisch” als Einheitensystem ausgewählt ist.

Sorry, hatte ich nicht erwähnt, ja, steht auf metrisch. Wenn ich da wieder auf “US customary” stelle und danach wieder auf “metric” ist alles wie gewohnt, das ist der Workaround…

Ist es nur der Helfer der falsch anzeigt oder liefert Openweather falsche Werte ?

Hi,

Ich werte die Daten von Openweather aus, um meine Variable wahr oder falsch zu setzen, anzeigen lasse ich sie nicht.

Bei den “Threshold Sensor Options” habe ich nur das obere Limit gesetzt (24) und bekomme ein richtiges Ergebnis bei Celsius Werten und natürlich ein falsches bei Fahrenheit Werten (20°C = 68°F, meine Variable wird dann auf WAHR gesetzt, weil 68°F > 24, während 20°C < 24 also Variable FALSCH).

Langer Rede kurzer Sinn, ich denke die falschen Werte kommen von der Openweather API.

Wenn du den Wert nicht siehst könnte es ja sein das nach einem Restart der Wert erstmal undefiniert ist (timing z.b.).
Dann könnte dein Sensor deshalb einen falschen Wert liefern.

Hi,

das ergibt Sinn bis zum ersten Aufruf der Openweathermap api (aka “der sensor”), den lasse ich alle zehn Minuten machen und dann wird der wert wie oben beschrieben gesetzt.

Gibt es eine Möglichkeit HA in der configurations.yaml schon auf metrisch zu zwingen? (Die Frage warum nicht Celsius oder wenigstens Kelvin default ist könnte man auch diskutieren…das hilft mir jetzt aber nicht)

Hast du ein avability Template angelegt ?

Du versteifst dich zu sehr drauf das da Fahrenheit sind genauso gut könnte es sein das der Sensor unwahr liefert weil dein Vergleich z.B. zwischen 0 oder unavaible statt findet weil der Sensor keinen Wert hat.

Doch, da bin ich mir recht sicher. Ich hatte noch einen anderen Gedanken, HA läuft bei mir in einem Container, könnte da noch eine Umgebungsvariable gesetzt sein? Die flatlines kommen daher, dass ich nachts nicht abfrage.

(Danke für die Antworten!)

Okay da ist jetzt zu sehen das es in Fahrenheit kommt.

Verschiedene Ideen :

Dein Screenshot ist in English, hast du nur die Einheiten auf metrisch gestellt oder alles auf deutsch?

Ich nehme an du hast einen API Key und einen Account bei openweather , hast du mal geschaut ob du da das metrische System vorgeben kannst ?

Hast du den Sensor aus dem Screenshot neu angelegt ?
Hast du da c als Einheit gewählt?

Am Sensor sensor.openweathermap_temperature habe ich nichts angepasst, die config sieht so aus:

Ich bin gerade nicht zuhause, ich werde heute abend nochmal einen Restart machen und schauen, ob sich das UoM setting dann hier verändert. Vielleicht können wir das Problem dann etwas weiter einkreisen.

Danke für den Hinweis.

Bei OWM habe ich nochmal nach defaults geschsut, aber nichts gefunden, da scheint man die UoM nicht vordefinieren zu können.

https://openweathermap.org/api/one-call-api

https://openweathermap.org/api/one-call-api#data

(http://api.openweathermap.org/data/2.5/onecall?lat=30.489772&lon=-99.771335&units=metric)

Apicall mit metrischen Einheiten