SMARD-Utils – Speicheranalyse für Erneuerbare Energien

SMARD-Utils – Dokumentation

Wichtiger Hinweis: Diese Tools werden ohne Gewähr angeboten. Keine Haftung für Richtigkeit der Ergebnisse oder Verfügbarkeit. Quellcode: github.com/fritzthekid/smard-utils

Ziel

SMARD-Utils analysiert den wirtschaftlichen Nutzen von Batteriespeichern für Erneuerbare-Energie-Anlagen. Die zentrale Frage lautet:

Wie viel Mehrerlös (€/kWh Kapazität) bringt ein Batteriespeicher bei einer gegebenen erneuerbaren Energiequelle?

Dazu werden historische Erzeugungsdaten von SMARD.de (Bundesnetzagentur) mit stündlichen EPEX-Spotpreisen kombiniert. Verschiedene Ladestrategien werden für eine Reihe von Speichergrößen simuliert und verglichen.

Vier Szenarien

  1. Biogasanlage (biobatsys) – Konstante Einspeisung einer BHKW-Anlage auf dem Spotmarkt. Berechnet zusätzlich die EEG-Flexibilisierungsprämie.
  2. Solarpark (solbatsys) – Großer PV-Park mit Speicher. Optimiert den Exportzeitpunkt, um Einnahmen aus der Spotmarktvermarktung zu maximieren.
  3. Quartier/Community – Wohnquartier mit Solar + Wind und realem Verbrauch. Bewertet Autarkierate und Kosteneinsparungen gegenüber einem Fixpreis- oder Spotpreis-Einkauf.
  4. Heimspeicher (homebatsys) – Haushaltsbatteriespeicher mit PV-Anlage. Maximiert Eigenversorgung (Autarkie) ohne Spotpreisdaten – nur fester Haushaltsstrompreis erforderlich.

Datenquellen

SMARD.de – Erzeugungsdaten

Die Erzeugungsdaten (Wind Onshore/Offshore, Solar, Biomasse, Wasserkraft, Netzlast) stammen von der API der Bundesnetzagentur: smard.de. Die Daten liegen im 15-Minuten- oder Stundentakt vor und werden als CSV-Dateien (Semikolon-getrennt, deutsches Dezimalformat) heruntergeladen.

Der Downloader smard_utils/smard_downloader_quaterly.py lädt die Daten in 14-Tage-Paketen herunter und legt sie unter quarterly/smard_data_{region}/ ab.

Netztransparenz.de – Spotpreise

Stündliche EPEX-Spotpreise (Day-Ahead-Auktion) werden von netztransparenz.de bezogen. Das Skript smard_utils/utils/prepare_hourly_prices.py konvertiert die Rohdaten in das Format costs/{jahr}-hour-price.csv (Spalten: time, price in ct/kWh).

Installation

  1. Repository klonen:
    git clone https://github.com/fritzthekid/smard-utils.git
    cd smard-utils
  2. Virtuelle Umgebung erstellen und aktivieren:
    python3 -m venv .venv
    source .venv/bin/activate   # Linux / macOS
    .venv\Scripts\activate      # Windows
  3. Paket installieren:
    pip install -e .
  4. Tests ausführen (optional):
    pytest

Datenvorbereitung

Die Tools erwarten zwei Arten von Eingabedaten:

DateiInhaltStandardpfad
SMARD-CSV Erzeugung & Netzlast (15 min / 1 h) quarterly/smard_data_de/smard_2024_complete.csv
Preisdaten Stündliche Spotpreise in ct/kWh costs/2024-hour-price.csv

Für Luxemburg wird smard_data_lu als Regionscode verwendet. Eigene Dateipfade können mit -d übergeben werden.

CLI-Befehle

Nach der Installation stehen fünf Kommandozeilenwerkzeuge bereit:

BefehlSzenarioStandard-StrategieStandard-Region
biobatsysBiogasanlage + Spotmarktprice_thresholdde
solbatsysSolarpark + Spotmarktdynamic_dischargede
communityQuartier (Solar + Wind + Verbrauch)dynamic_dischargelu
homebatsysHeimspeicher (PV + Autarkie)autarky
senec2smardformatSENEC-Daten in SMARD-Format konvertieren

Gemeinsame Optionen

OptionBeschreibung
-s, --strategyBMS-Strategie: price_threshold, dynamic_discharge, day_ahead, autarky (nur homebatsys)
-r, --regionRegion: de (Deutschland), lu (Luxemburg)
-d, --dataPfad zur SMARD-CSV-Datei (überschreibt Automatik)
-y, --yearJahr der Preisdaten (Standard: aus Dateiname)
-h, --helpHilfe anzeigen

Schnellstart-Beispiele

# Biogasanlage, Tag-zuvor-Strategie, Luxemburg
biobatsys -s day_ahead -r lu

# Solarpark, Deutschland, eigene Datei
solbatsys -d pfad/zu/smard_daten.csv

# Quartier, Tag-zuvor-Strategie
community -s day_ahead

# Heimspeicher, eigene Haushaltsdaten
homebatsys -d 2024-home.csv --fix-price 0.32 --feed-in 0.082

# Alle Strategien für Biogasanlage vergleichen
biobatsys -s price_threshold
biobatsys -s dynamic_discharge
biobatsys -s day_ahead

Lizenz

Dieses Projekt steht unter der BSD-Lizenz.