Die Solarprognose funktioniert nicht mehr.
Moderator: Ulrich
-
dreamerpit
- Beiträge: 54
- Registriert: Mi 16. Aug 2023, 15:10
- Danksagung erhalten: 1 Mal
Re: Die Solarprognose funktioniert nicht mehr.
// 1. String (Süd)
$PV_Nennleistung = 5.04; // Summe der PV-Leistung in kWp
$Winkel = 38; // Modulwinkel 0 bis 90 °
$Suedausrichtung = -10; // SSO
// 2. String (West)
$PV_Nennleistung2 = 5.04; // Summe der PV-Leistung in kWp
$Winkel2 = 38; // Modulwinkel 0 bis 90 °
$Suedausrichtung2 = 80; // WSW
Es sind je 12 panels a 420W = 5,04 kW pro Dachseite
$PV_Nennleistung = 5.04; // Summe der PV-Leistung in kWp
$Winkel = 38; // Modulwinkel 0 bis 90 °
$Suedausrichtung = -10; // SSO
// 2. String (West)
$PV_Nennleistung2 = 5.04; // Summe der PV-Leistung in kWp
$Winkel2 = 38; // Modulwinkel 0 bis 90 °
$Suedausrichtung2 = 80; // WSW
Es sind je 12 panels a 420W = 5,04 kW pro Dachseite
-
Geins
- Beiträge: 25
- Registriert: Mi 5. Okt 2022, 18:16
- Hat sich bedankt: 10 Mal
- Danksagung erhalten: 3 Mal
Re: Die Solarprognose funktioniert nicht mehr.
Hi dreamerpit,
zwei wichtige Dinge vorab:
Du hast geschrieben, dass ihr ein 28 Grad Satteldach habt, testweise aber auf 38 Grad hochgegangen bist. Stell das bitte wieder auf 28 Grad zurück.
Nimm bitte unbedingt den Math-Faktor (* 1.2) für die Prognose aus deinem Grafana-Panel raus! Jetzt, wo wir beide Strings richtig addieren, würde dir Grafana die Kurve sonst künstlich noch mal um 20 % in die Höhe ballern.
Verschiebungen oder Dämpfungen machen wir direkt an der Quelle. Trag die Variablen ($Offset und $Prognose_Faktor) deshalb bitte direkt bei dir in die user.config.php mit ein. Wichtig: Du brauchst diese Faktoren nur beim 1. String eintragen. Das System wendet diese am Ende automatisch auf die addierte Gesamtsumme beider Dächer an.
Dein Block sollte dann exakt so aussehen:
// 1. String (Süd)
$PV_Nennleistung = 5.04; // Summe der PV-Leistung in kWp
$Winkel = 28; // Modulwinkel (Wieder auf 28 Grad!)
$Suedausrichtung = -10; // SSO
$Offset = 0; // Verschiebung der Gesamtkurve, falls nötig
$Prognose_Faktor = 1; // Dämpfung (z.B. 0.8) der Gesamtkurve, falls die Prognose zu hoch ist
// 2. String (West)
$PV_Nennleistung2 = 5.04; // Summe der PV-Leistung in kWp
$Winkel2 = 28; // Modulwinkel 0 bis 90 °
$Suedausrichtung2 = 80; // WSW
Zum eigentlichen Fehler (warum die Kurve so flach ist):
Das lag nicht an deinen Einstellungen, sondern an einem Logikfehler in dem Patch-Skript, das ich dir gegeben habe – absolut mein Fehler! Die erste Skript-Version hat ein Problem mit der PHP-Array-Addition. Das Skript ruft zwar deinen West-String ab, aber anstatt die Werte zusammenzurechnen, überschreibt PHP sie einfach. Auf deinem Bild siehst du also gerade zu 100 % nur die Prognose für deinen Süd-String (deshalb ca. 2,2 kW Peak statt der erwarteten Leistung beider Strings).
Geh bitte auf dein System, öffne nochmal das Patch-Skript (nano patch.sh) und ersetze den kompletten Inhalt durch diese Version hier. Das Skript löscht automatisch den alten, fehlerhaften Patch raus und fügt die korrekte "V2" ein, die die Werte beider Strings sauber addiert:
#!/bin/bash
FILE="/var/www/html/wetterdaten.php"
# Alten fehlerhaften Patch sauber entfernen
sed -i '/\/\/ --SUED-WEST PATCH--/,/\/\/ -------------------/d' "$FILE"
if grep -q "SUED-WEST PATCH V2" "$FILE"; then
echo "Patch V2 ist bereits installiert!"
else
# Temporäre Datei anlegen, um Copy-Paste-Fehler zu vermeiden
cat << 'EOF' > /tmp/wetter_patch.txt
// --SUED-WEST PATCH V2--
if (isset($PV_Nennleistung2) && $PV_Nennleistung2 > 0) {
$URL2 = str_replace("/".$Winkel."/".$Suedausrichtung."/".$PV_Nennleistung, "/".$Winkel2."/".$Suedausrichtung2."/".$PV_Nennleistung2, $URL);
$res2 = @file_get_contents($URL2);
$arr2 = json_decode($res2, true);
if(isset($arr2["result"])) {
foreach($arr2["result"] as $k => $v) {
if(is_array($v)) {
if(!isset($Einzelwerte["result"][$k])) $Einzelwerte["result"][$k] = array();
foreach($v as $zeit => $wert) {
if(isset($Einzelwerte["result"][$k][$zeit])) {
$Einzelwerte["result"][$k][$zeit] += $wert;
} else {
$Einzelwerte["result"][$k][$zeit] = $wert;
}
}
ksort($Einzelwerte["result"][$k]);
} else {
if(isset($Einzelwerte["result"][$k])) {
$Einzelwerte["result"][$k] += $v;
} else {
$Einzelwerte["result"][$k] = $v;
}
}
}
ksort($Einzelwerte["result"]);
}
}
// ----------------------
EOF
# Block sauber mit sed einfügen
sed -i -e '/$Einzelwerte = json_decode($result, true);/r /tmp/wetter_patch.txt' "$FILE"
rm /tmp/wetter_patch.txt
echo "Sued-West Patch V2 erfolgreich eingefuegt."
fi
Einfach abspeichern, zur Sicherheit nochmal chmod +x patch.sh und mit sudo ./patch.sh ausführen.
Der nächste Forecast-Abruf passiert automatisch immer 20 Minuten nach jeder 3. vollen Stunde (also z.B. 21:20 Uhr oder 00:20 Uhr). Danach sollte deine Prognosekurve massiv nach oben gehen und endlich passen wie bei mir! Denk dran, nach jedem Update der Solaranzeige den Patch zu starten...
zwei wichtige Dinge vorab:
Du hast geschrieben, dass ihr ein 28 Grad Satteldach habt, testweise aber auf 38 Grad hochgegangen bist. Stell das bitte wieder auf 28 Grad zurück.
Nimm bitte unbedingt den Math-Faktor (* 1.2) für die Prognose aus deinem Grafana-Panel raus! Jetzt, wo wir beide Strings richtig addieren, würde dir Grafana die Kurve sonst künstlich noch mal um 20 % in die Höhe ballern.
Verschiebungen oder Dämpfungen machen wir direkt an der Quelle. Trag die Variablen ($Offset und $Prognose_Faktor) deshalb bitte direkt bei dir in die user.config.php mit ein. Wichtig: Du brauchst diese Faktoren nur beim 1. String eintragen. Das System wendet diese am Ende automatisch auf die addierte Gesamtsumme beider Dächer an.
Dein Block sollte dann exakt so aussehen:
// 1. String (Süd)
$PV_Nennleistung = 5.04; // Summe der PV-Leistung in kWp
$Winkel = 28; // Modulwinkel (Wieder auf 28 Grad!)
$Suedausrichtung = -10; // SSO
$Offset = 0; // Verschiebung der Gesamtkurve, falls nötig
$Prognose_Faktor = 1; // Dämpfung (z.B. 0.8) der Gesamtkurve, falls die Prognose zu hoch ist
// 2. String (West)
$PV_Nennleistung2 = 5.04; // Summe der PV-Leistung in kWp
$Winkel2 = 28; // Modulwinkel 0 bis 90 °
$Suedausrichtung2 = 80; // WSW
Zum eigentlichen Fehler (warum die Kurve so flach ist):
Das lag nicht an deinen Einstellungen, sondern an einem Logikfehler in dem Patch-Skript, das ich dir gegeben habe – absolut mein Fehler! Die erste Skript-Version hat ein Problem mit der PHP-Array-Addition. Das Skript ruft zwar deinen West-String ab, aber anstatt die Werte zusammenzurechnen, überschreibt PHP sie einfach. Auf deinem Bild siehst du also gerade zu 100 % nur die Prognose für deinen Süd-String (deshalb ca. 2,2 kW Peak statt der erwarteten Leistung beider Strings).
Geh bitte auf dein System, öffne nochmal das Patch-Skript (nano patch.sh) und ersetze den kompletten Inhalt durch diese Version hier. Das Skript löscht automatisch den alten, fehlerhaften Patch raus und fügt die korrekte "V2" ein, die die Werte beider Strings sauber addiert:
#!/bin/bash
FILE="/var/www/html/wetterdaten.php"
# Alten fehlerhaften Patch sauber entfernen
sed -i '/\/\/ --SUED-WEST PATCH--/,/\/\/ -------------------/d' "$FILE"
if grep -q "SUED-WEST PATCH V2" "$FILE"; then
echo "Patch V2 ist bereits installiert!"
else
# Temporäre Datei anlegen, um Copy-Paste-Fehler zu vermeiden
cat << 'EOF' > /tmp/wetter_patch.txt
// --SUED-WEST PATCH V2--
if (isset($PV_Nennleistung2) && $PV_Nennleistung2 > 0) {
$URL2 = str_replace("/".$Winkel."/".$Suedausrichtung."/".$PV_Nennleistung, "/".$Winkel2."/".$Suedausrichtung2."/".$PV_Nennleistung2, $URL);
$res2 = @file_get_contents($URL2);
$arr2 = json_decode($res2, true);
if(isset($arr2["result"])) {
foreach($arr2["result"] as $k => $v) {
if(is_array($v)) {
if(!isset($Einzelwerte["result"][$k])) $Einzelwerte["result"][$k] = array();
foreach($v as $zeit => $wert) {
if(isset($Einzelwerte["result"][$k][$zeit])) {
$Einzelwerte["result"][$k][$zeit] += $wert;
} else {
$Einzelwerte["result"][$k][$zeit] = $wert;
}
}
ksort($Einzelwerte["result"][$k]);
} else {
if(isset($Einzelwerte["result"][$k])) {
$Einzelwerte["result"][$k] += $v;
} else {
$Einzelwerte["result"][$k] = $v;
}
}
}
ksort($Einzelwerte["result"]);
}
}
// ----------------------
EOF
# Block sauber mit sed einfügen
sed -i -e '/$Einzelwerte = json_decode($result, true);/r /tmp/wetter_patch.txt' "$FILE"
rm /tmp/wetter_patch.txt
echo "Sued-West Patch V2 erfolgreich eingefuegt."
fi
Einfach abspeichern, zur Sicherheit nochmal chmod +x patch.sh und mit sudo ./patch.sh ausführen.
Der nächste Forecast-Abruf passiert automatisch immer 20 Minuten nach jeder 3. vollen Stunde (also z.B. 21:20 Uhr oder 00:20 Uhr). Danach sollte deine Prognosekurve massiv nach oben gehen und endlich passen wie bei mir! Denk dran, nach jedem Update der Solaranzeige den Patch zu starten...
-
dreamerpit
- Beiträge: 54
- Registriert: Mi 16. Aug 2023, 15:10
- Danksagung erhalten: 1 Mal
Re: Die Solarprognose funktioniert nicht mehr.
Hi Geins,
vorab zum Verständnis. Ich wüsste nicht, einen Math-Faktor für die Prognose im Grafana-Panel zu haben. Wie kommst du darauf?
Ansonsten werd ich heute Abend die Sache umsetzen. Schön, das du das so schnell erkannt hast.
Vielen Dank dafür.
vorab zum Verständnis. Ich wüsste nicht, einen Math-Faktor für die Prognose im Grafana-Panel zu haben. Wie kommst du darauf?
Ansonsten werd ich heute Abend die Sache umsetzen. Schön, das du das so schnell erkannt hast.
Vielen Dank dafür.
-
dreamerpit
- Beiträge: 54
- Registriert: Mi 16. Aug 2023, 15:10
- Danksagung erhalten: 1 Mal
Re: Die Solarprognose funktioniert nicht mehr.
Habs schon gemacht. Hat geklappt. Um 21:20 Uhr kommt die nächste Abfrage.
-
Geins
- Beiträge: 25
- Registriert: Mi 5. Okt 2022, 18:16
- Hat sich bedankt: 10 Mal
- Danksagung erhalten: 3 Mal
Re: Die Solarprognose funktioniert nicht mehr.
hab ne Sicherung vom Panel gerade aufgemacht. Da war es definitiv darin, siehe Bild... Vielleicht war es bei meiner damaligen Vorlage darin und bei deiner nicht mehr dabei....
Grüße
Uli
Grüße
Uli
-
dreamerpit
- Beiträge: 54
- Registriert: Mi 16. Aug 2023, 15:10
- Danksagung erhalten: 1 Mal
Re: Die Solarprognose funktioniert nicht mehr.
Hmm, wo werden denn $Offset und $Prognose_Faktor genutzt ?
-
dreamerpit
- Beiträge: 54
- Registriert: Mi 16. Aug 2023, 15:10
- Danksagung erhalten: 1 Mal
Re: Die Solarprognose funktioniert nicht mehr.
Ich mache kein update mehr, da ich viel selbst geändert habe. Wenn, dann selektiv.
Bei mir war kein Math-Faktor mehr drin..
Bei mir war kein Math-Faktor mehr drin..
-
Geins
- Beiträge: 25
- Registriert: Mi 5. Okt 2022, 18:16
- Hat sich bedankt: 10 Mal
- Danksagung erhalten: 3 Mal
Re: Die Solarprognose funktioniert nicht mehr.
Ja, hab auch mein eigenes System auf Basis von Ulrich hochgezogen und umgestrickt auf meiner NAS. Deshalb arbeite ich gern mit solchen Scripte, dass einem Update nix im Wege steht. Klappt zu 90%..... Freut mich, dass ich helfen konnte.......
Grüße
Uli
Grüße
Uli
-
Geins
- Beiträge: 25
- Registriert: Mi 5. Okt 2022, 18:16
- Hat sich bedankt: 10 Mal
- Danksagung erhalten: 3 Mal
Re: Die Solarprognose funktioniert nicht mehr.
Genau dafür hab ich dir die beiden Variablen mit rein gepackt. Forecast liefert ja oft nur graue Theorie und passt nicht immer 100 % zur Realität.dreamerpit hat geschrieben: ↑Do 30. Jul 2026, 20:49Hmm, wo werden denn $Offset und $Prognose_Faktor genutzt ?
Mit dem $Prognose_Faktor (z.B. 0.8) stutzt du die Kurve einfach etwas zurecht, falls die Prognose dauerhaft zu optimistisch ist.
Mit dem $Offset schiebst du die komplette Kurve auf der Zeitachse nach links oder rechts. Extrem praktisch, wenn die Sonne bei dir wegen Bäumen oder dem Nachbarhaus real erst später voll draufknallt.
Damit kannst du dir das in den nächsten Tagen exakt passend für dein Dach hinbiegen.
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste