Umstellung auf pvnode
Diese Anleitung beschreibt die Umstellung des Forecast-Collectors von einem anderen Anbieter (Forecast.Solar oder Solcast) auf pvnode.
Schritt 1: Registrierung bei pvnode
Abschnitt betitelt „Schritt 1: Registrierung bei pvnode“- Erstelle einen kostenlosen Account bei pvnode.com
- Nach der Anmeldung navigiere zu API Keys
- Erstelle einen neuen API-Key und kopiere ihn
Schritt 2: .env anpassen
Abschnitt betitelt „Schritt 2: .env anpassen“Provider ändern
Abschnitt betitelt „Provider ändern“# Alt:# FORECAST_PROVIDER=forecast.solar
# Neu:FORECAST_PROVIDER=pvnodeAPI-Key hinzufügen
Abschnitt betitelt „API-Key hinzufügen“PVNODE_APIKEY=pvn_dein-api-key-hierAzimuth-Werte anpassen
Abschnitt betitelt „Azimuth-Werte anpassen“pvnode verwendet ein anderes Koordinatensystem für die Dachausrichtung: Grad von Nord (0-360) statt Grad von Süd (-180 bis 180). Die Werte müssen daher umgerechnet werden:
| Himmelsrichtung | Forecast.Solar | pvnode |
|---|---|---|
| Süd | 0 | 180 |
| Ost | -90 | 90 |
| West | 90 | 270 |
| Nord | 180 / -180 | 0 |
Formel: pvnode = (alter_wert + 180) mod 360
# Alt (Forecast.Solar):# FORECAST_0_AZIMUTH=10# FORECAST_1_AZIMUTH=-90
# Neu (pvnode):FORECAST_0_AZIMUTH=190FORECAST_1_AZIMUTH=90Der Forecast-Collector schreibt in ein eigenes InfluxDB-Measurement, standardmäßig heißt dieses Forecast. Eine Umstellung auf pvnode erfordert keine Anpassung der InfluxDB-Einstellungen, da die Daten im selben Measurement bleiben. Prüfe aber, ob bei dir ggfs. ein anderes Measurement in der .env eingetragen ist:
INFLUX_MEASUREMENT_FORECAST=ForecastDer Forecast-Collector schreibt die erhaltenen in Prognosen in folgende Fields von InfluxDB:
| Feldname | Beschreibung |
|---|---|
watt | Prognostizierte Leistung (Watt) |
watt_clearsky | Clearsky-Prognose (Watt) |
temp | Außentemperatur (°C) |
Dashboard-Sensoren hinzufügen
Abschnitt betitelt „Dashboard-Sensoren hinzufügen“Um die zusätzlichen Daten von pvnode im Dashboard anzuzeigen, müssen zwei neue Sensoren in der .env definiert werden:
# Bereits vorhandenINFLUX_SENSOR_INVERTER_POWER_FORECAST=Forecast:watt
# Neu hinzuzufügenINFLUX_SENSOR_INVERTER_POWER_FORECAST_CLEARSKY=Forecast:watt_clearskyINFLUX_SENSOR_OUTDOOR_TEMP_FORECAST=Forecast:tempWichtig: Achte auf die korrekte Groß-/Kleinschreibung des Measurements, hier Forecast - InfluxDB ist case-sensitive. Wenn der Collector z.b. nach forecast schreibt, das Dashboard aber Forecast abfragt, werden keine Daten angezeigt!
Optionale Einstellungen
Abschnitt betitelt „Optionale Einstellungen“# Bei kostenpflichtigem Account:# PVNODE_PAID=true
# Optionale zusätzliche Parameter:# PVNODE_EXTRA_PARAMS=diffuse_radiation_model=perezSchritt 3: compose.yaml anpassen
Abschnitt betitelt „Schritt 3: compose.yaml anpassen“Damit die neuen Variablen aus der .env auch in die Container übernommen werden, müssen sie in der compose.yaml eingetragen werden.
A. Beim forecast-collector
Abschnitt betitelt „A. Beim forecast-collector“Beim forecast-collector-Service müssen die pvnode-spezifischen Variablen ergänzt werden:
services: forecast-collector: # ... environment: # ... - PVNODE_APIKEY # NEU - PVNODE_PAID # NEU - PVNODE_EXTRA_PARAMS # NEU - PVNODE_0_EXTRA_PARAMS # NEU - PVNODE_1_EXTRA_PARAMS # NEU - PVNODE_2_EXTRA_PARAMS # NEU - PVNODE_3_EXTRA_PARAMS # NEU # ...B. Beim dashboard
Abschnitt betitelt „B. Beim dashboard“Beim dashboard-Service müssen die neuen Sensor-Variablen ergänzt werden:
services: dashboard: # ... environment: # ... - INFLUX_SENSOR_INVERTER_POWER_FORECAST - INFLUX_SENSOR_INVERTER_POWER_FORECAST_CLEARSKY # NEU - INFLUX_SENSOR_OUTDOOR_TEMP_FORECAST # NEU # ...Schritt 4: Neustart der Container
Abschnitt betitelt „Schritt 4: Neustart der Container“Nach dem Speichern der Dateien müssen die Container aktualisiert und neu gestartet werden:
docker compose pulldocker compose up -dPrüfe anschließend das Protokoll des Forecast-Collectors:
docker compose logs -f forecast-collectorBei erfolgreicher Konfiguration sollten nach kurzer Zeit die ersten Prognosen abgerufen werden und mit “OK” quittiert werden.
Koordinaten nicht ändern
Abschnitt betitelt „Koordinaten nicht ändern“pvnode speichert Standorte auf 5 Nachkommastellen genau. Bei einer Änderung wird ein neuer Standort angelegt, was im kostenlosen Tarif zur Fehlermeldung “Site limit has been exceeded” führen kann.
Daraus folgt: Nach dem ersten Abruf dürfen FORECAST_LATITUDE und FORECAST_LONGITUDE für eine Weile nicht mehr geändert werden! Sorge also dafür, dass die Koordinaten bereits vor dem ersten Abruf korrekt und genau eingetragen sind.
Bereits verwendete Standorte einsehen
Abschnitt betitelt „Bereits verwendete Standorte einsehen“Im pvnode Studio kannst du unter “Standort auswählen” → “Bereits verwendeten Standort auswählen” deine gespeicherten Standorte einsehen.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Wenn der Forecast-Collector Daten erfolgreich abruft, diese aber nicht im Dashboard erscheinen:
- Prüfe, ob die Sensor-Variablen in der
.envkorrekt definiert sind - Prüfe, ob die Variablen auch in der
compose.yamlbeim Dashboard-Service eingetragen sind - Achte auf die korrekte Groß-/Kleinschreibung des Measurements (InfluxDB ist case-sensitive)