Erste KI-basierte Solarprognose die selbst lernt und deine Anlage kennenlernt - veröffentlicht-!

Cool, was Solar Forecast ML alles weiß!

1 „Gefällt mir“

ich hab noch nie eine bekommen

Hallo, ich bin etwas irritiert durch das Begrifflichkeiten.

Ich habe in Summe 3 Wechselrichter mit insgesamt 5 Strings (2+2+1). Letztendlich ist jeder String anders ausgerichtet.

Wie sollte ich es am sinnigsten anlegen, sodass ich auch die stats sinnvoll erkennen kann?

Gruß

Hast Du die entsprechenden Haken gesetzt in ML?

2 „Gefällt mir“

Hast Du die Benachrichtigungen aktiviert? Unter erweiterte Einstellungen auf der Integrationsseite - das kleine Rädchen anklicken …

Tja @RobertoCravallo , schneller und besser beschrieben! Gut der Mann!

1 „Gefällt mir“

Bei mir kommen diese Benachrichtigungen auch nicht. Seit 2 Tagen haben wir Schnee auf den Paneelen, weder gab es eine Info dass Schnee die Leistung mindert noch das es heute mit plus Graden etwas schmilzen könnte.

Heutige Prognose 4,27 kWh

Heutiger Ertrag 0,80 kWh

In Bayern benötigt es scheinbar deutlich mehr als 12 Tage Training um gute Werte zu liefern.

Hmm, in NRW auch.

Ich schiebe das für die letzten Tage auf die absolut grottigen Wetterprognosen. Gestern war zum Beispiel Tagsüber bedeckt mit Lücken angesagt, hier war nur Lücke. Seit gestern läuft jetzt die KI, ich bin gespannt.

Ich klinke mich hier jetzt aus. Ich bin seit Version 6 dabei und hatte noch nie eine ansatzweise passende Prognose. Heute werden es auch wieder knapp 800% mehr als die Prognose sagte.

2 „Gefällt mir“

Wir sind auf ein Problem im Code aufmerksam geworden.

Ggf. Fehler gefunden. Muss noch getestet werden und dann gucken wir.

@ManleyJenkins nicht aufgeben. Es wird ja noch weiter daran gearbeitet.

@ManleyJenkins @Carsten76 @cr2000 @seebaer1976

Ich überprüfe gerade den Code… könnt ihr mir bitte sagen, ob ihr externer Sensoren habt und wenn ja, welche..

Danke.. das würde sehr helfen!

Hallo @Tom-HA ,

Ich habe keinerlei externe Sensoren konfiguriert um keine Ungenauigkeiten rein zu bekommen. Wenn ich dort vielleicht etwas falsch mache und nehme lieber eine längere Lernphase in Kauf.

Das einzige was ich später noch hinzufügen möchte ist mein Lux Sensor, da ich diesen erst getestet habe ob die Werte zur Erzeugung passen.

Einmal alles von der Ecowitt GW2001

Hier ist der aktuelle Stand:
Sobald externe Sensoren konfiguriert und hinzugefügt werden, nutzt das System diese automatisch als Primärquelle für den IST-Zustand (Wetterdaten) - der schnellste und exakteste Weg.
Sind keine externen Sensoren vorhanden, wird der IST-Wert mathematisch auf Basis des Power-Sensors und des Tagesenergie-Sensors ermittelt / angenähert.

An dieser Stelle gab es vermutlich eine Schwachstelle im Algorithmus zur Ableitung der Wolkendecke. Ich habe diesen nun angepasst, damit die berechneten Werte besser validiert und akzeptiert werden. Diese Änderung befindet sich derzeit in der Testphase. Es zeigt sich jedoch erneut, wie essenziell ein präziser Power-Sensor (DC-Solarzellen) sowie ein korrekter Tagesenergie-Sensor sind – insbesondere dann, wenn keine externen Datenquellen zur Verfügung stehen.

Zara

Der Power Sensor und der Tageswert werden von Kostal sehr gut geliefert und ich habe beide Wechselrichter in einer Gruppe zusammengefasst um die korrekten Werte zu haben. Dies sollte daher sehr gut passen.

Dann warte ich auf das Update und hoffe dann auf bessere Ergebnisse.

Keine externen Sensoren.

Alles klar, danke für die Info… dann gehörst Du auch zu den " Betroffenen" .. es betrifft nur 2 Nutzergruppen

a) Ohne externe Sensoren
b) falscher Power / Energiesensor

Ich habe den Code angepasst und er kommt als normales Update.. sobald mir die Tester bestätigt haben das es geht!

2 „Gefällt mir“

Moin Zara,

vielen Dank für die coole Integration.

Nachdem Du deutlich betonst wie wichtig akkurate und aktuelle DC Werte sind, frage ich mich, wie gut das mit SolarEdge funktioniert. Das Verhalten ist nämlich so:

Ich habe zum einen die DC Voltage. Die ist nachts 1V. Sobald die Sonne aufgeht, steigt der Wert langsam bis auf 778V. Erst bei dieser Spannung kann der String Strom produzieren. Das dauert dann schonmal ein Weilchen nachdem die Sonne schon da ist.
Dann habe ich DC Power. Das ist nachts 0W. Nach Sonnenaufgang, nachdem dann irgendwann die 778V String Spannung erreicht werden, bewegt sich dieser Wert, und fängt bei mir erstmal mit ca. -80W an. Ich vermute, das ist der Stromverbrauch aller Optimierer zusammen. Dann geht der langsam richtung 0, und irgendwann ist er positiv, und ich produziere endlich Strom.
Ich hatte für mich daher einen Sensor gebaut, der negativ Werte ignoriert, und mir nur was anzeigt wenn ich Strom produziere.
Jetzt frage ich mich aber, welcher Sensor mit Deiner Integration am besten funktioniert…?

Zumal DC Power auch manchmal nachts bei -80W bleibt, der Wechselrichter geht nicht immer komplett schlafen, wahrscheinlich weil das BMS es manchmal fordert.

Und dann läuft die Solaredge Integration über Modbus, ich polle aktuell alle 30s (was schon recht niedrig ist), aber für eine gescheites Rieman Integral und schnelle Wolkenerkennung ist das viel zu langsam, oder?

Nehm den :slight_smile: Sollte funktionieren!

1 „Gefällt mir“

Hallo zusammen,

also nachdem ich mich jetzt seit Wochen mit dem Projekt beschäftige (da ich die Idee echt klasse finde) und definitiv jeder Sensor etc. korrekt eingerichtet ist und seit kurzem auch die KI läuft - bin ich aktuell am überlegen, ob ich das ganze jetzt beende und wieder ganz normal auf Solcast oder Meteo gehe.

Warum? Die Prognosen von ML werden immer schlechter - die wäre mittlerweile Würfeln genauer.

Beispiele der letzten Tage:

12.01. : Prognose: 0,66 / tatsächlich: 12,85
11.01. : Prognose: 5,6 / tatsächlich: 14,2
10.01. : Prognose: 1,6 / tatsächlich: 14,4

Ich habe keine Ahnung, was ich noch testen soll. Solcast und Meteo sind auch daneben, klar. Das Wetter ist ja derzeit auch nicht “einfach”. Und dann liegt auch noch zeitweise Schnee auf den Modulen. Aber derart heftige Abweichungen habe ich tatsächlich nur bei ML. Die anderen sind 20 bis 30 % daneben.

Ich schaue mir auch jeden Tag das Script an bzw. den Lernfortschritt. Hier mal der von gestern - vielleicht kann jemand da was erkennen:

## EOD-Workflow: 2026-01-11 um 23:30 Uhr

### Tages-Zusammenfassung 2026-01-11

| Metrik | Wert |
|--------|------|
| **Ertrag** | 14.09 kWh |
| **Prognose** | 5.6 kWh |
| **Accuracy** | 251.8% |
| **Produktionszeit** | None |
| **Beste Stunde** | 11:00 (1.12 kWh) |
| **Verbrauch** | None kWh |
| **Frost-Einfluss** | 3 Stunden (heavy: 1, light: 2) |

---

### Lern-Ergebnisse

#### 1. Weather Expert Learning

**Aktuelle Cloud-Type Gewichte:**

| Cloud-Type | Open-Meteo | wttr.in | ECMWF Layers | Bright Sky | Pirate W. |
|------------|------------|---------|--------------|------------|-----------|
| clear | 22.1% | 22.2% | 17.6% | **38.0%** | 25.0% |
| cirrus | 10.0% | 10.0% | **30.0%** | **30.0%** | 20.0% |
| fair | 26.3% | **28.3%** | 18.3% | 27.2% | 0.0% |
| mixed | 26.1% | 21.5% | 28.8% | 23.7% | **30.0%** |
| stratus | 23.9% | 23.5% | **27.1%** | 25.5% | 0.0% |
| overcast | 10.0% | 10.0% | 10.0% | **40.0%** | 30.0% |
| snow | **20.0%** | **20.0%** | **20.0%** | **20.0%** | **20.0%** |

---

#### 2. Physics Calibration

**Gruppen-Faktoren:**
| Gruppe | Global Factor | Confidence | Samples |
|--------|---------------|------------|---------|
| Default (Sud 42 Grad) | 3.103 | 50% | 10 |
| Total (Sud 42 Grad) | 1.392 | 32% | 1 |

**Bucket-Details Default (Sud 42 Grad):**
| Bucket | Factor | Samples | Conf. | Interpretation |
|--------|--------|---------|-------|----------------|
| clear | 1.478 | 2 | 62% | Physics underestimates (+48%) |
| clear_low_sun | 0.273 | 1 | 32% | Physics overestimates (73%) |
| fair | 1.567 | 3 | 48% | Physics underestimates (+57%) |
| cloudy | 3.535 | 8 | 50% | Physics underestimates (+254%) |
| cloudy_low_sun | 1.764 | 5 | 36% | Physics underestimates (+76%) |
| overcast | 3.712 | 6 | 43% | Physics underestimates (+271%) |

**Bucket-Details Total (Sud 42 Grad):**
| Bucket | Factor | Samples | Conf. | Interpretation |
|--------|--------|---------|-------|----------------|
| clear | 1.392 | 1 | 32% | Physics underestimates (+39%) |

---

#### 3. Neural Network Training

| Metrik | Wert |
|--------|------|
| R2 Score | **0.489** |
| RMSE | 0.617 kWh |
| Samples | 60 |
| Features | 17 |
| Epochs | 28 (Early Stopping) |
| Outputs | 1 (Multi-Output) |
| Attention | ON |

---

#### 4. Weather Precision

| Parameter | Correction Factor |
|-----------|-------------------|
| Temperature | 0.871 C |
| Pressure | -1.300 hPa |
| Solar Radiation | 0.403 |
| Clouds | 0.868 |
| Humidity | 0.879 |
| Wind | 1.194 |
| Rain | -0.250 |

---

#### 5. RB Correction Factor

| Metrik | Wert |
|--------|------|
| Neuer Faktor | **1.590** |
| Grund | RBS overpredicted by -59% |
| Kumulativ | Actual: 89.93 kWh vs Predicted: 56.56 kWh |

---

### Aktualisierte Dateien

| Datei | Inhalt |
|-------|--------|
| `/stats/weather_expert_weights.json` | Experten-Gewichte |
| `/physics/learning_config.json` | Bucket-Faktoren |
| `/ai/model_weights.npz` | Network Weights (Attention) |
| `/ai/seasonal_factors.json` | Saisonale Faktoren |
| `/stats/weather_precision_daily.json` | Korrektur-Faktoren |
| `/stats/weather_forecast_corrected.json` | RB-Korrektur |
| `/stats/daily_summaries.json` | Tages-Summary |
| `/stats/production_history.json` | History-Eintrag |
| `/data/weather_expert_weights.json` | Cloud-Type Gewichte |

---

### EOD Status

**12/12 Schritte erfolgreich** in 3.4 Sekunden

---

### Analyse

1. **Frost:** 3 hours affected, 1h heavy frost
2. **Shadow impact:** 57.5% loss due to shading (low_sun_angle)

Für heute ist bei uns eine Prognose von 3,6 vorhergesagt. Alleine wenn ich mir den Wetterbericht anschaue, dann weiß ich, dass das heute locker zwischen 15 und 20 werden bei unserer Anlage.
Ich habe die Integration ja auch nach dem neuen Update in diesem Jahr komplett gelöscht und neu angefangen. Die Sensoren sind definitiv korrekt eingetragen und setzen sich auch um 0 Uhr zurück - da stimmt alles.
Und ja: Ich habe Geduld und lasse es auch noch eine Weile weiterlaufen. Trotzdem frage ich mich, warum das System es nicht schafft, bei so offensichtlichen Verhältnissen und gesammelten Samples eine wenigstens einigermaßen passende Prognose zu erstellen. Von mir aus heute 20 oder 30 % daneben - das wäre ja schon mal ein Anfang.

1 „Gefällt mir“

Evtl hängt das damit zusammen.

Btw, wie kommt man denn an den Workflowreport dran?