SRF Weather API

Die SRF Weather API wird von der SRG SSR zur Verfügung gestellt. Damit lassen sich aktuelle Wetterdaten von SRF über eine API herunterladen.

SRF SRG SSR Weather API Alt text

Beschreibung

Die SRF Weather API wird von der SRG SSR zur Verfügung gestellt. Damit lassen sich aktuelle Wetterdaten von SRF über eine API herunterladen. Das ist praktisch wenn man sich die Wetterdaten in der eigenen Hausautomatisierung anzeigen lassen möchte.

Bei der kostenlosen Version sind die Anzahl Abfragen pro Tag auf 6 limitiert. Das reicht um alle 4 Stunden die Wetterdaten abzuholen. Wer z.B. Nachts keine Daten abholen möchte, kann die 6 Abfragen auch auf den Tag verteilten. Das kann man beliebig wählen, solange die 6 Abfragen pro Tag nicht überschritten werden. Sobald die 6 Abfragen pro Tag erreicht sind, werden keine Daten mehr zurückgegeben. Man bekommt aber eine Fehlermeldung.

Vorbereitung

Login

Als erstes muss ein Login bei https://developer.srgssr.ch erstellt werden. Wenn man eingeloggt ist, kann man unter API den Zugriff auf eine der API’s freischalten lassen. Dazu auf den rot hinterlegten Text “SRF Weather” klicken (nicht auf API Documentation). Auf dieser Seite kann man über “Request access” den Zugriff freischalten lassen und eine neue App erstellen. Man gibt hier einen App Namen ein und wählt ein Produkt. Hier “SRF-MeteoProductFreemium” Wenn man die neue erstellt App aufklappt, bekommt man alle nötigen Login informationen zur Verfügung gestellt.

Bearer-Token erstellen

Um eine Abfragen zu starten, braucht man ein Bearer-Token. Das wird am einfachten über die API Documentation erstellt.

Gib hier die Koordinaten ein von denen du das Wetter möchtest. In diesem Beispiel die Koordinaten des HB Zürich.

Jetzt loggen wir uns mit OAuth ein. Wähle dazu “set…”

Wähle im oberen Teil die neu erstellte App aus. Im unteren Teil “Generate OAuth Token…”. Das Fenster schliesst automatisch.

Klicke nun auf “SEND THIS REQUEST”.

Im “Try it out” Abschnitt kann man jetzt den Reiter Request öffnen und findet dort das Bearer Token. Das muss man Kopieren und später in die API Abfrage einbauen.

FHEM

Die Abfrage in FHEM wird über das Modul HTTPMOD realisiert.

define SRFMeteo HTTPMOD none 0
attr SRFMeteo alias SRFMeteo
attr SRFMeteo extractAllJSON 1
attr SRFMeteo get01Name Daten
attr SRFMeteo get01URL https://api.srgssr.ch/srf-meteo/forecast/47.3965,8.4894
attr SRFMeteo getHeader2 Authorization: Bearer r1cb5gWGXTXKft3jwoPRxgdKnGvr

Bei get01URL müssen am Ende die Koordinaten angepasst werden.

Mit einem at werden die Daten alle vier Stunden abgeholt.

define getSRFMeteo at +*04:00:00 get SRFMeteo Daten

Die Daten werden als JSON geliefert und direkt im HTTPMOD Modul auseinander genommen und als einzelne Readings gespeichert. Da es sehr viele Werte sind die geliefert werden, dauert es etwas bis die Daten im HTTPMOD Modul sichtbar sind.

Auf der Developer Seite bekommt man zudem auch die passenden Wettersymbole Alt text