NEWS
IOBroker Anbindung an einen Kostal Plenticore
-
@tom57 @Diginix
Es gibt noch weitere Abschläge. Hatte ich vergessen zu schreiben.- Nebel: diesen Punkt wollte ich ggf. entfernen, da Kachelmann die Info eh nicht liefert und ich nicht sicher bin, ob Nebel so viel Einfluss hat. Faktor ist hier
Sichtweite / 16
also bei Sichtweite 0 wäre es 0%. - Regen:
multiplier = 1 - (0.5 * (Regen in mm / 10))
(Minimum aber 0,33)
Daher gibt es auch die drei Prognosewerte
sky
,skyvis
(inkl. Sichtweite),skyvisrain
(inkl. Sichtweite und Regen) - Nebel: diesen Punkt wollte ich ggf. entfernen, da Kachelmann die Info eh nicht liefert und ich nicht sicher bin, ob Nebel so viel Einfluss hat. Faktor ist hier
-
Ich habe jetzt mal etwas gemacht, das ich vielleicht schon vorher mal hätte machen sollen
Ich habe mir die Formel, die ich "blind" verwendet habe, genauer angesehen:fraction = cos(altitude * 4 * asin(1) / 360) * sin(adapter.config.panel_tilt * 4 * asin(1) / 360) * cos(azimuth * 4 * asin(1) / 360 - adapter.config.panel_dir * 4 * asin(1) / 360) + sin(altitude * 4 * asin(1) / 360) * cos(adapter.config.panel_tilt * 4 * asin(1) / 360)
Dabei sind mir gleich mehrere Dinge aufgefallen. Erstens ist
asin(1) = 90
. Dann ist4 * asin(1) / 360
immer genau 1. Man kann die Formel also eigentlich reduzieren auf:fraction = cos(altitude) * sin(adapter.config.panel_tilt) * cos(azimuth - adapter.config.panel_dir) + sin(altitude) * cos(adapter.config.panel_tilt)
Wenn das aber so ist, frage ich mich, warum die Werte in der ursprünglichen Formel drin sind
Nach meinem Verständnis muss der Faktor 1 sein, wenn sowohl Ausrichtung als auch Neigung mit dem aktuellen Sonnenstand übereinstimmen. Nehmen wir also an, ich habe eine Ausrichtung von 180° (Süd) und 30° (Neigung). Die Sonne steht derzeit genau im Süden und auf 60° Höhe (90° - Panel-Neigung). Dann wäre der Wert:
fraction = cos(60) * sin(30) * cos(180 - 180) + sin(60) * cos(30)
fraction = 0,5 * 0,5 * 1 + 0,866025404 * 0,866025404 = 0,25 + 0,75 = 1 = 100%
Das würde also stimmen. Derzeit erreicht die Sonne maximal eine Höhe von 33,7° ziemlich genau im Süden, das aktuelle Maximum wären also bei Südausrichtung und 30° Neigung:fraction = cos(33.7) * sin(30) * cos(180 - 180) + sin(33.7) * cos(30)
fraction = 0,831954122 * 0,5 * 1 + 0,554844427 * 0,866025404 = 0,89648643 = 89,65%
Meine Anlage mit 9,6kWp könnte demnach rechnerisch im Moment kaum mehr leisten als 8600W. Ich hatte aber auch schon Ausschläge darüber. Das muss also irgendwie "falsch" gemessen werden im Wechselrichter und es hat nur Sinn zumindest über ein paar Minuten gemittelte Werte zu betrachten.
-
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
Meine Anlage mit 9,6kWp könnte demnach rechnerisch im Moment kaum mehr leisten als 8600W. Ich hatte aber auch schon Ausschläge darüber. Das muss also irgendwie "falsch" gemessen werden im Wechselrichter und es hat nur Sinn zumindest über ein paar Minuten gemittelte Werte zu betrachten.
Ja kann ich bestätigen. Ich habe gestern noch mal die Maximalwerte für meinen 4,29 kWp SO-String ermittelt.
Die maximal protokollierte Stringleistung (Modbus TCP) lag in den letzten 6 Monaten bei 4,99 kW. Das sind 16% mehr als die kWP-Leistung nach Spezifikation. Ich habe die PV-Fläche mal um 10% erhöht (Wirkungsgrad gelassen).
Mit 10% höherer Fläche sah mein Bild gestern so aus:Mögliche Forecast-Abweichungen fallen aber stärker ins Gewicht. Deshalb würde ich diese Formel erst einmal so lassen.
Für Morgen sagt der Forecast einen Ertrag von 1.2 kWh voraus. Ich bin sicher, dass trotz des vorhergesagten Regens der Ertrag deutlich höher sein wird. Was hälst Du von meinem Vorschlag die indirekte Strahlung stärker zu berücksichtigen?
-
@tom57 sagte in IOBroker Anbindung an einen Kostal Plenticore:
Für Morgen sagt der Forecast einen Ertrag von 1.2 kWh voraus. Ich bin sicher, dass tritz des vorhergesagten Regens der Ertrag deutlich höher sein wird. Was hälst Du von meinem Vorschlag die indirekte Strahlung stärker zu berücksichtigen?
Ich würde das gern erst in einem zweiten Schritt machen. Zuerst würde ich gern testen, alle externen Adapter für Wetterquellen abzuschalten und basierend auf den dann herrschenden Daten die Formel an Bewölkungswerte anzupassen. Denn dann haben wir nur eine Formel mit 3 Wolkenwerten und nicht noch die mit nur einem Wolkenwert. Ich denke, die Kombi aus Kachelmann (2 Quellen) und Met.no sollte eigentlich doch ausreichen für "gute" Vorhersagen.
-
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
Ich denke, die Kombi aus Kachelmann (2 Quellen) und Met.no sollte eigentlich doch ausreichen für "gute" Vorhersagen.
Nur bedingt:
- Die 6.25% vom Max-Wert bei 100% Bewölkung sind zu niedrig angesetzt.
- Es muss einen Formelfehler geben, da die Prognose noch << 6.25% ist
-
@tom57 sagte in IOBroker Anbindung an einen Kostal Plenticore:
- Es muss einen Formelfehler geben, da die Prognose noch << 6.25% ist
Ne, siehe weiter oben für skyvis und skyvisrain. Die Prognose basiert auf skyvisrain, also hat noch Abzüge für Nebelwerte und Regenwerte.
-
@tom57 Und der minimale Wert ist auch nicht 6,25% sondern 1,56% (25% hoch 3). Und das meinte ich ja. Wetteradapter rauswerfen aus der Berechnung und dann schauen, wie man die Formeln anpassen muss, dass sie die diffuse Strahlung besser abbilden. Also den miesesten Tag ohne Regen mit 3x100% Wolken schauen. Und einen Tag mit 0% Wolken z. B.
-
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
Und der minimale Wert ist auch nicht 6,25% sondern 1,56% (25% hoch 3). Und das meinte ich ja. Wetteradapter rauswerfen aus der Berechnung und dann schauen, wie man die Formeln anpassen muss, dass sie die diffuse Strahlung besser abbilden. Also den miesesten Tag ohne Regen mit 3x100% Wolken schauen. Und einen Tag mit 0% Wolken z. B.
Ja mache ich seit ein paar Tagen.
Heute war für 1 Stunde mit 100% recht starke Bewölkung. Der Maxwert lag bei 4.2 KW der Ist-Wert bei ca. 1.3 KW - ca. 30%
Heute hatten wir für 30 Minuten starken Hagel / Regen. Der Maxwert lag bei 4.0 KW der Ist-Wert bei ca. 0.6 KW - ca. 15%Das zur Orientierung in welcher Größenordnung die Abschläge liegen sollten.
-
@tom57 Sehr gut, danke. Solche Werte helfen mir. Die werde ich mir sammeln.
-
Auch wenn die Prognose noch nicht mit den neuen Erkenntnissen berechnet wurde, hat sie heute trotz wechselhaften Wetter recht gut mit der Realität übereingestimmt.
generated: 20 kWh
day_adjusted: 20 kWh
day: 9,8 kWh
yield: 19,3 kWh (noch 10% Batterie) -
@Diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
hat sie heute trotz wechselhaften Wetter recht gut mit der Realität
Uh, nicht ansatzweise. Die normale Prognose ist
day
. Dieday_adjusted
wird im Laufe des Tages immer weiter an dengenerated
angeglichen. -
@StrathCole Der day Wert ja, aber die Grafik mit skyvis läuft parallel und mit ähnlichen Amplituden. Sonst war da ja immer ein deutlicher Offset. Aber ggf. ist auch das gestrige Diagramm nur ein Ausreißer der zufällig passt.
Wenn ich dich richtig verstanden habe, wird day ja anscheinend nicht durch skyvis*zeit berechnet oder? -
@tom57 Was mir noch eingefallen ist: Ich glaube, man muss bei der Bewölkung den Sonnenstand berücksichtigen. Es ist ja bei genauerer Betrachtung logisch, dass je höher die Sonne steht, desto weniger Wolken liegen zwischen ihr und der Anlage. Bei 100% Bewölkung muss sie bei 90° Sonnenstand einfach durch die ganze Schicht. Bei nur 30° Stand muss die Strahlung ja schräg durch.
-
Was mir noch eingefallen ist: Ich glaube, man muss bei der Bewölkung den Sonnenstand berücksichtigen. Es ist ja bei genauerer Betrachtung logisch, dass je höher die Sonne steht, desto weniger Wolken liegen zwischen ihr und der Anlage. Bei 100% Bewölkung muss sie bei 90° Sonnenstand einfach durch die ganze Schicht. Bei nur 30° Stand muss die Strahlung ja schräg durch.
irgendwie logisch, aber das wird ja auch durch die Max-Kurve abgebildet.
Heute ist es den ganzen Tag bedeckt mit Dauerregen. So sieht die Kurve aus.
Y-Achse Faktor 6 - d.h. 16,6 % ......... sieht so eigentlich gar nicht so schlecht aus. -
Heute kann ich das ganz gut beobachten. Es regnet fast den ganzen Tag mäßig und ist entsprechend bewölkt, also durchgehend 100%, teilweise sogar in allen 3 Wolkenschichten.
Die Werte max zu real (Stundendurchschnitt):
8:20 Uhr: 2850W -> 239W = 8,4% - Sonnenstand: 10,6°
9:20 Uhr: 5041W -> 322W = 6,4% - Sonnenstand: 19,1°
10:20 Uhr: 6800W -> 570W = 8,4% - Sonnenstand: 26,1°
11:20 Uhr: 7900W -> 677W = 8,6% - Sonnenstand: 31,3°
12:20 Uhr: 8300W -> 875W = 10,5% - Sonnenstand: 33,8°
13:20 Uhr: 7970W -> 665W = 8,3% - Sonnenstand: 33,4°
14:20 Uhr: 6945W -> 540W = 7,8% - Sonnenstand: 30,1°
Aktuell um 15 Uhr: Sonnenstand: 26,6°, 6371W -> 386W = 6,1%16:20 Uhr: 3265W -> 255W = 7,8% - Sonnenstand: 16,6°
Natürlich war der Regen nicht absolut gleichmäßig stark, aber es wäre schon ein großer Zufall, wenn das genau diese "Kurve" verursacht hätte.
-
@tom57 sagte in IOBroker Anbindung an einen Kostal Plenticore:
irgendwie logisch, aber das wird ja auch durch die Max-Kurve abgebildet.
Die Max-Kurve berücksichtigt die Bewölkung nicht, nur die Atmosphäre an sich.
-
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
Die Max-Kurve berücksichtigt die Bewölkung nicht, nur die Atmosphäre an sich.
Ja ist klar - Aber der Ist-Verlauf entspricht in der Kurve der Max-Kurve mit recht konstanten Multiplikator von 15-16%
-
@tom57 sagte in IOBroker Anbindung an einen Kostal Plenticore:
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
Die Max-Kurve berücksichtigt die Bewölkung nicht, nur die Atmosphäre an sich.
Ja ist klar - Aber der Ist-Verlauf entspricht in der Kurve der Max-Kurve mit recht konstanten Multiplikator von 15-16%
Bei mir heute nicht (100%-Bewölkung). Das Maximum waren 10,5% genau zur Mittagszeit (Stundenschnitt). Die Ist-Kurve war also steiler als die Max-Kurve (relativ gesehen).
-
@StrathCole sagte in IOBroker Anbindung an einen Kostal Plenticore:
Bei mir heute nicht (100%-Bewölkung). Das Maximum waren 10,5% genau zur Mittagszeit (Stundenschnitt). Die Ist-Kurve war also steiler als die Max-Kurve (relativ gesehen).
Du siehst ja auch bei mir die Schwankungen +- um die Kurve. Ich glaube aber für den ANfang würde ein halbwegs richtiger Faktor bei Bewölkung / Regen für eine Tagesprognose reichen.
Bei Dir sind die Multis ja im Schnitt ca. 9% - bei mir ca. 16 %. Das liegt an den unterschiedlichen String-Ausrichtungen.
Ist ja auch logisch. Mein NW-String wird ja aktuell noch so gut wie gar nicht von direkter Sonnenstrahlung berührt.
(Erst ab April). Aber der Ertragsanteil pro Modul bei difusem Licht ist nahezu identisch mir dem SO-String. -
@tom57 sagte in IOBroker Anbindung an einen Kostal Plenticore:
Du siehst ja auch bei mir die Schwankungen +- um die Kurve. Ich glaube aber für den ANfang würde ein halbwegs richtiger Faktor bei Bewölkung / Regen für eine Tagesprognose reichen.
Ich schaue mir gerade eine sehr, sehr umfangreiche Bibliothek in Python an (gibt es leider nicht in NodeJS). Nennt sich pvlib und macht alle möglichen Berechnungen wie "Stand der Erde zur Sonne" oder Delta-T von Erdzeit zu wasweißich-Zeit. Will mal schauen, wie die die Bewölkung nutzen für die Prognose und was an deren Globalformel anders ist (Solarkostante usw.).