OpenWeatherMapAPI - Weiterentwicklung

Begonnen von CoolTux, 19 November 2022, 13:24:19

Vorheriges Thema - Nächstes Thema

softwear

#30
Der onecall führt unweigerlich auch direkt im Browser in den 401.

Die Services von openweathermap (Screenshot) sind angehängt. Wenn die Subscription zum OneCall (inkl. Abrechnungsdaten für den Fall der Überschreitung des freien Limits) erfolgt ist, kann der User auch den onecall nutzen. Ansonsten geht's nur über weather und forecast, wenn ich das richtig deute.

CoolTux

Ja das habe ich mir fast gedacht. So ein Mist
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

hankie

zur Info, zuerst hatte ich auch API Key not valid. Dann habe ich den Link, was nach der Registrierung kam auf, um es im Browser zu testen. So ist mir aufgefallen, dass dort die Version 2.5 API verwendet wird. Dann habe ich im Fhem version=2.5 ausprobiert und es funktionierte der Key sofort. Also nach der Registrierung kann man einen Key für Version 2.5 erstellen, was via FHEM auch funktionierte. Vielleicht hilft es bei der Suche

harryman

Ups @CoolTux, erst jetzt ist mir aufgefallen, dass es zu dem Thema einen eigenen Thread gibt - sorry.
Dann nochmal offziell: Danke für deine Arbeit !

Mit einem Punkt bin ich noch nicht ganz so glücklich:
Bei den optionalen Forecast-Properties (z.B. fc1_rain, hfc1_rain1h, ...) ist es ja so, dass die Properties nur im JSON enthalten sind, wenn es auch einen Wert dafür gibt - also wenn es morgen oder in der nächsten Stunde vermutlich regnen wird.
Wenn sich aber an der Vorhersage etwas ändert oder die Uhr einfach weiter tickt und es dann bei fc1_rain oder hfc1_rain1h nicht mehr regnen wird (die Property im JSON nicht mehr enthalten ist), dann bleiben die alten Readings stehen. Jetzt sieht man zwar am Timestamp, dass der Wert alt ist und somit ignoriert werden kann. Aber wäre es auch eine Option, die Readings zu löschen oder vielleicht besser auf 0 zu setzen (bei if not exists)?

Aktuelles Szenario: Wenn irgendwann im Januar mal fc1_snow belegt wird, dann würde der Werte ja auch noch im Juli drin stehen. Das sieht dann schon ein wenig seltsam aus (auch wenn der Timestamp alt ist).

Das würde meiner Ansicht nach die *rain* und *snow* Readings betreffen.


Gruß Harry
2x RaspPi und viel EnOcean

Virsacer

Hi, ich hab jetzt auch mal die Testversion installiert :)

Erstmal vielen Dank dafür!

Auf den ersten Blick siehts gut aus, ich habe lediglich diese Meldung im Log:
PERL WARNING: Use of uninitialized value in multiplication (*) at FHEM/APIs/Weather/OpenWeatherMapAPI.pm line 734.

CoolTux

Zitat von: Virsacer am 03 Januar 2023, 23:57:02
Hi, ich hab jetzt auch mal die Testversion installiert :)

Erstmal vielen Dank dafür!

Auf den ersten Blick siehts gut aus, ich habe lediglich diese Meldung im Log:
PERL WARNING: Use of uninitialized value in multiplication (*) at FHEM/APIs/Weather/OpenWeatherMapAPI.pm line 734.

Hast Du wind_speed und wind_guest? Und Danke fürs testen.
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

Virsacer

Ich hab grad nochmal alle veralteten readings gelöscht und durchgestartet







wind72023-01-04 00:20:47
wind_conditionWind: WSW 7 km/h2023-01-04 00:20:47
wind_direction2402023-01-04 00:20:47
wind_gust02023-01-04 00:20:47
wind_speed72023-01-04 00:20:47

octek0815

Moin,

mit der neuen Version via...

https://git.cooltux.net/FHEM/mod-Weather/raw/branch/testing/controls_Weather.txt

...bekomme ich keinen Daily Forcast mehr. Hourly funktioniert.

Was kann ich machen?

Grüße
Olli

CoolTux

#38
Zitat von: octek0815 am 04 Januar 2023, 13:10:08
Moin,

mit der neuen Version via...

https://git.cooltux.net/FHEM/mod-Weather/raw/branch/testing/controls_Weather.txt

...bekomme ich keinen Daily Forcast mehr. Hourly funktioniert.

Was kann ich machen?

Grüße
Olli

Meiner Meinung nach hatte Daily bei der normalen Version 2.5 nie funktioniert. Gab glaube immer nur Hourly. Mit callone onecall und Version 3.0 geht aber beides
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

octek0815

Zitat von: CoolTux am 04 Januar 2023, 13:15:21
Meiner Meinung nach hatte Daily bei der normalen Version 2.5 nie funktioniert. Gab glaube immer nur Hourly. Mit callone und Version 3.0 geht aber beides

Was ist callone und meinst du mit 3.0 die API Version? Die habe ich.

Virsacer

Zitat von: harryman am 02 Januar 2023, 16:59:39
Mit einem Punkt bin ich noch nicht ganz so glücklich:
Bei den optionalen Forecast-Properties (z.B. fc1_rain, hfc1_rain1h, ...) ist es ja so, dass die Properties nur im JSON enthalten sind, wenn es auch einen Wert dafür gibt - also wenn es morgen oder in der nächsten Stunde vermutlich regnen wird.
Wenn sich aber an der Vorhersage etwas ändert oder die Uhr einfach weiter tickt und es dann bei fc1_rain oder hfc1_rain1h nicht mehr regnen wird (die Property im JSON nicht mehr enthalten ist), dann bleiben die alten Readings stehen. Jetzt sieht man zwar am Timestamp, dass der Wert alt ist und somit ignoriert werden kann. Aber wäre es auch eine Option, die Readings zu löschen oder vielleicht besser auf 0 zu setzen (bei if not exists)?

Aktuelles Szenario: Wenn irgendwann im Januar mal fc1_snow belegt wird, dann würde der Werte ja auch noch im Juli drin stehen. Das sieht dann schon ein wenig seltsam aus (auch wenn der Timestamp alt ist).

Das würde meiner Ansicht nach die *rain* und *snow* Readings betreffen.
Ja, die readings sollten dann wieder auf 0 gesetzt werden.

Zitat von: octek0815 am 04 Januar 2023, 13:24:14
Was ist callone und meinst du mit 3.0 die API Version? Die habe ich.
Das Ding heißt "One Call API 3.0" ;)
Hast du auch das Attribut "forecast" auf "daily" gesetzt? Bei mir klappt das damit wunderbar :)


Aber was seltsam ist:
Bei mir ist "wind_gust" immer noch 0, obwohl hier laut DWD-App eine Warnung vor Windböen ist...

CoolTux

Zitat von: octek0815 am 04 Januar 2023, 13:24:14
Was ist callone und meinst du mit 3.0 die API Version? Die habe ich.

Gib mal bitte ein list vom Device
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

octek0815

#42
Zitat von: CoolTux am 04 Januar 2023, 14:39:43
Gib mal bitte ein list vom Device


Internals:
   API        OpenWeatherMapAPI
   APIKEY     XXX
   APIOPTIONS
   DEF        API=OpenWeatherMapAPI apikey=XXX
   FUUID      63a35266-f33f-445e-bd85-13d878f4b34147a5
   INTERVAL   3600
   LANG       de
   MODEL      OpenWeatherMapAPI
   NAME       System_OpenWeatherMapAPI_Wetter
   NOTIFYDEV  global
   NR         1262
   NTFY_ORDER 50-System_OpenWeatherMapAPI_Wetter
   STATE      T: 10 °C F: 94 % W: 13 km/h P: 1007 hPa
   TYPE       Weather
   VERSION    v2.2.11
   eventCount 175
   OLDREADINGS:
   READINGS:
     2023-01-04 14:32:32   apiMaintainer   Marko Oldenburg (<a href=https://forum.fhem.de/index.php?action=profile;u=13684>CoolTux</a>)
     2023-01-04 14:32:32   apiVersion      v3.0.12
     2023-01-04 14:32:32   cloudCover      100
     2023-01-04 14:32:32   code            28
     2023-01-04 14:32:32   condition       Bedeckt
     2023-01-04 14:32:32   current_date_time Wed,  4 Jan 2023 14:30
     2023-01-04 14:32:32   high_c          12
     2023-01-04 14:32:32   humidity        94
     2023-01-04 14:32:32   icon            mostlycloudy
     2023-01-04 14:32:32   iconAPI         04d
     2023-01-04 14:32:32   lastError       
     2023-01-04 14:32:32   lat             X
     2023-01-04 14:32:32   long            Y
     2023-01-04 14:32:32   low_c           9
     2023-01-04 14:32:32   pressure        1007
     2023-01-04 14:32:32   pubDate         Wed,  4 Jan 2023 14:30
     2023-01-04 14:32:32   state           T: 10 °C F: 94 % W: 13 km/h P: 1007 hPa
     2023-01-04 14:32:32   status          ok
     2023-01-04 14:32:32   sunriseTime     Wed,  4 Jan 2023 08:29
     2023-01-04 14:32:32   sunsetTime      Wed,  4 Jan 2023 16:18
     2023-01-04 14:32:32   tempFeelsLike_c 10
     2023-01-04 14:32:32   tempHigh        12
     2023-01-04 14:32:32   tempLow         9
     2023-01-04 14:32:32   temp_c          10
     2023-01-04 14:32:32   temperature     10
     2023-01-04 14:32:32   validity        up-to-date
     2023-01-04 14:32:32   visibility      10000
     2023-01-04 14:32:32   wind            13
     2023-01-04 14:32:32   wind_condition  Wind: SW 13 km/h
     2023-01-04 14:32:32   wind_direction  224
     2023-01-04 14:32:32   wind_gust       21
     2023-01-04 14:32:32   wind_speed      13
   fhem:
     LOCATION   X,Y
     allowCache 1
     interfaces temperature;humidity;wind
Attributes:
   forecast   daily
   room       System

CoolTux

Zitat von: Virsacer am 04 Januar 2023, 14:23:51
Ja, die readings sollten dann wieder auf 0 gesetzt werden.
Das Ding heißt "One Call API 3.0" ;)
Hast du auch das Attribut "forecast" auf "daily" gesetzt? Bei mir klappt das damit wunderbar :)


Aber was seltsam ist:
Bei mir ist "wind_gust" immer noch 0, obwohl hier laut DWD-App eine Warnung vor Windböen ist...

Du hast eine onecall Subscription und hast auf API 3.0 umgestellt?
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

octek0815

Zitat von: CoolTux am 04 Januar 2023, 14:43:25
Du hast eine onecall Subscription und hast auf API 3.0 umgestellt?

Ich habe den free Plan und bis vor kurzem hat das funktioniert.