Energie · PV · Open Source
Zeus Charge Control: PV-Batterie intelligent laden mit dynamischen Strompreisen
Preisfenster erkennen, Ladepläne automatisieren, RSOC & Status im Blick – Source-only (benötigt Java 17 + Maven).

tiny-tool.de – Symbolbild – KI generiert
Dynamische Stromtarife können richtig Geld sparen – aber nur, wenn man Verbrauch (und Speicher) clever in günstige Zeitfenster legt. Zeus Charge Control ist eine Java/Spring-Boot-Anwendung, die Ladepläne für PV-Batteriespeicher anhand von Marktpreisen (z. B. aWATTar oder Tibber) und optional Wetterdaten (Open-Meteo) optimiert.
Ziel: günstig laden, teure Netzphasen vermeiden – und dabei transparent bleiben, was die App gerade tut. Kein „Magie-Button“, sondern nachvollziehbare Regeln + Visualisierung.
Was ist Zeus Charge Control?
- Monitoring: RSOC/Batteriestatus + Visualisierung im Web-UI
- Preislogik: günstigste Zeitfenster im konfigurierten Toleranzbereich finden
- Schwellwerte: Laden nur bis zu einem max. akzeptierten Preis (Cent/kWh)
- Nachtfenster: planbare Zeiträume (z. B. abends/nachts), optional mit Leerlauf-/Night-Idle-Verhalten
- Wetter optional: Open-Meteo kann Entscheidungen ergänzen (z. B. bei erwarteter PV-Produktion)
- Fehlertoleranz: Batterie/API-Ausfälle → Logging, App bleibt stabil
Praktisch heißt das: Die App schaut regelmäßig auf Preis- und (optional) Wetterdaten, prüft deinen Batteriestand (RSOC)
und legt daraus Ladefenster an – so, dass du möglichst selten „teuren“ Strom in die Batterie lädst.
Für wen lohnt sich das?
Für PV-Nutzer mit Batteriespeicher, deren System die Sonnen API v2 nutzt – und die dynamische Preise
(z. B. aWATTar/Tibber) wirklich ausnutzen wollen. Ideal, wenn du:
- einen dynamischen Tarif hast und Preise stark schwanken
- nachts oder in bestimmten Zeitfenstern günstig laden willst
- Transparenz willst (Dashboard statt Blackbox)
- gern selbst konfigurierst (Schwellenwerte, Zeitfenster, Regeln)
Wichtige Hinweise (Experimental / Private Use)
⚠️ Experimental / Private Use
Dieses Projekt ist experimentell und primär für private Nutzung, Tests und Lernzwecke gedacht.
Es ist nicht für produktiven Dauerbetrieb in sicherheitskritischen oder kommerziellen Umgebungen vorgesehen.
Automatisierte Ladeentscheidungen sind konfigurations- und datenbasiert. Prüfe Einstellungen & Verhalten
sorgfältig, bevor du es dauerhaft laufen lässt.
Web-UI & Visualisierungen
Status & Dashboard: /charging-status
Hier siehst du Batteriestatus (RSOC), Preisübersichten, erkannte günstige Zeitfenster und geplante Ladeperioden.
Zusätzlich gibt es ein Control-Panel (je nach Modus) für Steuerung & Status.
Steuerelemente & Dashboard

So arbeitet die Lade-Logik
Das Grundprinzip
- Batteriestand prüfen (RSOC) → Wenn Ziel erreicht: keine Ladung nötig.
- Preise laden (aWATTar/Tibber) → günstige Zeitfenster im gewünschten Zeitraum suchen.
- Regeln anwenden: max. akzeptierter Preis + Flex-Threshold + Nachtfenster.
- Ladeplan setzen → und im UI sichtbar machen.
Typisches Szenario
- RSOC liegt unter deinem Ziel (z. B. 90 %)
- Es ist (noch) keine PV-Produktion zu erwarten
- Im Nachtfenster existieren sehr günstige Preise
- → App plant ein oder mehrere Ladefenster innerhalb des erlaubten Zeitraums
damit sie zu deinem Tarif und deinem Alltag passen.

Setup: Source-only Build & Start (Java 17 + Maven)
📦 Keine Binaries / keine Releases
Zeus Charge Control wird bewusst ohne vorkompilierte Binary-Releases bereitgestellt.
Du baust es lokal aus dem Quellcode.
Build
mvn clean package
Start
Nach dem Start erreichst du das Web-UI typischerweise hier:
http://localhost:8080/charging-status
Konfiguration: wichtigste Parameter
Die App ist über application.properties und/oder Umgebungsvariablen konfigurierbar.
Hier die wichtigsten Stellschrauben (Praxis-fokussiert):
Minimal-Setup (Beispiel)
battery.target.stateOfCharge=90
marketdata.source=awattar
marketdata.max.acceptable.price.cents=15
marketdata.price.flexibility.threshold=2
night.start=19
night.end=6
Was bedeuten die Werte?
- battery.target.stateOfCharge: Ziel-RSOC, ab dem nicht mehr aktiv geladen wird.
- marketdata.source: Preisquelle (
awattarodertibber). - marketdata.max.acceptable.price.cents: Preis-Deckel: darüber wird nicht geplant.
- marketdata.price.flexibility.threshold: Toleranz/Feinjustierung, um etwas „flexibler“ zu laden.
- night.start / night.end: Zeitfenster, in dem die App bevorzugt/gezielt plant.
Troubleshooting & typische Stolperfallen
Die häufigsten Ursachen
- Batterie nicht erreichbar (Netz/Firewall/VPN) → App loggt Fehler und läuft weiter.
- Tokens/URLs falsch oder abgelaufen → Auth-Fehler in Logs.
- Preisdaten fehlen (Provider/Timeout) → nächster Scheduled Run greift.
- Zeitzone/Nachtfenster unpassend → Planung wirkt „komisch“.
FAQ
Warum gibt es keinen Download / kein Binary?
Das Projekt wird bewusst als Source-only – damit gibt es keine implizite „Produkt“-Erwartung.
Kann ich das dauerhaft auf einem Server laufen lassen?
Technisch ja – aber bitte beachte: experimental/private use. Wenn du es produktiv betreibst,
mach das bewusst, dokumentiert, und mit sauberer Konfiguration/Monitoring.
Unterstützt Zeus Charge Control Anbieter X?
Aktuell sind aWATTar und Tibber als Marktpreisquellen vorgesehen, plus optional Open-Meteo für Wetterdaten.
Was passiert, wenn die Batterie offline ist?
Die App bleibt stabil, protokolliert Fehler und versucht es beim nächsten Lauf erneut.
Disclaimer & Haftungsausschluss
Keine Verbindung zur Sonnen GmbH
Dieses Projekt steht in keiner Verbindung zur Sonnen GmbH.
Die Software wurde nicht von der Sonnen GmbH entwickelt, bereitgestellt oder unterstützt.
Die Nutzung der Sonnen API v2 erfolgt ausschließlich auf Basis öffentlich zugänglicher Schnittstellen und Dokumentationen.
Alle Marken-, Produkt- und Firmennamen sind Eigentum der jeweiligen Rechteinhaber.
Haftungsausschluss
Die Inhalte und der Quellcode dienen ausschließlich der allgemeinen Information und stellen
keine fachliche Beratung dar – insbesondere keine rechtliche, steuerliche, finanzielle oder energetische Beratung.
Insbesondere übernimmt der Autor keine Haftung für Schäden, die durch Fehlkonfiguration, Fehlinterpretation von Marktdaten oder automatisierte Ladeentscheidungen entstehen.
Nutzung auf eigene Verantwortung. Haftung für materielle oder immaterielle Schäden ist ausgeschlossen, sofern kein vorsätzliches oder grob fahrlässiges Verschulden vorliegt.
Projektlinks
- GitHub (Source Code): https://github.com/gzeuner/zeus-charge-control
- License: Apache License 2.0
Weitere Informationen
https://tiny-tool.de/maven-und-die-pom-xml/
Die Inhalte auf tiny-tool.de werden sorgfältig recherchiert, redaktionell geprüft und regelmäßig aktualisiert. Quellen und Zitate werden nachvollziehbar angegeben. Dennoch übernehmen wir keine Garantie für Richtigkeit, Vollständigkeit oder Aktualität der bereitgestellten Informationen. Irrtümer sind nicht ausgeschlossen.
Urheber & redaktionelle Unterstützung: Texte auf tiny-tool.de sind geistige Werke der Redaktion (Endredaktion: Guido Zeuner). Digitale Werkzeuge – darunter auch KI-basierte Hilfsmittel – kommen lediglich als Assistenzsysteme bei Recherche, Struktur oder Sprachoptimierung zum Einsatz. Auswahl der Inhalte, Struktur, Argumentation und finale Textfassung stammen von uns als natürlichen Personen; KI-Systeme sind keine Urheber.
Reichweitenmessung (VG Wort / METIS): Zur Ermittlung der Textreichweite werden Zählmarken der VG Wort eingesetzt. Aus technischen Gründen werden diese beim Aufruf der Seite geladen und können derzeit nicht über das Cookie-Banner blockiert werden, da keine Cookies gesetzt werden. Die Messung dient ausschließlich der Reichweitenstatistik; personenbezogene Profile werden nicht erstellt. Mehr dazu in unseren Datenschutzhinweisen.
Bitte beachte: Die Inhalte dienen ausschließlich der allgemeinen Information und stellen keine fachliche Beratung (z. B. rechtlicher, steuerlicher oder finanzieller Art) dar. Die Nutzung der Inhalte erfolgt auf eigene Verantwortung. Eine Haftung für Schäden materieller oder immaterieller Art ist ausgeschlossen, sofern kein vorsätzliches oder grob fahrlässiges Verschulden vorliegt.
Werbung & Affiliate-Links: Einige Beiträge enthalten werbliche Hinweise oder sogenannte Affiliate-Links. Diese sind entsprechend gekennzeichnet. Beim Klick entstehen dir keine zusätzlichen Kosten – wir erhalten ggf. eine kleine Provision.
Markenrechtlicher Hinweis: Alle Markennamen, Logos und Produktbezeichnungen sind Eigentum der jeweiligen Rechteinhaber und werden nur zur identifizierenden Beschreibung verwendet. Es besteht keinerlei Verbindung zu den genannten Unternehmen.
Externe Links: Diese Website enthält Verweise auf externe Websites Dritter. Trotz sorgfältiger Prüfung übernehmen wir keine Verantwortung für deren Inhalte. Bei Bekanntwerden rechtswidriger Inhalte entfernen wir entsprechende Links umgehend.



tiny-tool.de
tiny-tool.de