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 |
| 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
Das Raster besteht wie in Enelix 1 aus 250-W-Grundschritten. Um 0 werden zusaetzlich -200, -150, -100, -50, 0, 50, 100, 150 und 200 W angeboten, soweit diese Werte innerhalb der dynamischen Leistungsgrenzen liegen.
PV und Peak verwenden die bisherige SoC-Logik. 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: Raster, 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