Hallo zusammen,
ich möchte euch Victron Charge Control vorstellen, eine eigene Home-Assistant-Integration für Victron-ESS-Systeme.
Die Integration steuert das Laden und Entladen der Batterie automatisch auf Basis der stündlichen EPEX-Spot-Strompreise. Das Ziel ist einfach: Die Batterie soll in günstigen Stunden geladen, in teuren Stunden entladen oder ins Netz eingespeist werden. Gleichzeitig bleibt alles direkt über die Home-Assistant-Oberfläche einstellbar.
Repository:
Was die Integration macht
-
Auto-Modus berechnet täglich einen Zeitplan anhand der EPEX-Spot-Preise.
-
Manueller Modus erlaubt die Auswahl bestimmter Stunden zum Laden, Entladen, Blockieren oder Leerlauf.
-
Erzwungenes Laden / erzwungenes Entladen ist für direkte Eingriffe verfügbar.
-
SOC-Grenzen verhindern, dass über oder unter konfigurierte Batterie-Ladezustände geladen beziehungsweise entladen wird.
-
Grid-Setpoint-Grenzen helfen dabei, den Victron-ESS-Sollwert innerhalb sicherer Grenzen zu halten.
-
Begrenzung der Netzeinspeisung kann die Einspeisung reduzieren, wenn Strompreise niedrig oder negativ sind.
-
Alle Einstellungen sind in der Oberfläche verfügbar, sodass nach der Einrichtung keine YAML-Bearbeitung nötig ist.
Warum ich die Integration gebaut habe
Ich wollte eine bequemere Möglichkeit, dynamische Strompreise mit einem Victron-ESS-Setup zu nutzen. Bestehende Victron- und EPEX-Integrationen liefern bereits die Daten und beschreibbaren Entitäten, aber ich wollte eine eigene Steuerungsebene, die daraus einen stundenweisen Ladeplan erstellt.
Die Integration richtet sich an Nutzerinnen und Nutzer, die:
-
ihre Batterie während der günstigsten Spotpreis-Stunden laden möchten,
-
während der teuersten Stunden entladen oder einspeisen möchten,
-
Laden oder Entladen in bestimmten gesperrten Stunden vermeiden möchten,
-
eine konfigurierbare SOC-Reserve einhalten möchten,
-
die Strategie direkt in Home Assistant anpassen möchten.
Voraussetzungen
Die Integration erwartet aktuell, dass folgende Komponenten bereits in Home Assistant vorhanden sind:
-
Home Assistant 2026.2 oder neuer
-
HACS
-
Eine beschreibbare Victron-ESS-Grid-Setpoint-Entität, zum Beispiel aus Victron GX modbusTCP
-
Victron-Batterie-SOC- und Leistungssensoren, zum Beispiel aus Victron Venus MQTT
-
Stündliche EPEX-Spot-Preisdaten, zum Beispiel aus der EPEX-Spot-Integration
-
Eine beschreibbare Entität für die maximale Netzeinspeisung, wenn die Einspeisebegrenzung genutzt werden soll
Während der Einrichtung fragt der Config Flow nach sechs Entitäten:
- Batterie-SOC-Sensor
- Grid-Setpoint-Entität
- Netzleistungssensor
- Batterieleistungssensor
- EPEX-Spot-Preissensor
- Entität für die maximale Netzeinspeisung
Einstellungen
Die Integration erstellt ein Gerät mit Laufzeit-Steuerungen wie:
-
Steuerungsmodus: `off`, `auto`, `manual`, `force_charge`, `force_discharge`
-
Schalter zum Aktivieren von Laden und Entladen
-
Minimaler und maximaler SOC
-
Lade- und Entladeleistung
-
Leerlauf-, minimaler und maximaler Grid Setpoint
-
Anzahl der günstigsten Stunden zum Laden
-
Anzahl der teuersten Stunden zum Entladen
-
Preisgrenzen für Laden und Entladen
-
Gesperrte Lade- und Entladestunden
-
Preisschwelle für Netzeinspeisung und Einspeisegrenzen
-
Button zum Neuberechnen des Zeitplans
-
Sensoren für die gewünschte Aktion, den Ziel-Sollwert, Ladezeiten, Entladezeiten und den vollständigen Ladeplan
Aktueller Stand
Dies ist eine erste Version, aktuell Version `1.0.0`. Sie läuft als lokale Polling-Integration und kann über HACS als benutzerdefiniertes Repository installiert werden.
Ich freue mich sehr über Feedback von anderen Victron-ESS-Nutzerinnen und -Nutzern, insbesondere zu unterschiedlichen Entitäts-Setups, EPEX-Spot-Konfigurationen und Steuerungsstrategien. Issues und Feature Requests sind auf GitHub willkommen:
Danke, und ich hoffe, dass die Integration auch für andere hilfreich ist, die Victron mit dynamischen Strompreisen nutzen.