Files
dh 8d83b083bf
Tests / test (push) Successful in 48s
feat(batterie): Nachladeleistung begrenzen
2026-10-01 15:56:23 +00:00
..

Batterie

Status: implementiert. Zielplattform ist IP-Symcon ab Version 8.0, Nachrichtenvertrag 4.0.

Verantwortung

Das Modul bildet einen Batteriespeicher als bidirektionalen Enelix-Verbraucher ab. Es berechnet das betriebsart- und ladezustandsabhaengige Leistungsangebot, empfaengt Sollleistungen vom Manager und uebersetzt sie in herstellerspezifische Registerwerte.

Positive Leistung bedeutet Laden, negative Leistung Entladen. Die Geraeteanbindung erfolgt ausschliesslich ueber vom Benutzer ausgewaehlte numerische IP-Symcon-Variablen. Schreibziele muessen eine Aktion besitzen.

Ereignismodell

Fachliche Neuberechnungen werden ausgeloest durch:

  • Aktualisierung eines der fuenf Messwerte
  • Managerdaten mit Betriebsart oder Sollleistung
  • lokale Aenderung der Variablen Aktiv
  • Ablauf von Vorgabe-Timeout oder Aenderungssperre
  • manuelle Aktualisierung in der Konfigurationsmaske

Der Meldezyklus verschickt eine Vollmeldung und dient nicht als Regelzyklus. Ein periodischer Berechnungstimer oder Idle-Counter existiert nicht.

Properties

Gemeinsame Verbraucherproperties

PrioritaetPV, PrioritaetPeak, Meldeintervall, VorgabeTimeout, EinstellungenInVisu und LoggingEin stammen aus VerbraucherBasisTrait.

Batteriespezifische Properties

Property Typ Standard Bedeutung
Batterietyp Integer 0 0 unkonfiguriert, 1 generisch, 2 GoodWe, 3 SolarEdge, 4 Sigenergy
Batteriemanagement Integer 1 1 Wechselrichter, 2 Enelix
MaxLadeleistungVariableID Integer 0 Dynamische Ladegrenze in W
MaxEntladeleistungVariableID Integer 0 Dynamische Entladegrenze in W
LadezustandVariableID Integer 0 SoC in Prozent
NetzleistungVariableID Integer 0 Positiv Netzbezug, negativ Einspeisung
IstleistungVariableID Integer 0 Positiv Laden, negativ Entladen
ManagementRegisterVariableID Integer 0 Steuerungsquelle des Wechselrichters
ModusRegisterVariableID Integer 0 Laden-/Entladen-Code
LeistungsRegisterVariableID Integer 0 GoodWe-Leistungsregister in W
LadeleistungRegisterVariableID Integer 0 Ladeleistung in W beziehungsweise kW
EntladeleistungRegisterVariableID Integer 0 Entladeleistung in W beziehungsweise kW
ReserveLadezustand Float 20 Peakshaving-Reserve in Prozent
MindestLadezustand Float 10 Untere Entladegrenze in Prozent
LadezustandHysterese Float 2 Hysterese oberhalb der Reserve
NachladenMitMaximalleistung Boolean true Verwendet fuer schutzbedingtes Nachladen die dynamische maximale Ladeleistung
MaximaleNachladeleistung Integer 0 Benutzerdefinierte Nachladegrenze in W; bei deaktivierter Maximalleistung muss der Wert groesser als 0 sein
MesswertMaxAlter Integer 60 Maximales Messwertalter in Sekunden
Aenderungssperre Integer 4 Sperrzeit nach Sollwertaenderung
DiagnosevariablenAnzeigen Boolean false Technische Variablen einblenden

Registeradapter

Typ WR-Management Enelix-Management Laden Entladen
Generisch 0 1 Modus 0, Ladeleistung W Modus 1, Entladeleistung W
GoodWe 1 2 Modus 11, Betrag W Modus 12, Betrag W
SolarEdge 1 4 Modus 3, Ladeleistung W Modus 4, Entladeleistung W
Sigenergy 0 1 Modus 3, Ladeleistung kW Modus 6, Entladeleistung kW

Beim Wechsel in die Wechselrichtersteuerung werden zuerst die zum Typ gehoerenden Leistungsregister auf 0 gesetzt und danach der Automatikcode geschrieben. Im Enelix-Modus werden zuerst die Leistungswerte, dann Modus und zuletzt Management geschrieben.

Leistungsangebot

Die Batterie meldet innerhalb der dynamischen Lade- und Entladegrenzen inklusive Leistungsbereiche in ganzen Watt. Der Manager kann dadurch jeden ganzzahligen Sollwert innerhalb des aktuell erlaubten Bereichs vorgeben. Die Grenzen werden abgerundet, damit keine dynamische Maximalleistung ueberschritten wird.

PV und Peak verwenden weiterhin die bisherige SoC-Logik. Feste Schutz- oder Peakvorgaben bleiben Einzelwerte; frei regelbare Angebote werden als Bereiche gemeldet. Bei schutzbedingtem Nachladen innerhalb oder unterhalb der Reserve begrenzt MaximaleNachladeleistung die positive Angebotsgrenze, wenn NachladenMitMaximalleistung deaktiviert ist. Der normale Ladebereich oberhalb der Reserve bleibt unveraendert. Die Hysterese wird als persistenter Modulzustand gefuehrt. Bei Wechselrichtersteuerung, lokaler Deaktivierung oder ungueltigen Messwerten lautet das Angebot [0].

Variablen

Immer sichtbar sind Aktiv und Ladestatus. Ladestatus verwendet:

Wert Bedeutung
0 Messwert ungueltig oder unbekannt
1 Ruhezustand
2 Laden
3 Entladen

Die Diagnoseoption ergaenzt die gemeinsamen Verbraucherdiagnosen sowie Ladezustand, Netzleistung, Leistungsgrenzen, Hysterese, Steuerungsmodus, BezogeneEnergie, LeistungsangebotDiagnose und LetzterRegisterbefehl.

Fehlerbehandlung

  • Status 201: Konfiguration oder Variablentyp ungueltig
  • Status 202: Messwert fehlt, ist veraltet oder fachlich ungueltig
  • Status 203: RequestAction auf mindestens ein Register ist fehlgeschlagen

Ein ungueltiger oder abgelaufener Sollwert wird verworfen und durch 0 ersetzt. Die konkrete Stoerung wird im Vertrag und bei aktivierter Diagnose in Stoerung und Stoertext gemeldet.

Managerkommunikation

Die fachliche Schnittstelle ist in Schnittstelle Batterie beschrieben. Transport und gemeinsame Felder folgen EMS-Schnittstelle.

Tests

  • BatterieReglerTest: Leistungsbereiche, Hysterese, PV/Peak und Herstellerabbildung
  • BatterieModulstrukturTest: Metadaten, Formular, Ereignismodell und Manager-ID
  • Symcon/modules/Batterie.php: reale Modulinstanz und Registeraktionen unter IP-Symcon 8.0