Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
252 changes: 252 additions & 0 deletions docs/features/14a-enwg-steuve.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,252 @@
---
sidebar_position: 10
---

# § 14a EnWG & SteuVE

:::info Aktuelle Entwicklung
Die Umsetzung von § 14a EnWG befindet sich noch im Aufbau.
Steuerboxen und Smart Meter Gateways werden aktuell ausgerollt.
:::

evcc unterstützt die externe Steuerung von Ladepunkten durch Netzbetreiber gemäß § 14a EnWG.
Dies ermöglicht reduzierte Netzentgelte bei gleichzeitiger Sicherstellung der Netzstabilität.

## Hintergrund

Der § 14a des Energiewirtschaftsgesetzes (EnWG) regelt die netzdienliche Steuerung von steuerbaren Verbrauchseinrichtungen (SteuVE).
Netzbetreiber können bei Netzüberlastung die Leistung großer Verbraucher wie Wallboxen, Wärmepumpen oder Batteriespeicher temporär reduzieren.
Als Gegenleistung erhalten Kunden reduzierte Netzentgelte.

Wichtige Punkte:
- Betrifft Verbraucher ab 4,2 kW Leistung
- Steuerung erfolgt über Smart Meter Gateway und Steuerbox
- Kunden profitieren von reduzierten Netzentgelten

evcc unterstützt zwei Wege für die Anbindung: **Relais** (analog über einen Schaltkontakt) oder **EEBus** (digital über das EEBus-Protokoll).

## Lastmanagement einrichten

Für die § 14a EnWG Steuerung muss das [Lastmanagement](./loadmanagement) konfiguriert sein.
Dabei wird ein spezieller `lpc` (Local Power Control) Stromkreis angelegt, dem alle steuerbaren Verbraucher zugeordnet werden.
Bei aktivem Reduzierungssignal setzt evcc automatisch ein temporäres Leistungslimit für diesen Stromkreis.

### Minimale Konfiguration

```yaml
circuits:
- name: lpc # Local Power Control - Stromkreis für Netzanforderungen

loadpoints:
- title: Garage
charger: charger1
circuit: lpc # steuerbarer Verbraucher
- title: Carport
charger: charger2
circuit: lpc # steuerbarer Verbraucher
```

Alle Ladepunkte, die dem `lpc` Stromkreis oder einem Unterstromkreis zugeordnet sind, werden bei einer Regelanforderung entsprechend reduziert.

Für erweiterte Konfigurationen mit Unterstromkreisen siehe [Lastmanagement](./loadmanagement).

:::info Höchste Ebene
Der `lpc` Stromkreis hat immer die höchste Ebene.
Definierst du ihn nicht manuell (wie oben), wird er bei konfiguriertem HEMS automatisch erstellt und über dem höchsten Stromkreis eingefügt.
:::

:::tip Konfigurationsoberfläche
Lastmanagement und HEMS können auch über die Konfigurationsoberfläche eingerichtet werden.
Wichtig: Konfiguriere zuerst das Lastmanagement, bevor du HEMS einrichtest.
:::

## Konfiguration via Relais (Analog)

Die analoge Anbindung über einen Schaltkontakt ist die einfachste Lösung.
Die Steuerbox aktiviert einen Kontakt, der von evcc ausgewertet wird.

### Grundkonfiguration

```yaml
hems:
type: relay
maxPower: 8400 # Gesamtleistungslimit bei aktivem Signal (in Watt)
limit:
# Plugin-spezifische Konfiguration
```

### Ermittlung des Leistungslimits

Das Leistungslimit wird dir vom Netzbetreiber mitgeteilt.
Bei mehreren steuerbaren Verbrauchseinrichtungen (SteuVE) wird der Gleichzeitigkeitsfaktor berücksichtigt.
Du kannst das Limit auch selbst berechnen mit der Formel: **Gesamtlimit = Anzahl SteuVE × 4,2 kW × Gleichzeitigkeitsfaktor**. Details zur Berechnung findest du [hier](https://www.inexogy.com/blog/14a-enwg/).

### Beispiele für verschiedene Anbindungen

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

<Tabs>
<TabItem value="gpio" label="Raspberry Pi GPIO">

Bei Verwendung eines Raspberry Pi kann der GPIO-Pin direkt ausgelesen werden:

```yaml
hems:
type: relay
maxPower: 8400 # Beispiel für 2 SteuVE
limit:
source: script
cmd: gpioget gpiochip0 17 # GPIO Pin 17 auslesen
# Rückgabewert: 0 = nicht begrenzt, 1 = begrenzt
```

</TabItem>
<TabItem value="mqtt" label="MQTT">

Wenn die Steuerbox oder ein Gateway MQTT-Nachrichten sendet:

```yaml
hems:
type: relay
maxPower: 11340 # Beispiel für 3 SteuVE mit Gleichzeitigkeitsfaktor 0,9
limit:
source: mqtt
topic: hems/limit/status
# Erwartete Werte: 0/false = normal, 1/true = begrenzt
```

</TabItem>
<TabItem value="http" label="HTTP-API">

Für Steuerboxen mit REST-API:

```yaml
hems:
type: relay
maxPower: 13440 # Beispiel für 4 SteuVE mit Gleichzeitigkeitsfaktor 0,8
limit:
source: http
uri: http://steuerbox.local/api/limit
jq: .limited # JSON-Pfad zum Boolean-Wert
```

</TabItem>
</Tabs>

## Konfiguration via EEBus (Digital)

Die digitale Anbindung über EEBus ist die zukunftssichere und bevorzugte Lösung.
Die Steuerbox kommuniziert über das EEBus-Protokoll direkt mit evcc und übermittelt das Leistungslimit automatisch.

### Voraussetzungen

- evcc-Installation mit EEBus-Unterstützung
- Steuerbox mit EEBus-Schnittstelle
- Netzwerkverbindung zwischen evcc und Steuerbox

### Schritt 1: Zertifikate generieren

EEBus benötigt Zertifikate für die sichere Kommunikation. Diese müssen einmalig erstellt werden.
Führe folgenden Befehl in der Konsole aus:

```bash
evcc eebus-cert
```

Dieser Befehl erstellt die benötigten Zertifikate und zeigt die Konfiguration an, die in die `evcc.yaml` eingefügt werden muss.

### Schritt 2: EEBus-Grundkonfiguration

Füge die EEBus-Konfiguration zur `evcc.yaml` hinzu:

```yaml
# EEBus-Grundkonfiguration
eebus:
certificate:
public: |
-----BEGIN CERTIFICATE-----
# Hier den öffentlichen Schlüssel einfügen
-----END CERTIFICATE-----
private: |
-----BEGIN EC PRIVATE KEY-----
# Hier den privaten Schlüssel einfügen
-----END EC PRIVATE KEY-----
# Optional: Netzwerk-Interface festlegen (empfohlen)
interfaces:
- eth0 # oder das entsprechende Interface
# Optional: Eigene SKI definieren
shipid: EVCC-1234567890abcdef
```

### Schritt 3: HEMS-Konfiguration

Konfiguriere die HEMS-Schnittstelle für § 14a EnWG:

```yaml
hems:
type: eebus
ski: "1234-5678-90AB-CDEF" # SKI der Steuerbox
# Die SKI findest du in der Dokumentation deiner Steuerbox
```

:::note Hinweis
Bei EEBus wird das Leistungslimit automatisch von der Steuerbox übermittelt.
:::

### Schritt 4: SKI ermitteln und Pairing

#### SKI von evcc ermitteln

Nach dem Start von evcc wird die eigene SKI in den Logs angezeigt:

```bash
evcc --log debug | grep -i ski
```

#### Pairing durchführen

1. **In der Steuerbox**: evcc als HEMS hinzufügen
- Die SKI von evcc eingeben
- IP-Adresse von evcc angeben
- Pairing-Vorgang starten

2. **In evcc**: HEMS-Konfiguration mit SKI der Steuerbox ergänzen
- SKI der Steuerbox in der HEMS-Konfiguration eintragen
- evcc neu starten

3. **Verbindung prüfen**:
```bash
# Trace-Logging für EEBus aktivieren
evcc -l trace eebus
```

:::tip Wichtig
- Die Zertifikate müssen nur einmal generiert werden
- Nach erfolgreichem Pairing darf die Konfiguration nicht mehr geändert werden
:::

## Funktionsweise

### Normalbetrieb

Im Normalbetrieb lädt evcc ohne Leistungsbegrenzung durch das HEMS.
Die Ladepunkte arbeiten mit ihrer normalen Konfiguration und werden ggf. durch weitere [Lastmanagement](./loadmanagement)-Einschränkungen koordiniert.

### Reduzierungssignal aktiv

Wenn der Netzbetreiber ein Reduzierungssignal sendet:

1. **Relais**: Der Kontakt wird geschlossen, evcc aktiviert das konfigurierte `maxPower` Limit
2. **EEBus**: Die Steuerbox übermittelt das berechnete Gesamtlimit digital

evcc regelt alle dem `lpc` Stromkreis zugeordneten Ladepunkte entsprechend dem Limit herunter.
Bei zu hohem Gesamtverbrauch können Ladevorgänge auch gestoppt werden.
Die Regelung betrifft alle Modi (PV, Min+PV, Schnell).

Wenn ein Regellimit aktiv ist, wird ein **Banner mit Regelhinweis** auf der Hauptseite in evcc angezeigt.

## Weiterführende Informationen

- [Lastmanagement](./loadmanagement) - Grundlagen der Lastverteilung
- [Plugins](../devices/plugins) - Erweiterte Plugin-Konfigurationen
2 changes: 1 addition & 1 deletion docs/features/app.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 10
sidebar_position: 9
---

# iOS & Android App
Expand Down
13 changes: 9 additions & 4 deletions docs/features/loadmanagement.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 9
sidebar_position: 11
---

# Lastmanagement
Expand Down Expand Up @@ -135,13 +135,18 @@ circuits:
topic: ext/maxpower
```

:::info Hinweis
Für die Umsetzung von Regelanweisungen durch den Netzbetreiber kann der HEMS-Mechanismus verwendet werden.
Weitere Informationen findest du unter [§ 14a EnWG & SteuVE](./14a-enwg-steuve).
:::

## Einschränkungen

:::info
Für die kommerzielle Nutzung von Lastmanagement wird später eine separate Lizenz erforderlich sein.
Private Nutzung mit kleineren Installationen wird kostenlos bleiben.
:::

- noch keine Statusinformationen und Begrenzungshinweise in der UI
- `priority` Einstellungen am Ladepunkt werden noch nicht berücksichtigt
- Lastmanagement wird nicht durch die Ladeplanung berücksichtigt
- Die aktuellen Werte und Grenzen der einzelnen Schaltkreise werden auf der Konfigurationsseite im UI angezeigt. Die Visualisierung am Ladepunkt ist in Planung.
- `priority` Einstellungen am Ladepunkt werden noch nicht berücksichtigt.
- Lastmanagement wird nicht durch die Ladeplanung berücksichtigt.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 9
sidebar_position: 11
---

# Load Management
Expand Down Expand Up @@ -133,6 +133,11 @@ circuits:
topic: ext/maxpower
```

:::info Note
The HEMS mechanism can be used to implement control requests from the grid operator.
For more information, see [§ 14a EnWG & SteuVE](./14a-enwg-steuve).
:::

## Restrictions

:::info
Expand All @@ -141,6 +146,6 @@ Private use with smaller installations will remain free of charge.
:::


- No status information and boundary notices in the UI yet.
- Current values and limits of individual circuits are displayed on the configuration page in the UI. Visualization at the charging point is planned.
- `priority` settings at the charging point are not yet taken into account.
- Charging planning currently ignores Load Management, so reduced charging speeds due to load limits could lead to missing the charge target.