From 155c0d90b2c01a4a62cbf43b7731abc2c8bee068 Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Tue, 3 Feb 2026 23:41:42 +0100 Subject: [PATCH 1/2] =?UTF-8?q?Document=20External=20Control=20(=C2=A714a/?= =?UTF-8?q?=C2=A79)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/features/battery.mdx | 2 +- ...a-enwg-steuve.mdx => external-control.mdx} | 217 ++++++++--------- docs/features/loadmanagement.mdx | 4 +- .../current/features/battery.mdx | 4 +- ...a-enwg-steuve.mdx => external-control.mdx} | 219 ++++++++---------- .../current/features/loadmanagement.mdx | 4 +- 6 files changed, 212 insertions(+), 238 deletions(-) rename docs/features/{14a-enwg-steuve.mdx => external-control.mdx} (50%) rename i18n/en/docusaurus-plugin-content-docs/current/features/{14a-enwg-steuve.mdx => external-control.mdx} (50%) diff --git a/docs/features/battery.mdx b/docs/features/battery.mdx index e5f99d8f0..747b6be8b 100644 --- a/docs/features/battery.mdx +++ b/docs/features/battery.mdx @@ -154,7 +154,7 @@ Hier kannst du ein Limit anlegen. Unterschreitet der aktuelle Strompreis dieses Limit, wird die Hausbatterie für diese Zeit aus dem Netz geladen. :::info §14a EnWG -Bei aktivem [§14a Reduzierungssignal](./14a-enwg-steuve) wird das Netzladen automatisch pausiert und die Entladung der Batterie gesperrt ("Hold"-Modus). +Bei aktivem [Reduzierungssignal durch externe Steuerung](./external-control) wird das Netzladen automatisch pausiert und die Entladung der Batterie gesperrt ("Hold"-Modus). Das Laden der Batterie bei PV-Überschuss ist idR. weiterhin möglich. Nach Ende der Leistungsreduzierung wird das Netzladen automatisch fortgesetzt. ::: diff --git a/docs/features/14a-enwg-steuve.mdx b/docs/features/external-control.mdx similarity index 50% rename from docs/features/14a-enwg-steuve.mdx rename to docs/features/external-control.mdx index 384ac4f71..d8afcf5c4 100644 --- a/docs/features/14a-enwg-steuve.mdx +++ b/docs/features/external-control.mdx @@ -1,57 +1,77 @@ --- sidebar_position: 10 +title: Externe Steuerung (§14a, §9) --- -# § 14a EnWG & SteuVE +# Externe Steuerung (§14a EnWG & §9 EEG) -:::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 und anderen Verbrauchern durch Netzbetreiber oder übergeordnete Energiemanagementsysteme. +Folgende Anwendungsfälle werden abgedeckt: -evcc unterstützt die externe Steuerung von Ladepunkten durch Netzbetreiber gemäß § 14a EnWG. -Dies ermöglicht reduzierte Netzentgelte bei gleichzeitiger Sicherstellung der Netzstabilität. +- **§14a EnWG**: Temporäre Leistungsreduzierung und Dimmung von Verbrauchern durch den Netzbetreiber +- **§9 EEG**: Abregelung von PV-Anlagen bei Netzüberlastung +- **EMS-Integration**: Umsetzung von Limits anderer Energiemanagementsysteme ## Hintergrund -Der § 14a des Energiewirtschaftsgesetzes (EnWG) regelt die netzdienliche Steuerung von steuerbaren Verbrauchseinrichtungen (SteuVE). +### Steuerbare Verbrauchseinrichtungen (§14a EnWG) + +§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). +### Einspeisemanagement (§9 EEG) -## Einrichtung +:::warning In Entwicklung +Der Mechanismus ist implementiert. +Die Integration und Dokumentation unterstützter Wechselrichter ist in Arbeit. +::: -Die § 14a EnWG Steuerung nutzt das [Lastmanagement](./loadmanagement) von evcc. -Beim Einrichten von HEMS wird automatisch ein interner `lpc` (Local Power Control) Steuerstromkreis angelegt, dem alle Ladepunkte und sonstigen Verbraucher zugeordnet werden. -Bei aktivem Reduzierungssignal setzt evcc ein temporäres Leistungslimit für diesen Stromkreis. +Nach §9 des Erneuerbare-Energien-Gesetzes (EEG) können Netzbetreiber bei drohender Netzüberlastung die Einspeisung von Erneuerbare-Energien-Anlagen abregeln. +Dies betrifft hauptsächlich größere PV-Anlagen, kann aber auch im privaten Bereich relevant werden. -Eine separate Lastmanagement-Konfiguration ist nicht erforderlich. -Falls du bereits Lastmanagement nutzt, wird der `lpc` Steuerstromkreis als oberste Ebene über deine bestehenden Stromkreise gesetzt. +### Anbindungsmöglichkeiten -:::tip -HEMS kann auch über die Konfigurationsoberfläche eingerichtet werden. -::: +Die Anbindung erfolgt über **Relais** (über einen Schaltkontakt) oder **EEBus** (über das EEBus-Protokoll). + +## Vorbereitung + +Die externe Steuerung nutzt das [Lastmanagement](./loadmanagement). +Lastmanagement muss konfiguriert sein (mindestens minimale Konfiguration). + +**1. Lastmanagement konfigurieren** + +In der Benutzeroberfläche unter **Konfiguration > Lastmanagement** muss folgender Eintrag angelegt werden: -## Konfiguration via Relais (Analog) +```yaml title="Lastmanagement (Minimale Konfiguration)" +- name: lpc +``` + +Hinweis: Falls bereits Lastmanagement mit bestehenden Stromkreisen genutzt wird, wird `lpc` automatisch als oberste Ebene darüber gesetzt. + +**2. Ladepunkte zuordnen** + +Alle Ladepunkte und Wärmepumpen, die durch die externe Steuerung geregelt werden sollen, müssen im jeweiligen Konfigurationsdialog diesem Stromkreis zugeordnet werden. -Die analoge Anbindung über einen Schaltkontakt ist die einfachste Lösung. +Jetzt kann die Einrichtung der externen Steuerung erfolgen. +Extern gesetzte Limits sind in der Lastmanagement-Statusübersicht dargestellt (`lpc` Stromkreis). + +## Konfiguration via Relais + +Die 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 +```yaml title="External Control" +type: relay +maxPower: 8400 # Gesamtleistungslimit bei aktivem Signal (in Watt) +limit: + # Plugin-spezifische Konfiguration ``` ### Ermittlung des Leistungslimits @@ -70,14 +90,13 @@ import TabItem from "@theme/TabItem"; 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 +```yaml title="External Control" +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 ``` @@ -85,14 +104,13 @@ hems: 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 +```yaml title="External Control" +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 ``` @@ -100,88 +118,50 @@ hems: 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 +```yaml title="External Control" +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 ``` -## Konfiguration via EEBus (Digital) +## Konfiguration via EEBus 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 ist vorkonfiguriert. +SHIP-ID und SKI der evcc Instanz können unter **Konfiguration > EEBus** eingesehen werden. -EEBus benötigt Zertifikate für die sichere Kommunikation. Diese müssen einmalig erstellt werden. -Führe folgenden Befehl in der Konsole aus: +### Steuerbox verbinden -```bash -evcc eebus-cert -``` +Konfiguriere die Verbindung zur Steuerbox. +Die SKI findest du in der Dokumentation deiner Steuerbox: -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 +```yaml title="External Control" +type: eebus +ski: "1234-5678-90AB-CDEF" # SKI der Steuerbox ``` :::note Hinweis Bei EEBus wird das Leistungslimit automatisch von der Steuerbox übermittelt. ::: -### Schritt 4: SKI ermitteln und Pairing +### 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 -``` +Die SKI kann unter **Konfiguration > EEBus** eingesehen werden. #### Pairing durchführen @@ -190,27 +170,15 @@ evcc --log debug | grep -i ski - 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 +2. **In evcc**: Konfiguration mit SKI der Steuerbox ergänzen + - SKI der Steuerbox in der 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. +Im Normalbetrieb lädt evcc ohne externe Leistungsbegrenzung. Die Ladepunkte arbeiten mit ihrer normalen Konfiguration und werden ggf. durch weitere [Lastmanagement](./loadmanagement)-Einschränkungen koordiniert. ### Reduzierungssignal aktiv @@ -232,6 +200,25 @@ Nach Ende der Leistungsreduzierung wird das Netzladen automatisch fortgesetzt. Wenn ein Regellimit aktiv ist, wird ein **Banner mit Regelhinweis** auf der Hauptseite in evcc angezeigt. +## Protokollierung + +Alle Limitierungsanfragen durch den Netzbetreiber werden automatisch dokumentiert. +Die Protokolldaten können unter **Konfiguration > Externe Steuerung** als CSV-Datei heruntergeladen werden. + +Jeder Eintrag enthält: + +- Start- und Endzeitpunkt der Limitierung +- Art der Steuerung (Verbrauchsreduzierung oder Einspeisebegrenzung) +- Gemessene Netzleistung zu Beginn der Limitierung +- Gesetztes Leistungslimit + +Diese Dokumentation kann auf Anfrage dem Netzbetreiber vorgelegt werden, um die Einhaltung der Steueranfragen nachzuweisen. + +:::info Verantwortung (§14a, §9) +Die Elektrofachkraft muss nach der Einrichtung überprüfen, dass die externe Steuerung wie vorgesehen funktioniert. +Der Anlagenbetreiber ist für den ordnungsgemäßen Betrieb verantwortlich und muss das Protokoll für mindestens 2 Jahre aufbewahren. +::: + ## Steuerung weiterer Verbraucher Neben Ladepunkten können auch weitere steuerbare Verbraucher in das §14a Lastmanagement einbezogen werden. diff --git a/docs/features/loadmanagement.mdx b/docs/features/loadmanagement.mdx index 127cdb255..8d6361679 100644 --- a/docs/features/loadmanagement.mdx +++ b/docs/features/loadmanagement.mdx @@ -136,8 +136,8 @@ circuits: ``` :::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). +Für die Umsetzung von Regelanweisungen durch den Netzbetreiber kann die externe Steuerung verwendet werden. +Weitere Informationen findest du unter [Externe Steuerung](./external-control). ::: ## Phasenumschaltung diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/battery.mdx b/i18n/en/docusaurus-plugin-content-docs/current/features/battery.mdx index f8d2c10a0..67999a2f5 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/features/battery.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/features/battery.mdx @@ -152,8 +152,8 @@ If your inverter supports this function, the "Grid charging" tab appears in the You can set a limit here. If the current electricity price falls below this limit, the home battery will be charged from the grid for this time. -:::info §14a EnWG -During active [§14a power reduction](./14a-enwg-steuve), grid charging is automatically paused and battery discharge is locked ("hold" mode). +:::info German regulation §14a EnWG +During active [power reduction from external control](./external-control), grid charging is automatically paused and battery discharge is locked ("hold" mode). Charging the battery from solar surplus is usually still possible. After the power reduction ends, grid charging automatically resumes. ::: diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/14a-enwg-steuve.mdx b/i18n/en/docusaurus-plugin-content-docs/current/features/external-control.mdx similarity index 50% rename from i18n/en/docusaurus-plugin-content-docs/current/features/14a-enwg-steuve.mdx rename to i18n/en/docusaurus-plugin-content-docs/current/features/external-control.mdx index 75aaa5a36..327eea1ec 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/features/14a-enwg-steuve.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/features/external-control.mdx @@ -1,57 +1,77 @@ --- sidebar_position: 10 +title: External Control (§14a, §9) --- -# § 14a EnWG & SteuVE +# External Control (§14a EnWG & §9 EEG) -:::info Current Development -The implementation of § 14a EnWG is still being rolled out. -Control boxes and Smart Meter Gateways are currently being deployed. -::: +evcc supports external control of charging points and other consumers by grid operators or higher-level energy management systems. +The following use cases are supported: -evcc supports external control of charging points by grid operators in accordance with § 14a EnWG. -This enables reduced grid fees whilst ensuring grid stability. +- **§14a EnWG** (German regulation): Temporary power reduction and dimming of consumers by the grid operator +- **§9 EEG** (German regulation): Curtailment of solar installations in case of grid overload +- **EMS Integration**: Applying limits from other energy management systems ## Background -§ 14a of the German Energy Industry Act (EnWG) regulates grid-friendly control of controllable consumption devices (SteuVE). +### Controllable Consumption Devices (§14a EnWG) + +§14a of the German Energy Industry Act (EnWG) regulates grid-friendly control of controllable consumption devices (SteuVE). Grid operators can temporarily reduce the power of large consumers such as wallboxes, heat pumps or battery storage systems in the event of grid overload. -In return, customers receive reduced grid fees. Important points: - Affects consumers from 4.2 kW power - Control via Smart Meter Gateway and control box -- Customers benefit from reduced grid fees -evcc supports two connection methods: **Relay** (analogue via a switch contact) or **EEBus** (digital via the EEBus protocol). +### Feed-in Management (§9 EEG) -## Setup +:::warning Under development +The mechanism is implemented. +Integration and documentation of supported inverters is work in progress. +::: -§ 14a EnWG control uses evcc's [Load Management](./loadmanagement). -When setting up HEMS, an internal `lpc` (Local Power Control) control circuit is automatically created, to which all charging points and other consumers are assigned. -When a reduction signal is active, evcc sets a temporary power limit for this circuit. +According to §9 of the Renewable Energy Act (EEG), grid operators can curtail the feed-in of renewable energy installations in the event of imminent grid overload. +This mainly affects larger solar installations, but can also become relevant in the residential sector. -No separate load management configuration is required. -If you already use load management, the `lpc` control circuit will be placed as the highest level above your existing circuits. +### Connection Options -:::tip -HEMS can also be set up via the configuration interface. -::: +Connection is established via **Relay** (via a switch contact) or **EEBus** (via the EEBus protocol). + +## Preparation + +External control uses [Load Management](./loadmanagement). +Load management must be configured (at least minimal configuration). + +**1. Configure load management** + +In the user interface under **Configuration > Load Management**, the following entry must be created: -## Configuration via Relay (Analogue) +```yaml title="Load Management (Minimal Configuration)" +- name: lpc +``` + +Note: If load management with existing circuits is already in use, `lpc` will automatically be placed as the top level above them. + +**2. Assign charging points** + +All charging points and heat pumps that should be controlled by external control must be assigned to this circuit in their respective configuration dialog. -The analogue connection via a switch contact is the simplest solution. +Now external control can be configured. +Externally set limits are displayed in the load management status overview (`lpc` circuit). + +## Configuration via Relay + +The connection via a switch contact is the simplest solution. The control box activates a contact which is evaluated by evcc. ### Basic Configuration -```yaml -hems: - type: relay - maxPower: 8400 # Total power limit when signal is active (in watts) - limit: - # Plugin-specific configuration +```yaml title="External Control" +type: relay +maxPower: 8400 # Total power limit when signal is active (in watts) +limit: + # Plugin-specific configuration ``` ### Determining the Power Limit @@ -70,14 +90,13 @@ import TabItem from "@theme/TabItem"; When using a Raspberry Pi, the GPIO pin can be read directly: -```yaml -hems: - type: relay - maxPower: 8400 # Example for 2 SteuVE - limit: - source: script - cmd: gpioget gpiochip0 17 # Read GPIO pin 17 - # Return value: 0 = not limited, 1 = limited +```yaml title="External Control" +type: relay +maxPower: 8400 # Example for 2 SteuVE +limit: + source: script + cmd: gpioget gpiochip0 17 # Read GPIO pin 17 + # Return value: 0 = not limited, 1 = limited ``` @@ -85,14 +104,13 @@ hems: If the control box or gateway sends MQTT messages: -```yaml -hems: - type: relay - maxPower: 11340 # Example for 3 SteuVE with simultaneity factor 0.9 - limit: - source: mqtt - topic: hems/limit/status - # Expected values: 0/false = normal, 1/true = limited +```yaml title="External Control" +type: relay +maxPower: 11340 # Example for 3 SteuVE with simultaneity factor 0.9 +limit: + source: mqtt + topic: hems/limit/status + # Expected values: 0/false = normal, 1/true = limited ``` @@ -100,88 +118,50 @@ hems: For control boxes with REST API: -```yaml -hems: - type: relay - maxPower: 13440 # Example for 4 SteuVE with simultaneity factor 0.8 - limit: - source: http - uri: http://steuerbox.local/api/limit - jq: .limited # JSON path to boolean value +```yaml title="External Control" +type: relay +maxPower: 13440 # Example for 4 SteuVE with simultaneity factor 0.8 +limit: + source: http + uri: http://steuerbox.local/api/limit + jq: .limited # JSON path to boolean value ``` -## Configuration via EEBus (Digital) +## Configuration via EEBus The digital connection via EEBus is the future-proof and preferred solution. The control box communicates directly with evcc via the EEBus protocol and automatically transmits the power limit. ### Prerequisites -- evcc installation with EEBus support - Control box with EEBus interface - Network connection between evcc and control box -### Step 1: Generate Certificates +EEBus is preconfigured. +The evcc instance's SHIP-ID and SKI can be viewed under **Configuration > EEBus**. -EEBus requires certificates for secure communication. These must be created once. -Run the following command in the console: +### Connect Control Box -```bash -evcc eebus-cert -``` +Configure the connection to the control box. +You can find the SKI in your control box documentation: -This command creates the required certificates and displays the configuration that must be inserted into `evcc.yaml`. - -### Step 2: Basic EEBus Configuration - -Add the EEBus configuration to `evcc.yaml`: - -```yaml -# Basic EEBus configuration -eebus: - certificate: - public: | - -----BEGIN CERTIFICATE----- - # Insert public key here - -----END CERTIFICATE----- - private: | - -----BEGIN EC PRIVATE KEY----- - # Insert private key here - -----END EC PRIVATE KEY----- - # Optional: Specify network interface (recommended) - interfaces: - - eth0 # or the appropriate interface - # Optional: Define your own SKI - shipid: EVCC-1234567890abcdef -``` - -### Step 3: HEMS Configuration - -Configure the HEMS interface for § 14a EnWG: - -```yaml -hems: - type: eebus - ski: "1234-5678-90AB-CDEF" # SKI of the control box - # You can find the SKI in your control box documentation +```yaml title="External Control" +type: eebus +ski: "1234-5678-90AB-CDEF" # SKI of the control box ``` :::note Note With EEBus, the power limit is automatically transmitted by the control box. ::: -### Step 4: Determine SKI and Pairing +### Pairing #### Determine evcc SKI -After starting evcc, your own SKI is displayed in the logs: - -```bash -evcc --log debug | grep -i ski -``` +The SKI can be viewed under **Configuration > EEBus**. #### Perform Pairing @@ -190,27 +170,15 @@ evcc --log debug | grep -i ski - Specify the IP address of evcc - Start the pairing process -2. **In evcc**: Add the control box SKI to the HEMS configuration - - Enter the control box SKI in the HEMS configuration +2. **In evcc**: Add the control box SKI to the configuration + - Enter the control box SKI in the configuration - Restart evcc -3. **Check connection**: - ```bash - # Activate trace logging for EEBus - evcc -l trace eebus - ``` - -:::tip Important - -- Certificates only need to be generated once -- After successful pairing, the configuration must not be changed - ::: - ## How It Works ### Normal Operation -In normal operation, evcc charges without power limitation by the HEMS. +In normal operation, evcc charges without external power limitation. The charging points operate with their normal configuration and are coordinated by additional [Load Management](./loadmanagement) restrictions if applicable. ### Reduction Signal Active @@ -232,9 +200,28 @@ After the power reduction ends, grid charging automatically resumes. When a control limit is active, a **banner with control notice** is displayed on the main page in evcc. +## Logging + +All limitation requests from the grid operator are automatically documented. +The log data can be downloaded as a CSV file under **Configuration > External Control**. + +Each entry contains: + +- Start and end time of the limitation +- Type of control (consumption reduction or feed-in curtailment) +- Measured grid power at the start of the limitation +- Set power limit + +This documentation can be provided to the grid operator upon request to verify compliance with control requests. + +:::info Responsibility (German regulations §14a, §9) +The qualified electrician must verify after installation that the external control is working as expected. +The system operator is responsible for proper operation and must keep the log for at least 2 years. +::: + ## Controlling Additional Consumers -In addition to charging points, other controllable consumers can also be integrated into § 14a load management. +In addition to charging points, other controllable consumers can also be integrated into German §14a load management. This applies e.g. to heat pumps or battery storage systems that are connected via EEBus or configured as meters with an additional relay output. The control takes into account the current power consumption of all consumers assigned to the internal `lpc` circuit. diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/loadmanagement.mdx b/i18n/en/docusaurus-plugin-content-docs/current/features/loadmanagement.mdx index e121316dd..592fb2f22 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/features/loadmanagement.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/features/loadmanagement.mdx @@ -134,8 +134,8 @@ circuits: ``` :::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). +External control can be used to implement control requests from the grid operator. +For more information, see [External Control](./external-control). ::: ## Phase Switching From c25771ec17306a3402d4fce0fd5d1f3e7f2de71c Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Wed, 4 Feb 2026 12:34:17 +0100 Subject: [PATCH 2/2] use gpio plugin --- docs/features/external-control.mdx | 9 ++++++--- .../current/features/external-control.mdx | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/features/external-control.mdx b/docs/features/external-control.mdx index d8afcf5c4..45c5bebb5 100644 --- a/docs/features/external-control.mdx +++ b/docs/features/external-control.mdx @@ -94,11 +94,14 @@ Bei Verwendung eines Raspberry Pi kann der GPIO-Pin direkt ausgelesen werden: 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 + source: gpio + function: read + pin: 17 # GPIO Pin 17 auslesen + # Rückgabewert: false = nicht begrenzt, true = begrenzt ``` +Weitere Details zum GPIO-Plugin findest du in der [Plugin-Dokumentation](/docs/devices/plugins#gpio). + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/external-control.mdx b/i18n/en/docusaurus-plugin-content-docs/current/features/external-control.mdx index 327eea1ec..1059fce52 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/features/external-control.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/features/external-control.mdx @@ -94,11 +94,14 @@ When using a Raspberry Pi, the GPIO pin can be read directly: type: relay maxPower: 8400 # Example for 2 SteuVE limit: - source: script - cmd: gpioget gpiochip0 17 # Read GPIO pin 17 - # Return value: 0 = not limited, 1 = limited + source: gpio + function: read + pin: 17 # Read GPIO pin 17 + # Return value: false = not limited, true = limited ``` +For more details on the GPIO plugin, see the [plugin documentation](/docs/devices/plugins#gpio). +