[patch] Tägliche Daten für OpenWeatherMap

Begonnen von nobody, 30 Dezember 2021, 15:32:28

Vorheriges Thema - Nächstes Thema

Hinata

Wenn ich das API aufrufe bekomme ich stündliche Daten:

https://api.openweathermap.org/data/2.5/onecall?lat=48.74&lon=9.33&appid=xyz


...
hourly":[
{"dt":1644775200,"temp":278.53,"feels_like":276.6,"pressure":1014,"humidity":64,"dew_point":272.38,"uvi":0,"clouds":1,"visibility":10000,"wind_speed":2.38,"wind_deg":163,"wind_gust":5.45,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0},
{"dt":1644778800,"temp":278.67,"feels_like":276.91,"pressure":1014,"humidity":64,"dew_point":272.5,"uvi":0,"clouds":0,"visibility":10000,"wind_speed":2.22,"wind_deg":158,"wind_gust":4.26,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0},
{"dt":1644782400,"temp":278.29,"feels_like":276.52,"pressure":1014,"humidity":64,"dew_point":272.18,"uvi":0,"clouds":1,"visibility":10000,"wind_speed":2.16,"wind_deg":157,"wind_gust":3.67,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0},
{"dt":1644786000,"temp":277.78,"feels_like":275.92,"pressure":1014,"humidity":62,"dew_point":271.37,"uvi":0,"clouds":2,"visibility":10000,"wind_speed":2.17,"wind_deg":161,"wind_gust":3.77,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0},
...

Hinata

ZitatAnsonsten funktioniert es aber bei Dir?
Sonst habe ich bisher keine Probleme festgestellt.

CoolTux

Zitat von: Hinata am 13 Februar 2022, 19:45:06
Wenn ich das API aufrufe bekomme ich stündliche Daten:

https://api.openweathermap.org/data/2.5/onecall?lat=48.74&lon=9.33&appid=xyz


...
hourly":[
{"dt":1644775200,"temp":278.53,"feels_like":276.6,"pressure":1014,"humidity":64,"dew_point":272.38,"uvi":0,"clouds":1,"visibility":10000,"wind_speed":2.38,"wind_deg":163,"wind_gust":5.45,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0},
{"dt":1644778800,"temp":278.67,"feels_like":276.91,"pressure":1014,"humidity":64,"dew_point":272.5,"uvi":0,"clouds":0,"visibility":10000,"wind_speed":2.22,"wind_deg":158,"wind_gust":4.26,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0},
{"dt":1644782400,"temp":278.29,"feels_like":276.52,"pressure":1014,"humidity":64,"dew_point":272.18,"uvi":0,"clouds":1,"visibility":10000,"wind_speed":2.16,"wind_deg":157,"wind_gust":3.67,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0},
{"dt":1644786000,"temp":277.78,"feels_like":275.92,"pressure":1014,"humidity":62,"dew_point":271.37,"uvi":0,"clouds":2,"visibility":10000,"wind_speed":2.17,"wind_deg":161,"wind_gust":3.77,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0},
...


Bei onecall nehme ich nur die Tagesvorhersage. Die 3 Stundendaten kommen aus forecast
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Hinata

ZitatBei onecall nehme ich nur die Tagesvorhersage. Die 3 Stundendaten kommen aus forecast
Warum nicht für beides? https://openweathermap.org/api/one-call-api scheint doch das neuere API mit mehr Möglichkeiten zu sein?

CoolTux

Die Umstellung würde mehr Zeit in Anspruch nehmen welche ich aktuell nicht habe.

Es geht vor allem darum sich den Response an zu schauen und ab zu schätzen ob aktuell vorhandene Daten für User verloren gehen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Hinata

Ich bin neuer FHEM User und kann nur schlecht beurteilen ob etwas fehlt.
Meine Use Cases funktionieren fehlerfrei.

Hinata

Nach einem Neustart habe ich folgende Meldung erhalten:

PERL WARNING: Use of uninitialized value in multiplication (*) at FHEM/OpenWeatherMapAPI.pm line 452.

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Hinata

Es ist mir auch noch eine andere Sache aufgefallen. Die APIs liefern unterschiedliche Werte für ,,current" bzw. aktuelle Stunde, je nachdem ob man bei Current, Hourly Forecast oder One Call API reinschaut.

CoolTux

Gibt eigentlich nur eine API. Aber die Endpunkte sind unterschiedlich und daher ist die Antwort auch unterschiedlich welche dann kommt. Aber das liegt einzig an der API. Es werden nur die Daten geschrieben welche empfangen wurden.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Hinata

Ich habe einen weiteren Test gemacht:

WLAN Router 10 min ausgeschaltet und dann wieder ein. Mit aktiviertem OpenWeather Device startet mein Raspi nach einigen Minuten nach dem einschalten des WLAN neu (Reboot). Ohne OpenWeather passiert das nicht.

Ich habe in meinem RaspiOS einen Watchdog aktiviert, der prüft ob regelmäßig in eine Datei geschrieben wird. Über einen FHEM-Timer schreibe ich alle 10 min in die Datei.

Irgendein Aufruf von OpenWeather scheint blockierend zu sein und ganz FHEM anzuhalten?

CoolTux

Zitat von: Hinata am 26 Februar 2022, 11:03:10
Ich habe einen weiteren Test gemacht:

WLAN Router 10 min ausgeschaltet und dann wieder ein. Mit aktiviertem OpenWeather Device startet mein Raspi nach einigen Minuten nach dem einschalten des WLAN neu (Reboot). Ohne OpenWeather passiert das nicht.

Ich habe in meinem RaspiOS einen Watchdog aktiviert, der prüft ob regelmäßig in eine Datei geschrieben wird. Über einen FHEM-Timer schreibe ich alle 10 min in die Datei.

Irgendein Aufruf von OpenWeather scheint blockierend zu sein und ganz FHEM anzuhalten?

Logausgabe bitte
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Hinata

Eine LOG-Datei mit sinnvollem Inhalt habe ich bisher nicht hinbekommen, da ich ein RAM-Disk für die LOG-Dateien verwende und zusätzlich FHEM von außen über einen Watchdog überwache. In den Systemlogs sieht man, das FHEM aufhört die KeepAlive-Datei zu schreiben und der Watchdog dadurch auslöst. Wie gesagt, kann ich das Problem recht einfach beseitigen, in dem ich OpenWeather disable 1 setzte.

Ich kenne mich in Perl zu wenig aus, die Frage die aber doch einfach zu klären sein sollte ist, ob der Abruf der JSON-Daten über das Web-API blockierend ist?

CoolTux

Zitat von: Hinata am 27 Februar 2022, 09:19:49
Ich kenne mich in Perl zu wenig aus, die Frage die aber doch einfach zu klären sein sollte ist, ob der Abruf der JSON-Daten über das Web-API blockierend ist?

Das ist leicht. Nein ist sie nicht.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

romakrau

#29
Die Zeiten für Sonnenaufgang usw. sind um eine Stunde verschoben. Im Modul finde ich bei Zeitumrechnungen immer -3600 ist das correct?

Edit: Anscheined nur für forecast
Edit2: Wenn ich mir was wünschen darf, wäre das der Wert hourly.uvi.