Hallo,
nachdem ich mir eine Bresser WLAN Wetterstation gekauft habe, bin ich wieder auf wunderground gestoßen, weil von Bresser nur 2 Dienste unterstützt werden: WeatherUnderground und WeatherCloud. Da Bresser kein API anbietet, muss ich wohl das Auslesen in SmarthomeNG via eines der Dienste realisieren.
nach längerem Recherchieren habe ich meinen Account von WeatherUnderground reaktiviert. Unter "Member Settings" kann man auch wieder einen gratis APIKey anfordern.
An dem API hat sich aber wohl einiges geändert. In Kürze wollte ich mal versuchen, ob man das alte PlugIn anpassen kann.
Zurzeit rufe ich die Daten via Logik ab. Hier der JSON String meiner Wetterstation, den ich von Wunderground abrufe:
und meine Logik, mit der ich die Infos in mein smarthome hole:
reichlich Dokumentation findet man auch zu dem API. Wenn Ihr Euch bei Wunderground registriert, oder registriert seid, findet Ihr die Doku auf der Seite auf der Ihr den key anfordert.
https://docs.google.com/document/d/1...qpE_gArAY/edit
nachdem ich mir eine Bresser WLAN Wetterstation gekauft habe, bin ich wieder auf wunderground gestoßen, weil von Bresser nur 2 Dienste unterstützt werden: WeatherUnderground und WeatherCloud. Da Bresser kein API anbietet, muss ich wohl das Auslesen in SmarthomeNG via eines der Dienste realisieren.
nach längerem Recherchieren habe ich meinen Account von WeatherUnderground reaktiviert. Unter "Member Settings" kann man auch wieder einen gratis APIKey anfordern.
An dem API hat sich aber wohl einiges geändert. In Kürze wollte ich mal versuchen, ob man das alte PlugIn anpassen kann.
Zurzeit rufe ich die Daten via Logik ab. Hier der JSON String meiner Wetterstation, den ich von Wunderground abrufe:
Code:
{ "observations": [ { "stationID": "ISELFK7", "obsTimeUtc": "2020-06-17T10:36:42Z", "obsTimeLocal": "2020-06-17 12:36:42", "neighborhood": "Selfkant", "softwareType": null, "country": "DE", "solarRadiation": null, "lon": 5.934733, "realtimeFrequency": null, "epoch": 1592390202, "lat": 51.001763, "uv": null, "winddir": 158, "humidity": 55, "qcStatus": 1, "metric": { "temp": 24.7, "heatIndex": 24.6, "dewpt": 15, "windChill": 24.7, "windSpeed": 0.3, "windGust": 0.3, "pressure": 1010.84, "precipRate": 0, "precipTotal": 0, "elev": 15.2 } } ] }
Code:
# Bresser import urllib.request import json myurl = "https://api.weather.com/v2/pws/observations/current?apiKey=xxxxxxxx&stationId=ISELFK7&format=json&numericPrecision=decimal&units=m" req = urllib.request.urlopen(myurl) data = req.read().decode('UTF-8') j = json.loads(data) sh.Aussen.Garage.Wetter.Windrichtung(j['observations'][0]['winddir']) sh.Aussen.Garage.Wetter.Luftfeuchte(j['observations'][0]['humidity']) sh.Aussen.Garage.Wetter.Temperatur(j['observations'][0]['metric']['temp']) sh.Aussen.Garage.Wetter.WindGeschw(j['observations'][0]['metric']['windSpeed']) sh.Aussen.Garage.Wetter.WindBoeen(j['observations'][0]['metric']['windGust']) sh.Aussen.Garage.Wetter.Luftdruck(j['observations'][0]['metric']['pressure']) sh.Aussen.Garage.Wetter.Regen(j['observations'][0]['metric']['precipRate']) sh.Aussen.Garage.Wetter.RegenTotal(j['observations'][0]['metric']['precipTotal'])
https://docs.google.com/document/d/1...qpE_gArAY/edit
Kommentar