Was ist der Forecast-Collector?
Der Forecast-Collector ermittelt den erwarteten Ertrag der PV-Anlage über die Anbieter Forecast.Solar, Solcast oder pvnode und schreibt diesen in die InfluxDB.
Der Ertrag ergibt sich aus Wetterdaten und der Anlagenkonfiguration. Folgende Parameter sind erforderlich:
- Standort der Anlage (Längen- und Breitengrad)
- Anzahl, Ausrichtung, Neigung und maximale Leistung (in kWp) der Dachflächen
Jeder Anbieter rechnet mit einem eigenen Modell. Die Genauigkeit der Prognosen unterscheidet sich entsprechend.
Zur Nutzung ist bei Solcast und pvnode eine (kostenfreie) Registrierung erforderlich. Bei Solcast liegen die Anlagendaten im Solcast-Portal, bei pvnode ab der API v2 ebenfalls beim Anbieter. Nur bei Forecast.Solar (und bei pvnode v1) werden sie direkt im Collector konfiguriert. Alle drei Anbieter bieten auch eine kostenpflichtige Variante an.
Erfasste Messwerte
Abschnitt betitelt „Erfasste Messwerte“Der Collector schreibt die folgenden Messwerte als Field in das angegebene Measurement der InfluxDB:
| Field | Beschreibung | Anbieter |
|---|---|---|
watt | Erwarteter Ertrag, in W | Alle |
watt_clearsky | Erwarteter Ertrag bei wolkenlosem Himmel, in W | nur pvnode |
watt_nosnow | Erwarteter Ertrag ohne Schneebedeckung, in W | nur pvnode v1 |
temp | Temperatur, in °C | nur pvnode |
humidity | Relative Luftfeuchte, in % | nur pvnode v2 |
weather_code | Wettercode (WMO-Standard) | nur pvnode |
Logging
Abschnitt betitelt „Logging“Der Collector schreibt ein Protokoll ins Docker-Log, das im Normalfall so aussieht:
Forecast collector for SOLECTRUS, Version v0.10.0, built at 2026-07-10T09:48:01.254Zhttps://github.com/solectrus/forecast-collectorCopyright (c) 2020-2026 Georg Ledermann, released under the MIT License
Using Ruby 4.0.5 on platform x86_64-linux-muslPulling from pvnode (v2) in Nowcast mode (every 10 min during daylight, slot-based at night)Pushing to InfluxDB at http://influxdb:8086, bucket solectrus, measurement Forecast
Wait until InfluxDB is ready ... OK
#1 Fetching forecast at 2026-07-13T20:01:19+02:00 0: https://api.pvnode.com/v2/forecast/site_xxxxxxxxxxxxxxxxxxxx?include=default&include=clearsky&include=weather&forecast_days=7&past_days=0 ... OK Pushing forecast to InfluxDB ... OK Sleeping until 2026-07-13 20:04:00 +0200 ......Bei pvnode steht dort kein Intervall, denn der Collector bestimmt die Abrufzeitpunkte selbst. Bei Forecast.Solar und Solcast steht stattdessen every <n> seconds.
Fehler protokolliert der Collector ebenfalls, etwa wenn der Anbieter nicht erreichbar ist oder den API-Key nicht akzeptiert.
Quelltext
Abschnitt betitelt „Quelltext“Der Forecast-Collector ist in Ruby implementiert, der Quelltext ist auf GitHub verfügbar:
github.com/solectrus/forecast-collector