External Control (§14a EnWG & §9 EEG)
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:
- §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
Section titled “Background”Controllable Consumption Devices (§14a EnWG)
Section titled “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.
Important points:
- Affects consumers from 4.2 kW power
- Control via Smart Meter Gateway and control box
Feed-in Management (§9 EEG)
Section titled “Feed-in Management (§9 EEG)”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.
When evcc receives a curtailment signal, inverter production is reduced directly at the device. FNN control boxes can signal staged limits (60 %, 30 %, 0 %); the active limit is shown in the UI. Full production resumes once the signal clears.
Connection Options
Section titled “Connection Options”Connection is established via Relay (a single switch contact), FNN Control Box (multiple switch contacts) or EEBus (the EEBus protocol).
Configuration is done via Configuration → External Control. Active limits are shown on the External Control card and on the main page. For the consumption limit to apply to charging points, configure Load Management circuits. An active limit then caps the top-level circuit, indicated by a “Consumption limited” hint on the Load Management card.
Configuration via Relay
Section titled “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
Section titled “Basic Configuration”type: relaymaxPower: 8400 # Total power limit when signal is active (in watts)limit: # Plugin-specific configurationDetermining the Power Limit
Section titled “Determining the Power Limit”The power limit is communicated to you by the grid operator. For multiple controllable consumption devices (SteuVE), the simultaneity factor is taken into account. You can also calculate the limit yourself using the formula: Total limit = Number of SteuVE × 4.2 kW × Simultaneity factor. Details on the calculation can be found here.
Examples for Different Connections
Section titled “Examples for Different Connections”When using a Raspberry Pi, the GPIO pin can be read directly:
type: relaymaxPower: 8400 # Example for 2 SteuVElimit: source: gpio function: read pin: 17 # Read GPIO pin 17 # Return value: false = not limited, true = limitedFor more details on the GPIO plugin, see the plugin documentation.
If the control box or gateway sends MQTT messages:
type: relaymaxPower: 11340 # Example for 3 SteuVE with simultaneity factor 0.9limit: source: mqtt topic: hems/limit/status # Expected values: 0/false = normal, 1/true = limitedFor control boxes with REST API:
type: relaymaxPower: 13440 # Example for 4 SteuVE with simultaneity factor 0.8limit: source: http uri: http://steuerbox.local/api/limit jq: .limited # JSON path to boolean valueIf the control box or a gateway provides the power limit via Modbus:
type: relaymaxPower: 4200 # Example for 1 SteuVElimit: source: modbus uri: 192.168.179.200:4703 # Example: relay on the 2nd S0 meter of a cFos Power Brain solar wallbox id: 3 # Modbus slave ID timeout: 5s register: type: holding decode: uint16 address: 8056 # Return value: 0 = not limited, 1 = limitedConfiguration via FNN Control Box
Section titled “Configuration via FNN Control Box”Control boxes following the FNN standard signal dimming and curtailment via separate switch contacts. Consumption dimming (W4) and feed-in curtailment (W3, S2, S1) operate independently.
type: fnnmaxDimPower: 4200 # Consumption limit while dimmed (in watts)maxCurtailPower: 10000 # Installed PV power, base for curtailment steps (in watts)w4: source: gpio function: read pin: 17 # Read GPIO pin 17 # Return value: false = normal, true = activew3: source: gpio function: read pin: 27s2: source: gpio function: read pin: 22s1: source: gpio function: read pin: 23The signals have the following meaning:
| Signal | Effect when active |
|---|---|
w4 | Limit consumption to maxDimPower |
w3 | Curtail feed-in to 0 % of maxCurtailPower |
s2 | Curtail feed-in to 30 % of maxCurtailPower |
s1 | Curtail feed-in to 60 % of maxCurtailPower |
At least one of the signals w4 or w3 must be configured.
Each signal is read via a plugin configuration (GPIO, MQTT, HTTP, Modbus), analogous to the relay examples above.
Configuration via EEBus
Section titled “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
Section titled “Prerequisites”- Control box with EEBus interface
- Network connection between evcc and control box
EEBus is preconfigured. The evcc instance’s SHIP-ID and SKI can be viewed under Configuration → EEBus.
Connect Control Box
Section titled “Connect Control Box”Configure the connection to the control box. You can find the SKI in your control box documentation:
type: eebusski: "1234-5678-90AB-CDEF" # SKI of the control boxPairing
Section titled “Pairing”Determine evcc SKI
Section titled “Determine evcc SKI”The SKI can be viewed under Configuration → EEBus.
Perform Pairing
Section titled “Perform Pairing”-
In the control box: Add evcc as HEMS
- Enter the SKI of evcc
- Specify the IP address of evcc
- Start the pairing process
-
In evcc: Add the control box SKI to the configuration
- Enter the control box SKI in the configuration
- Restart evcc
How It Works
Section titled “How It Works”Normal Operation
Section titled “Normal Operation”In normal operation, evcc charges without external power limitation. The charging points operate with their normal configuration and are coordinated by additional Load Management restrictions if applicable.
Reduction Signal Active
Section titled “Reduction Signal Active”When the grid operator sends a reduction signal:
- Relay: The contact is closed, evcc activates the configured
maxPowerlimit - FNN Control Box: The W4 contact is closed, evcc activates the configured
maxDimPowerlimit - EEBus: The control box digitally transmits the calculated total limit
The limit caps the top-level Load Management circuit; all charging points assigned to circuits are reduced accordingly. If total consumption is too high, charging processes can also be stopped. The control affects all modes (Solar, Min+Solar, Fast).
Battery control during reduction: If active battery control is configured and grid charging of the home battery is active, this is automatically paused. The battery is set to “hold” mode so that it no longer discharges. Charging the battery from solar surplus is usually still possible. 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. Consumption limit and feed-in curtailment are shown separately.
Logging
Section titled “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.
Controlling Additional Consumers
Section titled “Controlling Additional Consumers”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 controllable consumers. This automatically includes all charging points and all meters with corresponding switching outputs or EEBus interface with LPC use case as other consumers.
First, all other consumers are dimmed. The remaining power is then distributed to the active charging points. Due to flat dimming of other consumers, the available charging power for active charging points can in exceptional cases even be higher than in normal state. If throttling the charging points including dimming all other consumers is not sufficient, charging processes at charging points are interrupted.
Further Information
Section titled “Further Information”- Load Management - Basics of load distribution
- Plugins - Advanced plugin configurations