Diese Solarprognosen API basiert auf HTTP-Anfragen. Die Antworten erfolgen in JSON (JavaScript Object Notation) oder XML. Wichtig: Um den Datenverkehr und die Serverlast zu reduzieren benützen Sie bitte einen lokalen Zwischenspeicher.
Ich empfehle, das Ergebnis mindestens eine Stunde lang zwischenzuspeichern (das Wetter ändert sich ja nicht so schnell).
Da in manchen Sekunden extrem viele API-Abfragen ankommen bitte ich Sie, preferredNextApiRequestAt zu nutzen! Minor deviations from the target query time are no problem. Here you can find a php function you can use to request the solarprognose API (you can simply translate this to other programming languages):
Solarprognose API
Die HTTP-Anfragen für tägliche oder stündliche Prognose der Erzeugung müssen im folgenden Format erfolgen:
https://www.solarprognose.de/web/solarprediction/api/v1 ?access-token=ACCESS-TOKEN (Fügen Sie hier Ihren API-Key als access-token ein, klicken Sie hier um Ihren API-Key zu finden.) &project=Bitte fügen Sie hier Ihre Projekt-Website oder Ihre Kontakt-E-Mail ein, damit ich mich bei Bedarf mit Ihnen in Verbindung setzen kann. &item=ITEM&id=ID Alternativ: &item=ITEM&token=TOKEN Alternativ: Wenn Sie nur einen Standort haben, brauchen Sie item/id/token nicht zu senden, die API gibt dann automatisch Daten für den ersten Standort zurück &type=hourly|daily
&_format=json|xml
&algorithm=mosmix|own-v1|clearsky Optional parameter: &day=DAY &start_day=START_DAY&end_day=END_DAY &snomminixml=true # für snom VoIP Telefone
Tipp: Wenn Sie item und id/token nicht senden, gibt die API die Daten für den ersten Standort zurück. Wenn Sie nur einen Standort haben, macht dies die Sache einfacher.
ITEM
location oder plant oder inverter oder module_field
ID
Die ID ist die eindeutige Nummer von diesem Element.
ITEM und TOKEN
ITEM und TOKEN wird benötigt um auf Elemente zuzugreifen welche nicht öffentlich sind: &item=inverter&token= Wenn Sie per access-token zugreifen können Sie auf ihre privaten (nicht öffentliche) Elemente zugreifen.
Datums und Intervalle
DAY
Erlaubte Werte: von -2 bis 6
Dann erhalten Sie die Daten vom Tag relativ zu heute. Achtung: Dies kann durch ihren Tarif eingeschränkt sein! Der Fehler "STATUS_ERROR_INVALID_END_DAY" kann auftreten wenn der Wert größer ist als in ihrem Tarif enthalten.
START_DAY
Erlaubte Werte: von -2 bis 6
Zur Abfrage von Daten einer bestimmten Periode. Dies definiert den Start-Tag relativ zu heute. Achtung: Dies kann durch ihren Tarif eingeschränkt sein! Der Fehler "STATUS_ERROR_INVALID_END_DAY" kann auftreten wenn der Wert größer ist als in ihrem Tarif enthalten.
END_DAY
Erlaubte Werte: von -2 bis 6
Zur Abfrage von Daten einer bestimmten Periode. Dies definiert den End-Tag relativ zu heute. Achtung: Dies kann durch ihren Tarif eingeschränkt sein! Der Fehler "STATUS_ERROR_INVALID_END_DAY" kann auftreten wenn der Wert größer ist als in ihrem Tarif enthalten.
Status Codes
Bei Verwendung eines ungültigen API-Schlüssels erscheint der HTTP Status Code 401 Unauthorized.
Bitte verwenden Sie das mit der API-Anfrage zurückgegebene "preferredNextApiRequestAt".
Sie gibt die Sekunde der Stunde zurück, in der Sie die API abfragen sollten.
Jedem Benutzer wird eine Zeit zugewiesen, so dass sich die Anfragen gleichmäßig auf die Stunde verteilen.
Sie enthält auch "epochTimeUtc", die Sie direkt für die Zeit der Ausführung Ihrer API-Anfrage verwenden können.
...
"preferredNextApiRequestAt":{
"secondOfHour":120, # (Führen Sie die API-Anfrage in der 120. Sekunde der Stunde aus.)
"epochTimeUtc":1626796920 # (Führen Sie die nächste Api-Anfrage zu dieser Epochenzeit aus.)
}