Neue 59_Weather, OpenWeatherMapAPI - Tester gesucht

Begonnen von CoolTux, 21 Dezember 2022, 08:39:12

Vorheriges Thema - Nächstes Thema

vbs

Die Kombination scheint nicht (mehr?) kostenlos zu sein, oder?

Ich bekomme dann als Meldung:
API Maintainer: Marko Oldenburg ErrorMsg: 401: Please note that using One Call 3.0 requires a separate subscription to the One Call by Call plan.
Mein Def:
API=OpenWeatherMapAPI,cachemaxage:600,version:3.0,endpoint:onecall apikey=<mykey>location=<myloc>

CoolTux

Kostenlos ist es noch, man muss aber eine separate Subskription anlegen.
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

vbs


vbs

Sorry aber ich bin irgendwie zu doof. Ich hab jetzt nach meinem Verständnis eine Subscription für 3.0 mit onecall. Aber in der commandref steht Folgendes:
endpoint:onecall only to test whether the API key which not officially for onecall is not supported yet onecall via API version 2.5. IMPORTANT!!! apioption version must not be set to 3.0
Den ersten Teil verstehe ich sprachlich nicht so ganz, aber den zweiten Teil verstehe ich so, dass man nicht 3.0 zusammen mit onecall nutzen darf? Warum nicht und was soll man stattdessen machen?

Danke für Hilfe, vermutlich steh ich irgendwie auf dem Schlauch.

vbs

Also soweit ich das sehe, funktioniert die Kombination aus API 3.0 und onecall bei mir problemlos, obwohl man das laut commandref nicht machen soll. Nur für den Fall, dass jemand ein ähnliches Problem hat.

mi.ke

Ich hab eine Verständnisfrage:

Müssen beim anlegen/aktivieren einer neuen Subscription zwingend die Kreditkartendaten eingegeben werden, damit das Modul wieder funktioniert?

LG mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

vbs

Mindestens Google Pay geht auch. Aber irgendwas zum Bezahlen muss man angeben. Aber man kann es dann so einstellen, dass der Account auf 1000 Requests pro Tag limitiert wird, so dass es mutmaßlich nie zu Zahlungen kommen sollte.

hinrich2001

Lieber Entwickler des Weather Moduls, liebe Community,
ich habe mir überlegt, dass es für mich als Hundebeitzer äußerst praktisch wäre zu wissen, ob es in den nächsten 20 Minuten (Zeitraum beliebig, passt für eine mittlere Gassirunde) regnen wird.
Also habe ich mich bei Openweatermap angemeldet, weil ich gesehen habe, dass es auch minütliche Werte gibt. Zwar benötigt man dafür eine zusätzliche Subscription aber 1000 Calls am Tag sind for free und das reicht allemal, wenn man die Abfrage alle 10 Minuten macht.
Die API gibt folgendes aus

GET https://api.openweathermap.org/data/3.0/onecall?lat=50.939101&lon=6.893451&appid=<mein Token>&units=metric
{
    "lat": 50.9391,
    "lon": 6.8935,
    "timezone": "Europe/Berlin",
    "timezone_offset": 3600,
    "current": {
        "dt": 1734187727,
        "sunrise": 1734161302,
        "sunset": 1734189975,
        "temp": 3.44,
        "feels_like": 0.56,
        "pressure": 1020,
        "humidity": 87,
        "dew_point": 1.48,
        "uvi": 0,
        "clouds": 100,
        "visibility": 10000,
        "wind_speed": 3.09,
        "wind_deg": 230,
        "weather": [
            {
                "id": 804,
                "main": "Clouds",
                "description": "overcast clouds",
                "icon": "04d"
            }
        ]
    },
    "minutely": [
        {
            "dt": 1734187740,
            "precipitation": 0
        },
        {
            "dt": 1734187800,
            "precipitation": 0
        },
        {
            "dt": 1734187860,
            "precipitation": 0
        },
        {
            "dt": 1734187920,
            "precipitation": 0
        },
        {
            "dt": 1734187980,
            "precipitation": 0
        },
        {
            "dt": 1734188040,
            "precipitation": 0
        },
        {
            "dt": 1734188100,
            "precipitation": 0
        },
        {
            "dt": 1734188160,
            "precipitation": 0
        },
        {
            "dt": 1734188220,
            "precipitation": 0
        },
        {
            "dt": 1734188280,
            "precipitation": 0
        },
        {
            "dt": 1734188340,
            "precipitation": 0
        },
        {
            "dt": 1734188400,
            "precipitation": 0
        },
        {
            "dt": 1734188460,
            "precipitation": 0
        },
        {
            "dt": 1734188520,
            "precipitation": 0
        },
        {
            "dt": 1734188580,
            "precipitation": 0
        },
        {
            "dt": 1734188640,
            "precipitation": 0
        },
        {
            "dt": 1734188700,
            "precipitation": 0
        },
        {
            "dt": 1734188760,
            "precipitation": 0
        },
        {
            "dt": 1734188820,
            "precipitation": 0
        },
        {
            "dt": 1734188880,
            "precipitation": 0.1058
        },
        {
            "dt": 1734188940,
            "precipitation": 0.1194
        },
        {
            "dt": 1734189000,
            "precipitation": 0.133
        },
        {
            "dt": 1734189060,
            "precipitation": 0.133
        },
        {
            "dt": 1734189120,
            "precipitation": 0.133
        },

Das nach ,,minutely" ist genau das, was ich bräuchte, um z.B. mit einem DOIF abzufragen ob die ersten 20 von 60 Werte alle eine "precipitation" von 0 (mm/min oder Wahrscheinlichkeit, das muss ich noch herausfinden) haben.
Meine Definition in FHEM sieht wie folgt aus.

API=OpenWeatherMapAPI,cachemaxage:600,version:3.0,endpoint:onecall apikey=<mein Token> location=50.939101,6.893451 interval=1800 lang=de
Das List so:

Internals:
   API        OpenWeatherMapAPI
   APIKEY     <mein Token>
   APIOPTIONS cachemaxage:600,version:3.0,endpoint:onecall
   DEF        API=OpenWeatherMapAPI,cachemaxage:600,version:3.0,endpoint:onecall apikey=<mein Token> location=50.939101,6.893451 interval=1800 lang=de
   FUUID      675b2ef0-f33f-3e5d-a64a-0251489e95f4557b
   FVERSION   59_Weather.pm:v2.2.30-s29223/2024-10-11
   INTERVAL   1800
   LANG       de
   MODEL      OpenWeatherMapAPI
   NAME       Wetter_Zuhause
   NOTIFYDEV  global
   NR         42
   NTFY_ORDER 50-Wetter_Zuhause
   STATE      T: 3 °C F: 87 % W: 11 km/h P: 1020 hPa
   TYPE       Weather
   VERSION    v2.2.30
   eventCount 118
   OLDREADINGS:
   READINGS:
     2024-12-14 15:49:51   apiMaintainer   Marko Oldenburg <fhemdevelopment@cooltux.net>
     2024-12-14 15:49:51   apiVersion      v3.2.7-stable
     2024-12-14 15:49:51   cloudCover      100
     2024-12-14 15:49:51   code            28
     2024-12-14 15:49:51   condition       Bedeckt
     2024-12-14 15:49:51   current_date_time Sat, 14 Dec 2024 15:49
     2024-12-14 15:49:51   dew_point       1
     2024-12-14 15:49:51   hfc1_cloudCover 100
     2024-12-14 15:49:51   hfc1_code       28
     2024-12-14 15:49:51   hfc1_condition  Bedeckt
     2024-12-14 15:49:51   hfc1_day_of_week Sat, 15:00
     2024-12-14 15:49:51   hfc1_dew_point  1
     2024-12-14 15:49:51   hfc1_humidity   85
     2024-12-14 15:49:51   hfc1_icon       mostlycloudy
     2024-12-14 15:49:51   hfc1_iconAPI    04d
     2024-12-14 15:49:51   hfc1_owmAPICode 804
     2024-12-14 15:49:51   hfc1_pressure   1020
     2024-12-14 15:49:51   hfc1_pubDate    Sat, 14 Dec 2024 15:00
     2024-12-14 15:49:51   hfc1_rain1h     0
     2024-12-14 15:49:51   hfc1_snow1h     0
     2024-12-14 15:49:51   hfc1_tempFeelsLike 0
     2024-12-14 15:49:51   hfc1_temp_c     3
     2024-12-14 15:49:51   hfc1_temperature 3
     2024-12-14 15:49:51   hfc1_uvi        0.05
     2024-12-14 15:49:51   hfc1_visibility 10000
     2024-12-14 15:49:51   hfc1_wind       17
     2024-12-14 15:49:51   hfc1_wind_condition Wind: WSW 17 km/h
     2024-12-14 15:49:51   hfc1_wind_direction 255
     2024-12-14 15:49:51   hfc1_wind_gust  42
     2024-12-14 15:49:51   hfc1_wind_speed 17
     2024-12-14 15:49:51   hfc2_cloudCover 100
     2024-12-14 15:49:51   hfc2_code       28
     2024-12-14 15:49:51   hfc2_condition  Bedeckt
     2024-12-14 15:49:51   hfc2_day_of_week Sat, 16:00
     2024-12-14 15:49:51   hfc2_dew_point  1
     2024-12-14 15:49:51   hfc2_humidity   87
     2024-12-14 15:49:51   hfc2_icon       mostlycloudy
     2024-12-14 15:49:51   hfc2_iconAPI    04d
     2024-12-14 15:49:51   hfc2_owmAPICode 804
     2024-12-14 15:49:51   hfc2_pressure   1020
     2024-12-14 15:49:51   hfc2_pubDate    Sat, 14 Dec 2024 16:00
     2024-12-14 15:49:51   hfc2_rain1h     0
     2024-12-14 15:49:51   hfc2_snow1h     0
     2024-12-14 15:49:51   hfc2_tempFeelsLike -1
     2024-12-14 15:49:51   hfc2_temp_c     3
     2024-12-14 15:49:51   hfc2_temperature 3
     2024-12-14 15:49:51   hfc2_uvi        0
     2024-12-14 15:49:51   hfc2_visibility 10000
     2024-12-14 15:49:51   hfc2_wind       19
     2024-12-14 15:49:51   hfc2_wind_condition Wind: WSW 19 km/h
     2024-12-14 15:49:51   hfc2_wind_direction 252
     2024-12-14 15:49:51   hfc2_wind_gust  43
     2024-12-14 15:49:51   hfc2_wind_speed 19
     2024-12-14 15:49:51   hfc3_cloudCover 100
     2024-12-14 15:49:51   hfc3_code       28
     2024-12-14 15:49:51   hfc3_condition  Bedeckt
     2024-12-14 15:49:51   hfc3_day_of_week Sat, 17:00
     2024-12-14 15:49:51   hfc3_dew_point  1
     2024-12-14 15:49:51   hfc3_humidity   86
     2024-12-14 15:49:51   hfc3_icon       mostlycloudy
     2024-12-14 15:49:51   hfc3_iconAPI    04n
     2024-12-14 15:49:51   hfc3_owmAPICode 804
     2024-12-14 15:49:51   hfc3_pressure   1020
     2024-12-14 15:49:51   hfc3_pubDate    Sat, 14 Dec 2024 17:00
     2024-12-14 15:49:51   hfc3_rain1h     0
     2024-12-14 15:49:51   hfc3_snow1h     0
     2024-12-14 15:49:51   hfc3_tempFeelsLike -1
     2024-12-14 15:49:51   hfc3_temp_c     3
     2024-12-14 15:49:51   hfc3_temperature 3
     2024-12-14 15:49:51   hfc3_uvi        0
     2024-12-14 15:49:51   hfc3_visibility 10000
     2024-12-14 15:49:51   hfc3_wind       20
     2024-12-14 15:49:51   hfc3_wind_condition Wind: WSW 20 km/h
     2024-12-14 15:49:51   hfc3_wind_direction 254
     2024-12-14 15:49:51   hfc3_wind_gust  44
     2024-12-14 15:49:51   hfc3_wind_speed 20
     2024-12-14 15:49:51   hfc4_cloudCover 100
     2024-12-14 15:49:51   hfc4_code       35
     2024-12-14 15:49:51   hfc4_condition  Leichter Regen
     2024-12-14 15:49:51   hfc4_day_of_week Sat, 18:00
     2024-12-14 15:49:51   hfc4_dew_point  1
     2024-12-14 15:49:51   hfc4_humidity   86
     2024-12-14 15:49:51   hfc4_icon       heavyrain
     2024-12-14 15:49:51   hfc4_iconAPI    10n
     2024-12-14 15:49:51   hfc4_owmAPICode 500
     2024-12-14 15:49:51   hfc4_pressure   1020
     2024-12-14 15:49:51   hfc4_pubDate    Sat, 14 Dec 2024 18:00
     2024-12-14 15:49:51   hfc4_rain1h     0.1
     2024-12-14 15:49:51   hfc4_snow1h     0
     2024-12-14 15:49:51   hfc4_tempFeelsLike -1
     2024-12-14 15:49:51   hfc4_temp_c     4
     2024-12-14 15:49:51   hfc4_temperature 4
     2024-12-14 15:49:51   hfc4_uvi        0
     2024-12-14 15:49:51   hfc4_visibility 10000
     2024-12-14 15:49:51   hfc4_wind       20
     2024-12-14 15:49:51   hfc4_wind_condition Wind: WSW 20 km/h
     2024-12-14 15:49:51   hfc4_wind_direction 253
     2024-12-14 15:49:51   hfc4_wind_gust  45
     2024-12-14 15:49:51   hfc4_wind_speed 20
     2024-12-14 15:49:51   hfc5_cloudCover 100
     2024-12-14 15:49:51   hfc5_code       28
     2024-12-14 15:49:51   hfc5_condition  Bedeckt
     2024-12-14 15:49:51   hfc5_day_of_week Sat, 19:00
     2024-12-14 15:49:51   hfc5_dew_point  2
     2024-12-14 15:49:51   hfc5_humidity   89
     2024-12-14 15:49:51   hfc5_icon       mostlycloudy
     2024-12-14 15:49:51   hfc5_iconAPI    04n
     2024-12-14 15:49:51   hfc5_owmAPICode 804
     2024-12-14 15:49:51   hfc5_pressure   1021
     2024-12-14 15:49:51   hfc5_pubDate    Sat, 14 Dec 2024 19:00
     2024-12-14 15:49:51   hfc5_rain1h     0
     2024-12-14 15:49:51   hfc5_snow1h     0
     2024-12-14 15:49:51   hfc5_tempFeelsLike -1
     2024-12-14 15:49:51   hfc5_temp_c     4
     2024-12-14 15:49:51   hfc5_temperature 4
     2024-12-14 15:49:51   hfc5_uvi        0
     2024-12-14 15:49:51   hfc5_visibility 10000
     2024-12-14 15:49:51   hfc5_wind       21
     2024-12-14 15:49:51   hfc5_wind_condition Wind: WSW 21 km/h
     2024-12-14 15:49:51   hfc5_wind_direction 257
     2024-12-14 15:49:51   hfc5_wind_gust  41
     2024-12-14 15:49:51   hfc5_wind_speed 21
     2024-12-14 15:49:51   hfc6_cloudCover 100
     2024-12-14 15:49:51   hfc6_code       35
     2024-12-14 15:49:51   hfc6_condition  Leichter Regen
     2024-12-14 15:49:51   hfc6_day_of_week Sat, 20:00
     2024-12-14 15:49:51   hfc6_dew_point  2
     2024-12-14 15:49:51   hfc6_humidity   92
     2024-12-14 15:49:51   hfc6_icon       heavyrain
     2024-12-14 15:49:51   hfc6_iconAPI    10n
     2024-12-14 15:49:51   hfc6_owmAPICode 500
     2024-12-14 15:49:51   hfc6_pressure   1021
     2024-12-14 15:49:51   hfc6_pubDate    Sat, 14 Dec 2024 20:00
     2024-12-14 15:49:51   hfc6_rain1h     0.11
     2024-12-14 15:49:51   hfc6_snow1h     0
     2024-12-14 15:49:51   hfc6_tempFeelsLike -1
     2024-12-14 15:49:51   hfc6_temp_c     4
     2024-12-14 15:49:51   hfc6_temperature 4
     2024-12-14 15:49:51   hfc6_uvi        0
     2024-12-14 15:49:51   hfc6_visibility 10000
     2024-12-14 15:49:51   hfc6_wind       20
     2024-12-14 15:49:51   hfc6_wind_condition Wind: WSW 20 km/h
     2024-12-14 15:49:51   hfc6_wind_direction 250
     2024-12-14 15:49:51   hfc6_wind_gust  40
     2024-12-14 15:49:51   hfc6_wind_speed 20
     2024-12-12 22:30:56   high_c          3
     2024-12-14 15:49:51   humidity        87
     2024-12-14 15:49:51   icon            mostlycloudy
     2024-12-14 15:49:51   iconAPI         04d
     2024-12-14 15:49:51   lastError      
     2024-12-14 15:49:51   lat             50.939101
     2024-12-14 15:49:51   long            6.893451
     2024-12-12 22:30:56   low_c           1
     2024-12-14 15:49:51   owmAPICode      804
     2024-12-14 15:49:51   pressure        1020
     2024-12-14 15:49:51   pubDate         Sat, 14 Dec 2024 15:49
     2024-12-14 15:49:51   rain_1h         0
     2024-12-14 15:49:51   state           T: 3 °C F: 87 % W: 11 km/h P: 1020 hPa
     2024-12-14 15:49:51   status          ok
     2024-12-14 15:49:51   sunriseTime     Sat, 14 Dec 2024 08:28
     2024-12-14 15:49:51   sunsetTime      Sat, 14 Dec 2024 16:26
     2024-12-14 15:49:51   tempFeelsLike_c 1
     2024-12-12 22:30:56   tempHigh        3
     2024-12-12 22:30:56   tempLow         1
     2024-12-14 15:49:51   temp_c          3
     2024-12-14 15:49:51   temperature     3
     2024-12-14 15:49:51   timezone        Europe/Berlin
     2024-12-14 15:49:51   timezone_offset 3600
     2024-12-14 15:49:51   uvi             0
     2024-12-14 15:49:51   validity        up-to-date
     2024-12-14 15:49:51   visibility      10000
     2024-12-14 15:49:51   wind            11
     2024-12-14 15:49:51   wind_condition  Wind: SW 11 km/h
     2024-12-14 15:49:51   wind_direction  230
     2024-12-14 15:49:51   wind_gust       0
     2024-12-14 15:49:51   wind_speed      11
   fhem:
     LOCATION   50.939101,6.893451
     allowCache 1
     interfaces temperature;humidity;wind
   readings:
Attributes:
   forecast   hourly
   forecastLimit 6
   room       Umwelt


Leider tauchen die Minutenwerte nicht auf. Muss ich noch etwas hinzufügen, dass diese Werte erscheinen?
Falls nicht, wäre es möglich, das noch ins Modul einzubauen?
Wäre mega!

betateilchen

Deine sehr spezielle Anforderung wäre in einem eigenen Thread besser aufgehoben. Das nur vorab.

Wenn Du so etwas individuelles brauchst und ohnehin schon json als Antwort bekommst, kannst Du das auch anders lösen.

Insbesondere würde ich mich nicht darauf verlassen, dass die Werte im json immer in chronologischer Folge (die ersten 20 von 60...) auftauchen. Du solltest also die Werte am besten anhand der timestamps sortieren, bevor Du sie auswertest.

Wenn ich sowas bräuchte, würde ich mir das vermutlich in ein paar Zeilen in der 99_myUtils.pm umsetzen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

hinrich2001

#144
Danke für deine Antwort. Wenn sich hier nichts ergibt, erstelle ich einen neuen Thread.
So speziell finde ich den Use Case gar nicht. Immer zu wissen ob es in den nächsten x Minuten regnet oder nicht, das ist bestimmt nicht nur für mich interessant.
Leider reichen meine Programmierkenntnise nicht aus, um das selbst umzusetzen :-[
Der Hinweis mit den evtl. nicht chronologischen Ticks ist hilfreich. Wenn es ins Modul einfließen würde, könnte man vielleicht sowas wie mfc1 bis mfc60 machen, die dann schon sortiert sind.
mfc1 wäre dann die aktuelle Minute bzw. die, die am nächsten an der aktuellen Zeit dran ist, mfc60 die Minute in einer Stunde.

betateilchen

Ich hoffe sehr, dass sowas nicht wirklich Einzug in das Modul hält.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

hinrich2001

Zitat von: betateilchen am 14 Dezember 2024, 20:01:49Ich hoffe sehr, dass sowas nicht wirklich Einzug in das Modul hält.

weil?

Die API liefert diese Werte, der Use Case ist vorhanden. Man könnte die minütlichen Werte über ein Attribut ein- bzw. ausschalten. Warum hoffst du, dass es nicht Einzug ins Modul hält? Was hast du davon, wenn der Change Request nicht umgesetzt wird?