Solad: PV-Überschussladen mit sonnenBatterie und NRGkick
Mittags liefert die Solaranlage oft mehr, als das Haus braucht. Ist der Hausspeicher voll, geht der Rest für wenige Cent ins Netz. Steht das Elektroauto in der Garage, ist es besser, genau diesen Überschuss ins Auto zu laden. Solad macht das: Es liest die sonnenBatterie, rechnet aus, wie viel Leistung übrig ist, und stellt an der Wallbox NRGkick Gen2 Strom und Phasenzahl ein. Alles läuft lokal im Heimnetz, ohne Cloud.
Woher der Regler seine Zahlen hat
Die sonnenBatterie kennt alle Leistungen im Haus: Produktion der PV-Anlage, Verbrauch, Speicherstand und Netzbezug. Die Wallbox meldet, wie viel das Auto gerade zieht. Alle 10 Sekunden fragt Solad beide Geräte ab.
Ansatz: Übrig ist, was die PV-Anlage liefert, minus dem, was das Haus ohne Auto verbraucht.
Schritt: Der Verbrauchswert der sonnenBatterie enthält das Auto schon. Also muss die Ladeleistung erst herausgerechnet werden:
mit \(P_\text{PV}\) Leistung der Solaranlage, \(P_\text{Verbrauch}\) gesamter Hausverbrauch laut sonnenBatterie und \(P_\text{Auto}\) Ladeleistung an der Wallbox.
Kontrolle: Würde man das Auto nicht abziehen, sähe der Regler beim Laden weniger Überschuss, drehte den Strom herunter, sähe wieder mehr Überschuss, und so weiter: Er würde schwingen.
Zahlenprobe: PV 7,0 kW, Verbrauch 5,5 kW, davon Auto 4,6 kW. Das Haus allein braucht 5,5 − 4,6 = 0,9 kW, übrig sind 7,0 − 0,9 = 6,1 kW.
Wie viel Leistung das Auto mindestens braucht
Eine Wallbox lässt sich nicht beliebig fein stellen. Die Ladenorm verlangt mindestens 6 A, Solad stellt höchstens 16 A pro Phase ein. Jede Phase hat 230 V gegen den Neutralleiter. Mit \(P = U \cdot I\) (hergeleitet in Einsteiger Teil 6):
| Fall | Rechnung | Leistung |
|---|---|---|
| einphasig, Minimum | 6 A × 230 V | ≈ 1,4 kW |
| einphasig, Maximum | 16 A × 230 V | ≈ 3,7 kW |
| dreiphasig, Minimum | 3 × 6 A × 230 V | ≈ 4,1 kW |
| dreiphasig, Maximum | 3 × 16 A × 230 V | ≈ 11 kW |
Daraus folgen die Regeln:
- Unter 1,4 kW Überschuss lädt das Auto nicht. Mit weniger ginge es nur, wenn Netz oder Speicher den Rest dazugeben.
- Zwischen 1,4 und 4,1 kW lädt es einphasig, der Strom folgt dem Überschuss.
- Ab 4,1 kW schaltet Solad auf drei Phasen um.
- Dazwischen liegt eine Lücke: Einphasig ist bei 3,7 kW Schluss, dreiphasig geht es erst bei 4,1 kW los. In dieser Lücke bleibt es bei einphasig 16 A.
Den Strom rechnet Solad aus dem Überschuss zurück und rundet ab, damit nichts aus dem Netz kommt:
mit \(n\) Zahl der Phasen. Zahlenprobe mit den 6,1 kW von oben: \(6100 / (3 \cdot 230) = 8{,}8\), also 8 A dreiphasig.
Wolken: warten statt schalten
Zieht eine Wolke durch, fällt die PV-Leistung in Sekunden auf einen Bruchteil. Würde Solad sofort reagieren, ginge das Laden ständig an und aus, und die Phasen würden hin- und herschalten. Das mögen weder Wallbox noch Auto. Deshalb gilt:
| Ereignis | wartet |
|---|---|
| Laden starten, wenn genug Überschuss da ist | 2 min |
| Laden stoppen, wenn zu wenig da ist (bis dahin mit 6 A weiter) | 5 min |
| zwischen zwei Phasenwechseln mindestens | 5 min |
So entsteht eine Hysterese: Der Regler reagiert auf längere Trends, nicht auf jede Wolke.
Winter: erst der Hausspeicher
Von Mitte Oktober bis Ende Februar ist die Sonne knapp. Dann ist jede Kilowattstunde im Hausspeicher wertvoller als im Auto, weil das Haus sie am Abend braucht. Solad lädt das Auto im Winter deshalb erst, wenn der Speicher zu mindestens 95 % voll ist.
Im Sommer ist es umgekehrt: Der Speicher wird ohnehin voll. Dann lässt Solad die sonnenBatterie prognosebasiert laden. Sie füllt sich erst mittags und nimmt die Spitze auf, wenn viele Anlagen gleichzeitig einspeisen. Der Vormittagsstrom geht ins Auto oder ins Netz. Im Winter schaltet Solad diese Prognose ab.
Die Modi
| Modus | Was passiert |
|---|---|
| beobachten | nur anzeigen, keine Befehle an die Wallbox; so startet Solad zum Ausprobieren |
| pv | nur mit Überschuss laden, nach den Regeln oben |
| voll | mit 3 × 16 A laden, bis das Auto voll ist |
| kwh | eine feste Menge mit Vollgas laden, danach weiter mit pv |
| aus | Laden pausiert |
Bei voll und kwh gibt es eine Falle: Das Auto zieht 11 kW, die Solaranlage liefert weniger, und die sonnenBatterie würde den Rest aus dem Hausspeicher liefern. Der Speicher wäre dann am Abend leer. Solad legt ihn deshalb in diesen Modi still (manueller Modus, Sollwert 0 W). Das Auto lädt dann aus PV und Netz. Danach schaltet Solad den Speicher zurück auf Eigenverbrauch.
Aufbau des Codes
Der Code ist bewusst klein (rund 400 Zeilen Python):
regler.py: die ganze Regel-Logik, ohne Netzwerk-Code. Sie bekommt eine Messung und die Uhrzeit und liefert einen Befehl. Deshalb lässt sie sich mit Unit-Tests prüfen, ohne Auto und ohne Sonne.geraete.py: die HTTP-Aufrufe an sonnenBatterie und NRGkick.app.py: die Regelschleife alle 10 s und eine kleine Weboberfläche (FastAPI), auf der man den Modus wählt und die Leistungen sieht.
Solad läuft bei uns auf einem kleinen Mac im Heimnetz als Systemdienst. Jeder andere Rechner, der dauerhaft läuft und Python kann, tut es auch.
Stand
Solad läuft seit November 2026 bei uns, zunächst im Modus beobachten. Sobald es im Modus pv einen sonnigen Tag geregelt hat, zeigen wir hier die Tageskurve: PV-Leistung, Ladeleistung und Speicherstand.