Dokumentation
Wissen / Enelix Utilsdevelop · Testing

Virtuelle Batterie#

Status: Implementiert fuer IP-Symcon 8.0. Adaptiert das Grundkonzept aus Bat_EV_SDL_V4, ohne dessen herstellerspezifische Typnamen zu uebernehmen.

Das Modul fasst mehrere physische Batterien zu genau einer grossen virtuellen Batterie zusammen. Diese Gesamtbatterie wird in einen Eigenverbrauchs- und einen SDL-Anteil aufgeteilt. SDL hat bei der Leistungsverteilung Vorrang.

Verantwortlichkeiten#

Enelix Batterie-Modul -> EV-Proxyregister --+
                                             +-> Virtuelle Batterie -> physische Sollwerte
VGT-Schnittstelle ----> SDLSollleistung ----+

Die virtuelle Batterie ist die einzige Instanz, die die konfigurierten physischen Sollleistungsvariablen beschreibt. Das bestehende EMS-Batteriemodul regelt den Eigenverbrauchsanteil. Die VGT-Schnittstelle regelt ausschliesslich den SDL-Anteil.

Positive Leistung bedeutet Laden, negative Leistung bedeutet Entladen.

Physische Batterien#

Die Property Batterieliste enthaelt pro Batterie:

Feld Bedeutung
Name Lesbare Kennung
Kapazitaet_kWh Nutzbare Kapazitaet
MaxLaden_W Maximale Ladeleistung
MaxEntladen_W Maximale Entladeleistung
LadezustandVariableID Aktueller Ladezustand in Prozent
IstleistungVariableID Gemessene Leistung in W
SollleistungVariableID Bedienbare Zielvariable mit Vorzeichen

Der Gesamtladezustand ist kapazitaetsgewichtet. Beim Laden werden Batterien mit tieferem Ladezustand zuerst verwendet, beim Entladen Batterien mit hoeherem Ladezustand.

Anschluss des bestehenden Batteriemoduls#

Eine Enelix-EMS-Instanz Batterie wird als herstellerunabhaengige, von Enelix gesteuerte Batterie eingerichtet. Ihre Messwerte und Register werden auf die Variablen der virtuellen Batterie gelegt:

Property im EMS-Batteriemodul Variable der virtuellen Batterie
MaxLadeleistungVariableID EigenverbrauchMaxLaden
MaxEntladeleistungVariableID EigenverbrauchMaxEntladen
LadezustandVariableID EigenverbrauchLadezustand
IstleistungVariableID EigenverbrauchIstleistung
ManagementRegisterVariableID EVManagement
ModusRegisterVariableID EVModus
LadeleistungRegisterVariableID EVLadeleistung
EntladeleistungRegisterVariableID EVEntladeleistung

Die Netzleistungsvariable bleibt die reale Messung des Anlagenanschlusspunktes. Das Batteriemodul schreibt die vier Proxyregister atomar in seiner bestehenden Reihenfolge. Erst das Managementregister uebernimmt den vollstaendigen Eigenverbrauchsauftrag.

Anschluss der VGT-Schnittstelle#

Property der VGT-Schnittstelle Variable der virtuellen Batterie
ReqActionID SDLSollleistung
PowerProductionID SDLIstleistung
SoCID SDLLadezustand

Damit erreicht kein MQTT-Befehl direkt eine physische Batterie.

Properties#

Property Standard Beschreibung
Batterieliste [] Physische Batterien und Zielvariablen
SDLReserveLaden 0 W Fuer SDL reservierte Ladeleistung
SDLReserveEntladen 0 W Fuer SDL reservierte Entladeleistung
Reservezeit 0.5 h Energetische Reserve je Richtung
Aktualisierungsintervall 2 s Zyklische Sicherheitsaktualisierung
MesswertMaxAlter 30 s Zulaessiges Alter physischer Messwerte
VorgabeTimeout 30 s Gueltigkeit der EV- und SDL-Vorgaben
EigenverbrauchStart 50 % Startwert des EV-Kontos
SDLStart 50 % Startwert des SDL-Kontos
LoggingEin false Debug-Ausgaben

Verhalten und Sicherheit#

  • SDL wird vor dem Eigenverbrauch auf die reservierte Leistung begrenzt.
  • Gleichgerichtete Eigenverbrauchsleistung erhaelt nur die verbleibende physische Leistung.
  • Gegenlaeufige Auftraege werden bilanziell getrennt und physisch als Nettosollwert verteilt.
  • Fehlende oder veraltete Batterien werden aus der aktuellen Aggregation entfernt und auf 0 W gesetzt.
  • Bei Deaktivierung, ungueltiger Konfiguration oder ohne gueltige Batterie werden alle physischen Sollleistungsvariablen auf 0 W gesetzt.
  • Eine erkannte Integrationsluecke wird gemeldet und nicht still auf eine kuerzere Dauer begrenzt.
  • Physische Zielvariablen werden ausschliesslich mit RequestAction geschrieben.

Inbetriebnahme#

  1. Mess- und Sollleistungsvariablen aller physischen Batterien festlegen.
  2. Batterieliste konfigurieren und Messwertalter kontrollieren.
  3. SDL-Leistungsreserve und Reservezeit eintragen.
  4. Das vorhandene EMS-Batteriemodul auf die EV-Proxyregister konfigurieren.
  5. Die VGT-Schnittstelle auf die drei SDL-Variablen konfigurieren.
  6. Zuerst mit deaktivierter virtueller Batterie alle Vorzeichen pruefen.
  7. Danach Eigenverbrauch und SDL einzeln testen.
  8. Erst abschliessend gleich- und gegenlaeufige Auftraege pruefen.

Variablenreferenz#

DiagnoseAnzeigen ist eine Boolean-Property, Standard false, für zusätzliche Diagnoseanzeigen. Die folgende Übersicht ergänzt die oben beschriebenen EV-Proxy- und SDL-Anschlüsse. Leistungswerte verwenden W, Ladezustände Prozent.

Ident Typ / Zugriff Bedeutung
Aktiv Boolean / bedienbar Virtuelle Batterie aktivieren/deaktivieren; Deaktivierung löst den dokumentierten Nullstellpfad aus.
GesamtLadezustand Float / Anzeige Kapazitätsgewichteter physischer Gesamt-SOC.
GesamtIstleistung Float / Anzeige Summe der aktuell berücksichtigten physischen Leistungen.
GesamtMaxLaden, GesamtMaxEntladen Float / Anzeige Aktuell verfügbare Gesamtleistung je Richtung.
EigenverbrauchSollleistung Float / Anzeige Aus den EV-Proxyregistern übernommener EV-Auftrag, kein zusätzlicher physischer Schreibweg.
EigenverbrauchIstleistung, EigenverbrauchLadezustand Float / Anzeige Virtuell zugeordnete EV-Leistung und EV-Energiekonto.
EigenverbrauchMaxLaden, EigenverbrauchMaxEntladen Float / Anzeige Nach SDL-Reservierung verfügbare EV-Leistungsgrenzen.
SDLSollleistung Float / bedienbar Separater SDL-Auftrag; positiv Laden, negativ Entladen.
SDLIstleistung, SDLLadezustand Float / Anzeige Virtuell zugeordnete SDL-Leistung und SDL-Energiekonto.
SDLMaxLaden, SDLMaxEntladen Float / Anzeige Verfügbare SDL-Leistung je Richtung.
Stoerung Boolean / Anzeige Sammelstörung des Moduls.
Stoertext String / Anzeige Lesbarer Fehlergrund.
Verteilstatus String/JSON / Diagnose Ergebnis der Leistungsverteilung.

EVManagement und EVModus sind bedienbare Integer-Proxyregister; EVLadeleistung und EVEntladeleistung bedienbare Float-Proxyregister in W. Sie müssen als zusammengehöriger Auftrag über den dokumentierten Adapter verwendet werden, nicht durch zusätzliche konkurrierende Skripte.

Beispiel zur Bilanz, ohne Stellbefehl: EV +3000 W und SDL -1000 W ergeben physisch netto +2000 W Ladung. Die getrennten virtuellen Konten sind dadurch nicht zwei zusätzliche physische Batterien. Bei gegenläufigen Flüssen ist die Aufteilung ein Modell, kein unabhängiger Messnachweis für beide Teilströme.

Enelix-Utils · f232f9da7856

docs/module/Virtuelle-Batterie/README.md · Fragen und Antworten

Git-Abgleich: 2026-10-08T10:08:08.408Z