SMARD-Utils – Speicheranalyse für Erneuerbare Energien

BMS-Strategien

Das Battery Management System (BMS) entscheidet in jedem Zeitschritt, ob die Batterie geladen, entladen oder die Energie direkt eingespeist wird. Alle Strategien folgen derselben Prioritätsreihenfolge:

  1. Entladen – Batterie + Erzeugung werden eingespeist
  2. Laden – Überschussstrom geht in die Batterie
  3. Einspeisen – Direkteinspeisung ohne Batterieaktion
  4. Curtailment – Energie wird verworfen (kein Export)

Die Strategie legt fest, in welchen Stunden welche Aktion ausgelöst wird. Allen drei Strategien gemeinsam: Das Physikmodell der Batterie (Wirkungsgrad, Verluste, SOC-Grenzen) ist unabhängig von der Strategie.

price_threshold – Preisschwellenstrategie

Standardstrategie für biobatsys.

Vergleicht den aktuellen Spotpreis mit dem gleitenden 25-Stunden-Mittelwert:

Entladen:  preis ≥ load_threshold × avg_preis
Laden:     preis < load_threshold × avg_preis
Export:    nie (nur beim Entladen)
ParameterStandardBedeutung
load_threshold1,0Schwelle als Faktor des 25h-Mittelwerts

Mit load_threshold = 1.0 wird genau dann entladen, wenn der aktuelle Preis über dem gleitenden Mittel liegt – und geladen, wenn er darunter liegt. Höhere Werte (z.B. 1,2) machen die Entladeentscheidung konservativer: nur deutlich überdurchschnittliche Stunden werden genutzt.

Geeignet für: Biogasanlagen, einfache Szenarien, wenn Preisvolatilität das einzige Kriterium ist.

dynamic_discharge – Dynamische Entladestrategie

Standardstrategie für solbatsys und community.

Erstellt täglich um 13:00 Uhr ein Preisranking für die nächsten 24 Stunden. Jeder Stunde des Tages wird ein Entladefaktor df ∈ [−1, 1] zugewiesen:

  • df = −1: günstigste Stunde des Tages (Laden bevorzugt)
  • df = +1: teuerste Stunde des Tages (Entladen bevorzugt)
Laden:     df < 0   und SOC unterhalb Grenze
Entladen:  df > 0,7 und SOC oberhalb Grenze → Sättigungskurve
Export:    preis ≥ 0 und control_exflow > 1

Die Entlademenge wird durch eine konkave Sättigungskurve moduliert:

u      = (df − 0.7) / (1 − 0.7)
faktor = 1 − (1 − u)³

Dadurch wird in der teuersten Stunde die volle Leistung entladen, in knapp über der Schwelle liegenden Stunden nur ein kleiner Anteil.

ParameterStandardBedeutung
limit_soc_threshold0,05SOC-Sicherheitsmarge um min/max-Grenzen
control_exflow30/1 = kein Export; ≥ 2 = Export bei preis ≥ 0

Geeignet für: Solarparks, Quartiersspeicher, Szenarien mit stark tagesperiodischen Preisprofilen.

day_ahead – Tag-zuvor-Strategie

Realitätsnahe Simulation des EPEX-Spot-Marktbetriebs.

Die EPEX-Spot-Börse veröffentlicht Day-Ahead-Preise täglich um ca. 13:00 Uhr für alle 24 Stunden des Folgetags. Die Strategie simuliert genau diese Informationsgrenze:

  • Vor 13:00: Nur die Preise des heutigen Tages sind bekannt
  • Ab 13:00: Zusätzlich alle 24 Stunden des Folgetags verfügbar

Aus dem bekannten Preisfenster wird ein Mittelwert berechnet, und jede Stunde bekommt eine Aktion zugewiesen:

Entladen:  preis ≥ discharge_threshold × fenster_mittel
Laden:     preis ≤ charge_threshold    × fenster_mittel
Idle:      sonst

Die Entlademenge wird ebenfalls durch eine konkave Kurve moduliert, abhängig davon, wie weit der Preis über dem Entlade-Schwellwert liegt.

ParameterStandardBedeutung
discharge_threshold1,2Preis muss 120 % des Fenstermittels überschreiten
charge_threshold0,8Preis muss unter 80 % des Fenstermittels liegen
control_exflow3Exportsteuerung (wie dynamic_discharge)
Vorteil gegenüber price_threshold / dynamic_discharge: Diese Strategie arbeitet ohne Blick in die Zukunft – sie spiegelt wider, was ein realer Speicherbetreiber an der Börse tun könnte. Ergebnisse sind dadurch konservativer und praxisnäher.

Geeignet für: Alle Szenarien, wenn eine realistische Abschätzung des erreichbaren Erlöses gefragt ist.

autarky – Autarkiestrategie

Standardstrategie für homebatsys (Heimspeicher).

Maximiert die Eigenversorgung eines Haushalts aus Photovoltaik ohne Kenntnis von Spotpreisen. Entscheidungsbaum pro Zeitschritt:

Überschuss  = Solar − Verbrauch
Defizit     = Verbrauch − Solar

Entladen:   Defizit > 0  und  SOC > min_soc   → Defizit decken
Laden:      Überschuss > 0 und  SOC < max_soc  → Überschuss speichern
Einspeisen: Überschuss > 0 und  Batterie voll  → physischer Überschuss
Idle:       sonst
ParameterStandardBedeutung
min_soc0,05Minimaler SOC (5 % Puffer)
max_soc0,95Maximaler SOC
efficiency_discharge0,96Entlade-Wirkungsgrad
Hinweis: Die Autarky-Strategie verwendet keine Spotpreise. Stattdessen arbeitet sie rein physisch: Überschuss aus Erneuerbaren wird gespeichert, Versorgungsdefizit wird aus dem Speicher gedeckt. Sie funktioniert für alle Szenarien mit der Vorzeichenkonvention demand > 0 – also homebatsys und community. Für biobatsys und solbatsys (demand < 0) ist sie nicht geeignet.

Geeignet für: Haushaltsspeicher, Quartiersspeicher, PV-Eigenstromnutzung, Autarkieoptimierung mit Fixstromtarif.

Wann welche Strategie?

Strategie Szenario Stärke Schwäche
price_threshold biobatsys Einfach, robust Kein Blick auf Tagesverlauf
dynamic_discharge solbatsys, community Optimales Tagesranking Kennt Tagespreise im Voraus (leicht optimistisch)
day_ahead biobatsys, solbatsys, community Realistische Informationsgrenze Etwas geringerer Erlös als dynamic_discharge
autarky homebatsys, community Rein physisch, kein Spotpreis nötig Nur für Fixpreis-Szenarien sinnvoll (demand > 0)

Spotpreis-Strategien (biobatsys, solbatsys, community):

biobatsys   -s price_threshold     # Standard
biobatsys   -s dynamic_discharge
biobatsys   -s day_ahead           # realistisch

solbatsys   -s dynamic_discharge   # Standard
solbatsys   -s day_ahead

community   -s dynamic_discharge   # Standard
community   -s day_ahead

Autarky-Strategie (homebatsys, community):

homebatsys  -d 2024-home.csv -s autarky   # Standard (einzige Option)

community   -s autarky                    # Fixpreis-Autarkie statt Spotmarkt