Skip to content

Commit 77a7020

Browse files
authored
hems: refactor, add fnn (#1082)
1 parent f0411f6 commit 77a7020

6 files changed

Lines changed: 258 additions & 24 deletions

File tree

src/content/docs/de/features/external-control.mdx

Lines changed: 51 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,20 @@ Unterstützte Geräte sind in der [Geräteübersicht](/de/meters) mit "Abregelba
3333
Nach §9 des Erneuerbare-Energien-Gesetzes (EEG) können Netzbetreiber bei drohender Netzüberlastung die Einspeisung von Erneuerbare-Energien-Anlagen abregeln.
3434
Dies betrifft hauptsächlich größere PV-Anlagen, kann aber auch im privaten Bereich relevant werden.
3535

36-
Erhält evcc ein Abregelungssignal, wird die Wechselrichter-Erzeugung direkt am Gerät auf 0 W begrenzt.
37-
Die Abregelung ist aktuell ein binäres Signal (an/aus) ohne dynamischen Grenzwert.
36+
Erhält evcc ein Abregelungssignal, wird die Wechselrichter-Erzeugung direkt am Gerät reduziert.
37+
FNN-Steuerboxen können gestufte Limits signalisieren (60 %, 30 %, 0 %); das aktive Limit wird in der Oberfläche angezeigt.
3838
Nach Ende des Signals wird die volle Erzeugung wieder freigegeben.
3939

4040
### Anbindungsmöglichkeiten
4141

42-
Die Anbindung erfolgt über **Relais** (über einen Schaltkontakt) oder **EEBus** (über das EEBus-Protokoll).
42+
Die Anbindung erfolgt über **Relais** (ein einzelner Schaltkontakt), **FNN-Steuerbox** (mehrere Schaltkontakte) oder **EEBus** (das EEBus-Protokoll).
4343

4444
## Einrichtung
4545

4646
Die Einrichtung erfolgt über **Konfiguration → Externe Steuerung**.
47-
Das Umsetzen der Begrenzung erfolgt über das [Lastmanagement](./loadmanagement).
48-
Dabei wird automatisch ein "Externe Begrenzung" Stromkreis (`gridcontrol`) erstellt, der als oberste Ebene über eventuell bestehende Stromkreise gesetzt wird.
47+
Aktive Limits werden auf der Karte **Externe Steuerung** und auf der Hauptseite angezeigt.
48+
Damit das Verbrauchslimit Ladepunkte begrenzt, konfiguriere [Lastmanagement](./loadmanagement)-Stromkreise.
49+
Ein aktives Limit begrenzt dann den obersten Stromkreis, erkennbar am Hinweis "Verbrauch begrenzt" auf der Lastmanagement-Karte.
4950

5051
## Konfiguration via Relais
5152

@@ -139,6 +140,46 @@ limit:
139140
</TabItem>
140141
</Tabs>
141142

143+
## Konfiguration via FNN-Steuerbox
144+
145+
Steuerboxen nach FNN-Standard signalisieren Dimmung und Abregelung über separate Schaltkontakte.
146+
Dimmung des Verbrauchs (W4) und Abregelung der Einspeisung (W3, S2, S1) arbeiten unabhängig voneinander.
147+
148+
```yaml title="External Control"
149+
type: fnn
150+
maxDimPower: 4200 # Verbrauchslimit während Dimmung (in Watt)
151+
maxCurtailPower: 10000 # Installierte PV-Leistung, Basis für Abregelungsstufen (in Watt)
152+
w4:
153+
source: gpio
154+
function: read
155+
pin: 17 # GPIO-Pin 17 auslesen
156+
# Rückgabewert: false = normal, true = aktiv
157+
w3:
158+
source: gpio
159+
function: read
160+
pin: 27
161+
s2:
162+
source: gpio
163+
function: read
164+
pin: 22
165+
s1:
166+
source: gpio
167+
function: read
168+
pin: 23
169+
```
170+
171+
Die Signale haben folgende Bedeutung:
172+
173+
| Signal | Wirkung bei aktivem Signal |
174+
| ------ | --------------------------------------------------- |
175+
| `w4` | Verbrauch auf `maxDimPower` begrenzen |
176+
| `w3` | Einspeisung auf 0 % von `maxCurtailPower` abregeln |
177+
| `s2` | Einspeisung auf 30 % von `maxCurtailPower` abregeln |
178+
| `s1` | Einspeisung auf 60 % von `maxCurtailPower` abregeln |
179+
180+
Mindestens eines der Signale `w4` oder `w3` muss konfiguriert sein.
181+
Jedes Signal wird über eine [Plugin](/de/reference/plugins)-Konfiguration ausgelesen (GPIO, MQTT, HTTP, Modbus), analog zu den Relais-Beispielen oben.
182+
142183
## Konfiguration via EEBus
143184

144185
Die digitale Anbindung über EEBus ist die zukunftssichere und bevorzugte Lösung.
@@ -195,9 +236,10 @@ Die Ladepunkte arbeiten mit ihrer normalen Konfiguration und werden ggf. durch w
195236
Wenn der Netzbetreiber ein Reduzierungssignal sendet:
196237

197238
1. **Relais**: Der Kontakt wird geschlossen, evcc aktiviert das konfigurierte `maxPower` Limit
198-
2. **EEBus**: Die Steuerbox übermittelt das berechnete Gesamtlimit digital
239+
2. **FNN-Steuerbox**: Der W4-Kontakt wird geschlossen, evcc aktiviert das konfigurierte `maxDimPower` Limit
240+
3. **EEBus**: Die Steuerbox übermittelt das berechnete Gesamtlimit digital
199241

200-
Alle dem "Externe Begrenzung" Stromkreis (`gridcontrol`) zugeordneten Ladepunkte werden entsprechend dem Limit heruntergeregelt.
242+
Das Limit begrenzt den obersten [Lastmanagement](./loadmanagement)-Stromkreis; alle den Stromkreisen zugeordneten Ladepunkte werden entsprechend heruntergeregelt.
201243
Bei zu hohem Gesamtverbrauch können Ladevorgänge auch gestoppt werden.
202244
Die Regelung betrifft alle Modi (PV, Min+PV, Schnell).
203245

@@ -208,6 +250,7 @@ Das Laden der Batterie bei PV-Überschuss ist idR. weiterhin möglich.
208250
Nach Ende der Leistungsreduzierung wird das [Netzladen](./battery#gridcharge) automatisch fortgesetzt.
209251

210252
Wenn ein Regellimit aktiv ist, wird ein **Banner mit Regelhinweis** auf der Hauptseite in evcc angezeigt.
253+
Verbrauchslimit und Einspeisebegrenzung werden separat dargestellt.
211254

212255
## Protokollierung
213256

@@ -233,7 +276,7 @@ Der Anlagenbetreiber ist für den ordnungsgemäßen Betrieb verantwortlich und m
233276
Neben Ladepunkten können auch weitere steuerbare Verbraucher in das §14a Lastmanagement einbezogen werden.
234277
Dies betrifft z. B. Wärmepumpen oder Batteriespeicher, die über EEBus angebunden oder als Zähler mit zusätzlichem Relaisausgang konfiguriert sind.
235278

236-
Die Steuerung berücksichtigt dabei die aktuelle Leistungsaufnahme aller dem "Externe Begrenzung" Stromkreis (`gridcontrol`) zugeordneten Verbraucher.
279+
Die Steuerung berücksichtigt dabei die aktuelle Leistungsaufnahme aller steuerbaren Verbraucher.
237280
Dazu zählen automatisch alle Ladepunkte und alle Zähler mit entsprechenden Schaltausgängen oder EEBus-Schnittstelle mit LPC Use Case als sonstige Verbraucher.
238281

239282
Zunächst werden alle sonstigen Verbraucher gedimmt.

src/content/docs/de/features/loadmanagement.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ Die Regelung stellt sicher, dass zu keinem Zeitpunkt die Grenzen der jeweiligen
9595
**Wichtig:** Es muss immer genau einen Hauptstromkreis geben (einen Stromkreis ohne `parent` Eigenschaft).
9696

9797
:::note[Externe Steuerung (§14a, §9)]
98-
Wenn [externe Steuerung](./external-control) konfiguriert ist, wird automatisch ein "Externe Begrenzung" Stromkreis (`gridcontrol`) über dem bestehenden Hauptstromkreis erstellt.
99-
Dieser wird dann zum neuen obersten Stromkreis.
98+
Wenn ein Limit der [externen Steuerung](./external-control) aktiv ist, begrenzt es die Leistung des Hauptstromkreises.
99+
Dies wird durch den Hinweis "Verbrauch begrenzt" auf der Lastmanagement-Karte angezeigt.
100100
:::
101101

102102
## Messwerte

src/content/docs/de/reference/configuration/hems.md

Lines changed: 76 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ Dies wird z. B. für die Umsetzung von §14a EnWG oder §9 EEG benötigt.
99
Details zu Hintergrund und Einrichtung findest du unter [Externe Steuerung](../../features/external-control).
1010

1111
:::note[Hinweis]
12-
Wenn `hems` konfiguriert ist, wird automatisch ein "Externe Begrenzung" Stromkreis (`gridcontrol`) erstellt.
13-
Eine manuelle Konfiguration von Stromkreisen ist dafür nicht erforderlich.
12+
Abregelung und das Dimmen steuerbarer Verbraucher wirken direkt am Gerät, dafür sind keine Stromkreise erforderlich.
13+
Damit das Verbrauchslimit Ladepunkte begrenzt, konfiguriere [Lastmanagement](../../features/loadmanagement)-Stromkreise.
14+
Ein aktives Limit begrenzt dann den obersten Stromkreis.
1415
:::
1516

1617
:::note[SMA Sunny Home Manager & SEMP-Protokoll]
@@ -29,6 +30,7 @@ Definiert den Typ der externen Steuerung.
2930
**Mögliche Werte**:
3031

3132
- `relay`: Anbindung über Schaltkontakt
33+
- `fnn`: Anbindung über FNN-Steuerbox mit mehreren Schaltkontakten
3234
- `eebus`: Anbindung über das EEBus-Protokoll
3335

3436
---
@@ -72,6 +74,78 @@ Weitere Beispiele für verschiedene Anbindungen (GPIO, MQTT, HTTP) findest du un
7274

7375
---
7476

77+
## `type: fnn`
78+
79+
Anbindung über eine FNN-Steuerbox mit separaten Schaltkontakten.
80+
Dimmen des Verbrauchs (W4) und Abregelung der Einspeisung (W3, S2, S1) werden über einzelne Kontakte signalisiert.
81+
82+
```yaml
83+
hems:
84+
type: fnn
85+
maxDimPower: 4200 # Verbrauchslimit während Dimmung (in Watt)
86+
maxCurtailPower: 10000 # Installierte PV-Leistung, Basis für Abregelungsstufen (in Watt)
87+
w4:
88+
source: gpio
89+
function: read
90+
pin: 17 # GPIO-Pin 17 auslesen
91+
# Rückgabewert: false = normal, true = aktiv
92+
w3:
93+
source: gpio
94+
function: read
95+
pin: 27
96+
s2:
97+
source: gpio
98+
function: read
99+
pin: 22
100+
s1:
101+
source: gpio
102+
function: read
103+
pin: 23
104+
```
105+
106+
### Parameter
107+
108+
Mindestens eines der Signale `w4` oder `w3` muss konfiguriert sein.
109+
110+
#### `maxDimPower`
111+
112+
Verbrauchslimit in Watt, das gesetzt wird, solange das Dimm-Signal (W4) aktiv ist.
113+
Erforderlich, wenn `w4` konfiguriert ist.
114+
115+
#### `maxCurtailPower`
116+
117+
Installierte PV-Leistung in Watt.
118+
Basiswert für die Abregelungsstufen (W3, S2, S1).
119+
120+
#### `w4`
121+
122+
[Plugin](/de/reference/plugins)-Konfiguration zum Auslesen des Dimm-Signals.
123+
Bei aktivem Signal wird der Verbrauch auf `maxDimPower` begrenzt.
124+
125+
#### `w3`
126+
127+
[Plugin](/de/reference/plugins)-Konfiguration zum Auslesen des Abregelungssignals "0 %".
128+
Bei aktivem Signal wird die Einspeisung auf 0 % von `maxCurtailPower` begrenzt.
129+
130+
#### `s2`
131+
132+
[Plugin](/de/reference/plugins)-Konfiguration zum Auslesen des Abregelungssignals "30 %".
133+
Bei aktivem Signal wird die Einspeisung auf 30 % von `maxCurtailPower` begrenzt.
134+
135+
#### `s1`
136+
137+
[Plugin](/de/reference/plugins)-Konfiguration zum Auslesen des Abregelungssignals "60 %".
138+
Bei aktivem Signal wird die Einspeisung auf 60 % von `maxCurtailPower` begrenzt.
139+
140+
#### `interval`
141+
142+
Abfrageintervall für die Schaltkontakte.
143+
Standard: `10s`.
144+
145+
Details zur Einrichtung findest du unter [Externe Steuerung](../../features/external-control#konfiguration-via-fnn-steuerbox).
146+
147+
---
148+
75149
## `type: eebus`
76150

77151
Anbindung über das EEBus-Protokoll.

src/content/docs/en/features/external-control.mdx

Lines changed: 51 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,20 @@ Supported devices are marked with "Curtailable" in the [device overview](/en/met
3333
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.
3434
This mainly affects larger solar installations, but can also become relevant in the residential sector.
3535

36-
When evcc receives a curtailment signal, inverter production is limited to 0 W directly at the device.
37-
Curtailment is currently a binary signal (on/off) without a dynamic setpoint.
36+
When evcc receives a curtailment signal, inverter production is reduced directly at the device.
37+
FNN control boxes can signal staged limits (60 %, 30 %, 0 %); the active limit is shown in the UI.
3838
Full production resumes once the signal clears.
3939

4040
### Connection Options
4141

42-
Connection is established via **Relay** (via a switch contact) or **EEBus** (via the EEBus protocol).
42+
Connection is established via **Relay** (a single switch contact), **FNN Control Box** (multiple switch contacts) or **EEBus** (the EEBus protocol).
4343

4444
## Setup
4545

4646
Configuration is done via **Configuration → External Control**.
47-
Limits are enforced via [Load Management](./loadmanagement).
48-
An "External Limit" circuit (`gridcontrol`) is automatically created and placed as the top level above any existing circuits.
47+
Active limits are shown on the **External Control** card and on the main page.
48+
For the consumption limit to apply to charging points, configure [Load Management](./loadmanagement) circuits.
49+
An active limit then caps the top-level circuit, indicated by a "Consumption limited" hint on the Load Management card.
4950

5051
## Configuration via Relay
5152

@@ -139,6 +140,46 @@ limit:
139140
</TabItem>
140141
</Tabs>
141142

143+
## Configuration via FNN Control Box
144+
145+
Control boxes following the FNN standard signal dimming and curtailment via separate switch contacts.
146+
Consumption dimming (W4) and feed-in curtailment (W3, S2, S1) operate independently.
147+
148+
```yaml title="External Control"
149+
type: fnn
150+
maxDimPower: 4200 # Consumption limit while dimmed (in watts)
151+
maxCurtailPower: 10000 # Installed PV power, base for curtailment steps (in watts)
152+
w4:
153+
source: gpio
154+
function: read
155+
pin: 17 # Read GPIO pin 17
156+
# Return value: false = normal, true = active
157+
w3:
158+
source: gpio
159+
function: read
160+
pin: 27
161+
s2:
162+
source: gpio
163+
function: read
164+
pin: 22
165+
s1:
166+
source: gpio
167+
function: read
168+
pin: 23
169+
```
170+
171+
The signals have the following meaning:
172+
173+
| Signal | Effect when active |
174+
| ------ | -------------------------------------------- |
175+
| `w4` | Limit consumption to `maxDimPower` |
176+
| `w3` | Curtail feed-in to 0 % of `maxCurtailPower` |
177+
| `s2` | Curtail feed-in to 30 % of `maxCurtailPower` |
178+
| `s1` | Curtail feed-in to 60 % of `maxCurtailPower` |
179+
180+
At least one of the signals `w4` or `w3` must be configured.
181+
Each signal is read via a [plugin](/en/reference/plugins) configuration (GPIO, MQTT, HTTP, Modbus), analogous to the relay examples above.
182+
142183
## Configuration via EEBus
143184

144185
The digital connection via EEBus is the future-proof and preferred solution.
@@ -195,9 +236,10 @@ The charging points operate with their normal configuration and are coordinated
195236
When the grid operator sends a reduction signal:
196237

197238
1. **Relay**: The contact is closed, evcc activates the configured `maxPower` limit
198-
2. **EEBus**: The control box digitally transmits the calculated total limit
239+
2. **FNN Control Box**: The W4 contact is closed, evcc activates the configured `maxDimPower` limit
240+
3. **EEBus**: The control box digitally transmits the calculated total limit
199241

200-
All charging points assigned to the "External Limit" circuit (`gridcontrol`) are reduced according to the limit.
242+
The limit caps the top-level [Load Management](./loadmanagement) circuit; all charging points assigned to circuits are reduced accordingly.
201243
If total consumption is too high, charging processes can also be stopped.
202244
The control affects all modes (Solar, Min+Solar, Fast).
203245

@@ -208,6 +250,7 @@ Charging the battery from solar surplus is usually still possible.
208250
After the power reduction ends, [grid charging](./battery#gridcharge) automatically resumes.
209251

210252
When a control limit is active, a **banner with control notice** is displayed on the main page in evcc.
253+
Consumption limit and feed-in curtailment are shown separately.
211254

212255
## Logging
213256

@@ -235,7 +278,7 @@ The system operator is responsible for proper operation and must keep the log fo
235278
In addition to charging points, other controllable consumers can also be integrated into German §14a load management.
236279
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.
237280

238-
The control takes into account the current power consumption of all consumers assigned to the "External Limit" circuit (`gridcontrol`).
281+
The control takes into account the current power consumption of all controllable consumers.
239282
This automatically includes all charging points and all meters with corresponding switching outputs or EEBus interface with LPC use case as other consumers.
240283

241284
First, all other consumers are dimmed.

src/content/docs/en/features/loadmanagement.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ The regulation ensures that the limits of the respective circuits are not exceed
9494
**Important:** There must always be exactly one root circuit (a circuit without `parent` property).
9595

9696
:::note[External Control (§14a, §9)]
97-
When [external control](./external-control) is configured, an "External Limit" circuit (`gridcontrol`) is automatically created above the existing root circuit.
98-
This becomes the new top-level circuit.
97+
When an [external control](./external-control) limit is active, it caps the power of the root circuit.
98+
This is indicated by a "Consumption limited" hint on the Load Management card.
9999
:::
100100

101101
## Measuring

0 commit comments

Comments
 (0)