Skip to content

Commit 15a1750

Browse files
committed
Anleitung: Umstellung auf pvnode
1 parent 9884c9d commit 15a1750

File tree

2 files changed

+192
-0
lines changed

2 files changed

+192
-0
lines changed

src/content/docs/anleitungen/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Hier finden sich verschiedene Anleitungen zur Nutzung und Konfiguration von SOLE
1313
- [Umstellung auf neue Sensor-Konfiguration](/anleitungen/sensor-konfiguration/)
1414
- [Multiple Erzeuger integrieren (z.B. Balkonkraftwerk)](/anleitungen/multiple-erzeuger/)
1515
- [Zusätzliche Shelly-Verbrauchszähler integrieren](/anleitungen/mehrere-shelly/)
16+
- [Umstellung auf pvnode als Forecast-Anbieter](/anleitungen/umstellung-pvnode/)
1617

1718
## Betrieb & Pflege
1819

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
---
2+
title: Umstellung auf pvnode
3+
sidebar:
4+
hidden: true
5+
---
6+
7+
Diese Anleitung beschreibt die Umstellung des Forecast-Collectors von einem anderen Anbieter (Forecast.Solar oder Solcast) auf **pvnode**.
8+
9+
## Schritt 1: Registrierung bei pvnode
10+
11+
1. Erstelle einen kostenlosen Account bei [pvnode.com](https://pvnode.com)
12+
2. Nach der Anmeldung navigiere zu [API Keys](https://pvnode.com/api-keys)
13+
3. Erstelle einen neuen API-Key und kopiere ihn
14+
15+
:::tip
16+
Der kostenlose Account hat zwei Einschränkungen:
17+
18+
- Maximal 40 API-Anfragen pro Monat (reicht für eine Dachfläche bei täglichen Updates)
19+
- Nur Prognose für den nächsten Tag
20+
21+
Der kostenpflichtige Account bietet 1.000 Anfragen pro Monat und Prognosen für bis zu 7 Tage.
22+
:::
23+
24+
## Schritt 2: `.env` anpassen
25+
26+
#### Provider ändern
27+
28+
```properties title=".env"
29+
# Alt:
30+
# FORECAST_PROVIDER=forecast.solar
31+
32+
# Neu:
33+
FORECAST_PROVIDER=pvnode
34+
```
35+
36+
#### API-Key hinzufügen
37+
38+
```properties title=".env"
39+
PVNODE_APIKEY=pvn_dein-api-key-hier
40+
```
41+
42+
#### Azimuth-Werte anpassen
43+
44+
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:
45+
46+
| Himmelsrichtung | Forecast.Solar | pvnode |
47+
| --------------- | -------------: | -----: |
48+
| Süd | 0 | 180 |
49+
| Ost | -90 | 90 |
50+
| West | 90 | 270 |
51+
| Nord | 180 / -180 | 0 |
52+
53+
**Formel:** `pvnode = (alter_wert + 180) mod 360`
54+
55+
```properties title=".env (Beispiel für zwei Dachflächen)"
56+
# Alt (Forecast.Solar):
57+
# FORECAST_0_AZIMUTH=10
58+
# FORECAST_1_AZIMUTH=-90
59+
60+
# Neu (pvnode):
61+
FORECAST_0_AZIMUTH=190
62+
FORECAST_1_AZIMUTH=90
63+
```
64+
65+
Der 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:
66+
67+
```properties title=".env"
68+
INFLUX_MEASUREMENT_FORECAST=Forecast
69+
```
70+
71+
Der Forecast-Collector schreibt die erhaltenen in Prognosen in folgende Fields von InfluxDB:
72+
73+
| Feldname | Beschreibung |
74+
| --------------- | ------------------------------- |
75+
| `watt` | Prognostizierte Leistung (Watt) |
76+
| `watt_clearsky` | Clearsky-Prognose (Watt) |
77+
| `temp` | Außentemperatur (°C) |
78+
79+
#### Dashboard-Sensoren hinzufügen
80+
81+
Um die zusätzlichen Daten von **pvnode** im Dashboard anzuzeigen, müssen zwei neue Sensoren in der `.env` definiert werden:
82+
83+
```properties title=".env"
84+
# Bereits vorhanden
85+
INFLUX_SENSOR_INVERTER_POWER_FORECAST=Forecast:watt
86+
87+
# Neu hinzuzufügen
88+
INFLUX_SENSOR_INVERTER_POWER_FORECAST_CLEARSKY=Forecast:watt_clearsky
89+
INFLUX_SENSOR_OUTDOOR_TEMP_FORECAST=Forecast:temp
90+
```
91+
92+
Wichtig: 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!
93+
94+
#### Optionale Einstellungen
95+
96+
```properties title=".env"
97+
# Bei kostenpflichtigem Account:
98+
# PVNODE_PAID=true
99+
100+
# Optionale zusätzliche Parameter:
101+
# PVNODE_EXTRA_PARAMS=diffuse_radiation_model=perez
102+
```
103+
104+
## Schritt 3: `compose.yaml` anpassen
105+
106+
Damit die neuen Variablen aus der `.env` auch in die Container übernommen werden, müssen sie in der `compose.yaml` eingetragen werden.
107+
108+
#### A. Beim `forecast-collector`
109+
110+
Beim `forecast-collector`-Service müssen die pvnode-spezifischen Variablen ergänzt werden:
111+
112+
```yaml title="compose.yaml (Auszug)"
113+
services:
114+
forecast-collector:
115+
# ...
116+
environment:
117+
# ...
118+
- PVNODE_APIKEY # NEU
119+
- PVNODE_PAID # NEU
120+
- PVNODE_EXTRA_PARAMS # NEU
121+
- PVNODE_0_EXTRA_PARAMS # NEU
122+
- PVNODE_1_EXTRA_PARAMS # NEU
123+
- PVNODE_2_EXTRA_PARAMS # NEU
124+
- PVNODE_3_EXTRA_PARAMS # NEU
125+
# ...
126+
```
127+
128+
#### B. Beim `dashboard`
129+
130+
Beim `dashboard`-Service müssen die neuen Sensor-Variablen ergänzt werden:
131+
132+
```yaml title="compose.yaml (Auszug)"
133+
services:
134+
dashboard:
135+
# ...
136+
environment:
137+
# ...
138+
- INFLUX_SENSOR_INVERTER_POWER_FORECAST
139+
- INFLUX_SENSOR_INVERTER_POWER_FORECAST_CLEARSKY # NEU
140+
- INFLUX_SENSOR_OUTDOOR_TEMP_FORECAST # NEU
141+
# ...
142+
```
143+
144+
:::note
145+
146+
Bei alten Installationen heißt der Service möglicherweise `app` statt `dashboard`. Das kann so bleiben, passe einfach dort die Umgebungsvariablen an.
147+
148+
:::
149+
150+
## Schritt 4: Neustart der Container
151+
152+
Nach dem Speichern der Dateien müssen die Container aktualisiert und neu gestartet werden:
153+
154+
```bash
155+
docker compose pull
156+
docker compose up -d
157+
```
158+
159+
Prüfe anschließend das Protokoll des Forecast-Collectors:
160+
161+
```bash
162+
docker compose logs -f forecast-collector
163+
```
164+
165+
Bei erfolgreicher Konfiguration sollten nach kurzer Zeit die ersten Prognosen abgerufen werden und mit "OK" quittiert werden.
166+
167+
## Tipps
168+
169+
#### Koordinaten nicht ändern
170+
171+
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.
172+
173+
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.
174+
175+
#### Bereits verwendete Standorte einsehen
176+
177+
Im [pvnode Studio](https://www.pvnode.com/studio) kannst du unter "Standort auswählen" → "Bereits verwendeten Standort auswählen" deine gespeicherten Standorte einsehen.
178+
179+
#### Fehlerbehebung
180+
181+
Wenn der Forecast-Collector Daten erfolgreich abruft, diese aber nicht im Dashboard erscheinen:
182+
183+
1. Prüfe, ob die Sensor-Variablen in der `.env` korrekt definiert sind
184+
2. Prüfe, ob die Variablen auch in der `compose.yaml` beim Dashboard-Service eingetragen sind
185+
3. Achte auf die korrekte Groß-/Kleinschreibung des Measurements (InfluxDB ist case-sensitive)
186+
187+
## Weiterführende Links
188+
189+
- [pvnode Referenz-Dokumentation](/referenz/forecast-collector/konfiguration-pvnode/)
190+
- [Allgemeine Forecast-Collector Konfiguration](/referenz/forecast-collector/allgemeine-konfiguration/)
191+
- [Dashboard Sensor-Konfiguration](/referenz/dashboard/sensor-konfiguration/)

0 commit comments

Comments
 (0)