Hallo,
der Zugriff auf die Wetterapp von Wunderground über Api ist ja schon fast ein Jahr nicht mehr möglich.
Ich wollte nun meine Wetterdaten über das HTTPMOD auslesen.
Aber so einfach ist das nun doch nicht möglich.
Die aktuellen Messwerte werden dort in http gar nicht ausgegeben.
Hat jemand eine Idee wie ich da dran kommen kann?
Hier mal eine Beispielseite von der ich mit HTTPMOD nicht raus bekommen:
https://www.wunderground.com/dashboard/pws/INONNWEI3 (https://www.wunderground.com/dashboard/pws/INONNWEI3)
In der Netzwerk-Console des Browsers sieht man, dass die Seite vor der Anzeige ca 150 Dateien (etwa 8MB) von 20+ unterschiedlichen Server laedt, etwa die Haelfte davon sind JavaScript Programme. Danach wird etwa sekuendlich ein weiteres Request ausgefuehrt, mit api im URL:
Zitathttps://api.weather.com/v2/pws/observations/current?apiKey=6532d6454b8aa370768e63d6ba5a832e&stationId=INONNWEI3&numericPrecision=decimal&format=json&units=e
Wenn man diese Seite abfragt, dann kriegt man
{"observations":[{"stationID":"INONNWEI3","obsTimeUtc":"2020-01-26T12:03:17Z","obsTimeLocal":"2020-01-26 13:03:17","neighborhood":"Nonnweiler-Primstal","softwareType":"Weather logger V2.2.2","country":"DE","solarRadiation":83.7,"lon":6.97351789,"realtimeFrequency":null,"epoch":1580040197,"lat":49.53098297,"uv":1.0,"winddir":274,"humidity":93.0,"qcStatus":1,"imperial":{"temp":41.2,"heatIndex":41.2,"dewpt":39.4,"windChill":41.2,"windSpeed":0.2,"windGust":2.5,"pressure":30.45,"precipRate":0.00,"precipTotal":0.00,"elev":1014.0}}]}
was man prima mit HTTPMOD verdauen kann.
Ich gehe davon aus, dass der oben erwaehnte apiKey nicht beliebig gueltig ist, und ohne apiKey kriegt man Authentication failed.
Wie man aus FHEM an einem gueltigen apiKey kommt, bleibt dem geneigten Leser ueberlassen :)
Tobias Du weisst aber das das Weather Modul Wunderground unterstützt? Es gibt dazu ein passendes API Modul für 59_Weather.
https://commandref.fhem.de/commandref_DE.html#Weather
Habe leider gerade gesehen das ich da die Commandref zu noch anpassen muß.
Als API einfach wundergroundAPI nehmen. Brauchst aber einen API Key
Hallo,
nach ein bisschen suchen habe die Änderung gefunden.
Nun kommen alle Wetterdaten wieder
Danke euch!
Hallo,
auch wenn der Post schon etwas älter ist, hänge ich exakt an dem selben Problem. Tobias kannst du bitte verraten was du genau geändert hast?
Vielen Dank im Voraus
Gruß Alex
Ich musste die URL etwas modifizieren: eingetragen sind meine Station-ID und mein API-Key
https://api.weather.com/v2/pws/observations/current?stationId=IFRANK257&numericPrecision=decimal&format=json&units=m&apiKey=4080af869aa94f5580af869aa9ff558f (https://api.weather.com/v2/pws/observations/current?stationId=IFRANK257&numericPrecision=decimal&format=json&units=m&apiKey=4080af869aa94f5580af869aa9ff558f)
Ergebnis, wenn ich den link im browser aufrufe:
{"observations":[{"stationID":"IFRANK257","obsTimeUtc":"2022-02-11T17:34:19Z","obsTimeLocal":"2022-02-11 18:34:19","neighborhood":"Frankenberg","softwareType":null,"country":"DE","solarRadiation":null,"lon":13.045,"realtimeFrequency":null,"epoch":1644600859,"lat":50.916,"uv":null,"winddir":22,"humidity":92.0,"qcStatus":1,"metric":{"temp":3.0,"heatIndex":3.0,"dewpt":1.9,"windChill":3.0,"windSpeed":2.7,"windGust":2.7,"pressure":1021.00,"precipRate":0.00,"precipTotal":11.43,"elev":80.2}}]}
Rudolf, wenn Du schreibst: quote]was man prima mit HTTPMOD verdauen kann.
[/quote]
was muss ich in fhem.config schreiben, um diesen string darstellen zu können?
wie "verdaue" das?
Hallo,
ich habe selbiges Problem!
Wer kann helfen??
Danke!!
Hi,
die StationID von Votec sieht nach wunderground aus.
Quelle und weiter Darstellung der Werte https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Visualisierung:_Wetterstation
defmod Wetter HTTPMOD https://www.wunderground.com/dashboard/pws/IFRANK257
attr Wetter enableControlSet 1
attr Wetter event-on-change-reading .*
attr Wetter reading01Name Wind
attr Wetter reading01Regex wu-unit .{109}>(\d+\.\d)
attr Wetter reading02Name Windboeen
attr Wetter reading02Regex wu-unit-speed .{109}>(\d+\.\d)
attr Wetter reading03Name Windrichtung
attr Wetter reading03Regex (\d+)deg\).{84}Wind-Marker
attr Wetter reading04Name Regen
attr Wetter reading04Regex wu-unit-rainRate .{109}>(\d+\.\d\d)
attr Wetter reading05Name RegenGesamt
attr Wetter reading05Regex wu-unit-rain .{109}>(\d+\.\d\d)
attr Wetter reading06Name Temperatur
attr Wetter reading06Regex wu-unit-temperature .{127}>(\d+.\d)
attr Wetter reading07Name Feuchtigkeit
attr Wetter reading07Regex wu-unit-humidity .{109}>(\d\d)
attr Wetter reading08Name UV
attr Wetter reading08Regex UV<.{268}>(\d)
attr Wetter reading09Name Luftdruck
attr Wetter reading09Regex PRESSURE<.{285}>(\d+.\d+)
attr Wetter reading10Name TemperaturGefuehlt
attr Wetter reading10Regex wu-unit is-degree-visible .{109}>(\d+.\d)
attr Wetter reading11Name TaupunktTemp
attr Wetter reading11Regex DEWPOINT.{306}>(\d+.\d)
attr Wetter reading12Name Sonnenstrahlung
attr Wetter reading12Regex Solar radiation<.{549}>(\d+.\d+)
attr Wetter room Wetter
attr Wetter timeout 10
attr Wetter userReadings WindKm {sprintf("%1.1f",ReadingsVal($name,"Wind",0)*1.60934)},\
WindboeenKm {sprintf("%1.1f",ReadingsVal($name,"Windboeen",0)*1.60934)},\
WindrichtungGrad {ReadingsVal($name,"Windrichtung",0)-180},\
RegenMm {ReadingsVal($name,"Regen",0)*25.4},\
RegenGesamtMm {ReadingsVal($name,"RegenGesamt",0)*25.4},\
TemperaturC {sprintf("%1.1f",(ReadingsVal($name,"Temperatur",0)-32)*5/9)},\
TaupunktTempC {sprintf("%1.1f",(ReadingsVal($name,"TaupunktTemp",0)-32)*5/9)},\
LuftdruckHpa {sprintf("%d",ReadingsVal($name,"Luftdruck",0)*33.8639)},\
TemperaturGefuehltC {sprintf("%1.1f",(ReadingsVal($name,"TemperaturGefuehlt",0)-32)*5/9)}
Gruß Otto
Hi OTTO,
vielen Dank, es funzt!!
Ich habe vorher mit diesem Link probiert:
https://api.weather.com/v2/pws/observations/current?stationId=xxxxx&format=json&units=e&apiKey=yourApiKey
Ohne Erfolg!
VG FW