From 0a67a6ed5337dc9fdf521244cd711eaf6c877119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=A4fliger?= Date: Thu, 10 Sep 2026 08:04:30 +0000 Subject: [PATCH] Entwurf: docs/module/Virtuelle-Batterie/README.md --- docs/module/Virtuelle-Batterie/README.md | 68 ++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 docs/module/Virtuelle-Batterie/README.md diff --git a/docs/module/Virtuelle-Batterie/README.md b/docs/module/Virtuelle-Batterie/README.md new file mode 100644 index 0000000..1520e10 --- /dev/null +++ b/docs/module/Virtuelle-Batterie/README.md @@ -0,0 +1,68 @@ +# Virtuelle Batterie + +> Status: Diskussionsentwurf. Übernimmt `Bat_EV_SDL_V4` für die Bereiche +> Eigenverbrauch und SDL. + +Batterien und VGT-Kommunikation werden ausgewählt. Das Modul bleibt ohne EMS +nutzbar; eine EMS-Anbindung verwendet optional denselben Nachrichtenvertrag, +ohne Code-Abhängigkeit zwischen den Repositories. + +## Variablen + +| Ident | Typ / Zugriff | Beschreibung | +| --- | --- | --- | +| `Aktiv` | Boolean / bedienbar | Koordination aktivieren. | +| `EigenverbrauchSollleistung` | Float / bedingt bedienbar | W; nur bei lokaler Quelle schreiben. | +| `SDLSollleistung` | Float / Anzeige | W; nur aus gültigem zeitlichem Auftrag. | +| `EigenverbrauchIstleistung` | Float / Anzeige | W; zugeordneter Anteil. | +| `SDLIstleistung` | Float / Anzeige | W; zugeordneter Anteil. | +| `GesamtIstleistung` | Float / Anzeige | W; Summe gültiger physischer Messwerte. | +| `Leistungsquelle` | Integer / Anzeige | `0` fehlt, `1` berechnet, `2` gemessen. | +| `EigenverbrauchLadezustand` | Float / Anzeige | Virtueller Füllstand in %. | +| `SDLLadezustand` | Float / Anzeige | Virtueller Füllstand in %. | +| `EigenverbrauchMaxLaden` | Float / Anzeige | Verfügbare Ladeleistung in W. | +| `EigenverbrauchMaxEntladen` | Float / Anzeige | Verfügbare Entladeleistung in W. | +| `SDLMaxLaden` | Float / Anzeige | Verfügbare Ladeleistung in W. | +| `SDLMaxEntladen` | Float / Anzeige | Verfügbare Entladeleistung in W. | +| `EigenverbrauchStart` | Float / bedienbar | Startwert 0–100 % für explizites Rücksetzen. | +| `SDLStart` | Float / bedienbar | Startwert 0–100 % für explizites Rücksetzen. | +| `VirtuelleKontenRuecksetzen` | Boolean / Impuls | `true` löst aus und wird wieder zurückgesetzt. | +| `Managerstatus` | Integer / Anzeige | Nur bei Managerquelle. | +| `VGTStatus` | Integer / Anzeige | Nur bei VGT-Quelle. | +| `Stoerung` | Boolean / Anzeige | Eigene oder zugeordnete Fehler. | +| `Stoertext` | String / Anzeige | Diagnose. | + +## Properties + +| Ident | Typ | Standard / Beschreibung | +| --- | --- | --- | +| `Batterieliste` | String/JSON | `[]`; Zielstelle, Kapazität, Grenzen und Messquellen je Batterie. | +| `Eigenverbrauchsquelle` | Integer | `0` lokal, `1` externe Variable, `2` Managervertrag. | +| `EigenverbrauchSollVariableID` | Integer | `0`; Pflicht bei Quelle 1. | +| `SDLQuelle` | Integer | `0` keine, `1` VGT-Instanz, `2` externer Auftragsdatensatz. | +| `VGTInstanzID` | Integer | `0`; Pflicht bei SDLQuelle 1. | +| `SDLAuftragVariableID` | Integer | `0`; Pflicht bei Quelle 2, inklusive Gültigkeit. | +| `SDLReserveLaden` | Float | `0` W. | +| `SDLReserveEntladen` | Float | `0` W. | +| `Reservezeit` | Float | `0.5` h; Bereich 0–24. | +| `Aktualisierungsintervall` | Integer | `2` s. | +| `MesswertMaxAlter` | Integer | `30` s. | +| `Meldeintervall` | Integer | `10` s; bei Vertragsanbindung. | +| `VorgabeTimeout` | Integer | `30` s; bei weitergeleiteten Vorgaben. | +| `AusfallEigenverbrauch` | Integer | `0` auf 0 begrenzen, `1` lokale begrenzte Vorgabe. | +| `AusfallEigenverbrauchLeistung` | Float | `0` W; nur bei Ausfallmodus 1. | +| `FilterAktiv` | Boolean | `true`. | +| `FilterToleranz` | Float | `15` %. | +| `FilterRampe` | Float | `2000` W/s. | +| `FilterTreffer` | Integer | `1`. | +| `Abgleichintervall` | Float | `6` h. | +| `Abgleichtoleranz` | Float | `2` %. | +| `DiagnoseAnzeigen` | Boolean | `false`. | +| `PrioritaetPV` | Integer | `0`; nur bei Manageranbindung. | +| `PrioritaetPeak` | Integer | `0`; nur bei Manageranbindung. | + +## Verhalten und offene Punkte + +Eigenverbrauch und SDL ergeben zusammen genau einen begrenzten Batteriesollwert. +Pro physischer Batterie darf nur eine Stelle führen. Messgrundlage und +Aufteilung der berechneten Leistungsanteile sind im Test eindeutig zu belegen.