Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add circuits #567

Merged
merged 4 commits into from
Jun 18, 2024
Merged
Changes from 2 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
119 changes: 119 additions & 0 deletions docs/features/loadmanagement.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
---
sidebar_position: 9
---

# Lastmanagement

:::warning Experimentell
Lastmanagement befindet sich gerade noch in der Erprobungsphase.
:::

Lastmanagement ermöglicht es, die Leistung von Ladestationen zu steuern, um die Gesamtlast zu begrenzen.
Hierfür können Ladepunkte in Gruppen zusammengefasst werden.
Für jede Gruppe (`circuit`) kann eine maximale Stromstärke (`maxCurrent`) und/oder Leistung (`maxPower`) konfiguriert werden.
Das System arbeitet hierarchisch, d.h. Gruppen können Teil einer übergeordneten Gruppe sein.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Es muss genau eine übergeordnete Gruppe geben. Diese beschreibt den Netzanschluss.

Copy link
Member

@andig andig Jun 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Zu prüfen: @premultiply bzgl. evcc-io/evcc#14180 (comment)

Der übergeordneten Gruppe können keine Ladepunkte zugeordnet werden.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Der übergeordneten Gruppe können keine Ladepunkte zugeordnet werden.

Das heißt Gruppen (ich bleib mal bei dem Wort) können entweder Untergruppen haben oder(!) Ladepunkte aber niemals beides?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doch.
Immer an das Leitungsnetz denken.
Ein Circuit definiert quasi was über die Zuleitung einer Verteilung angeschlossen ist.

Bei der Hauptverteilung ist es die Leitung zum Netzbetreiber, bei einer Unterverteilung die Leitung zur Hauptverteilung (site-Circuit) oder einer andere übergeordneten Unterverteilung.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, ich habe jetzt dem Beispiel "Beispiel: Verschachtelte Gruppen" noch mal eine Wärmepumpe am main hinzugefügt um das zu verdeutlichen.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@premultiply unter welchen Bedingungen kann eine Ladepunkt einem Circuit zugeordnet sein im Falle root circuit oder untergeordneter Circuit? Nach meinem Verständnis immer, aber nicht dem root circuit?

Copy link
Member

@premultiply premultiply Jun 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alle Ladepunkte sind immer (automatisch) im Root-Circuit es sei denn sie sind explizit in einem Sub-Circuit. In dem Fall ersetzt der Sub-Circuit die dort befindlichen Ladepunkte im übergeordneten Circuit.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alle Ladepunkte sind immer (automatisch) im Root-Circuit es sei denn sie sind explizit in einem Sub-Circuit.

Find ich auch intuitiv aus Nutzersicht. Ich hab das im Text ergänzt.


## Konfiguration

Die Konfiguration erfolgt über die `evcc.yaml`.
Im Abschnitt `circuits` werden die Gruppen definiert.
Jeder Ladepunkt kann dann einer Gruppe zugeordnet werden.

### Beispiel: Globale Begrenzung

```yaml
circuits:
- name: main # eindeutiger Name, wird als Referenz für andere Circuits verwendet
title: Hauptsicherung # Anzeige in der UI (später)
maxCurrent: 63 # 63A (optional)
maxPower: 30000 # 30kW (optional)
meter: grid # optional

loadpoints:
- title: Garage
circuit: main
# ...
- title: Carport
circuit: main
# ...
```

Hier wird eine Gruppe `main` definiert, die eine maximale Leistung von 30kW und eine maximale Phasen-Stromstärke von 63A hat.
Die Ladepunkte **Garage** und **Carport** sind dieser Gruppe zugeordnet.
Sollte an beiden Ladepunkten gleichzeitig ein 22kW Ladevorgang angefordert werden, drosselt die Regelung die Leistung auf jeweils 15kW, um das 30kW Limit (`maxPower`) nicht zu überschreiten.


### Beispiel: Verschachtelte Gruppen

```yaml
circuits:
- name: main
title: Hauptsicherung
maxCurrent: 48
- name: garage
title: Garage
maxCurrent: 32
parent: main
- name: carport
title: Carport
maxCurrent: 32
parent: main

loadpoints:
- title: Garage A
circuit: garage
- title: Garage B
circuit: garage
- title: Garage C
circuit: garage
- title: Carport A
circuit: carport
- title: Carport B
circuit: carport
- title: Wärmepumpe
parent: main
```

Hier haben wir zwei Gruppen `garage` und `carport`, die beide der Gruppe `main` untergeordnet (`parent: main`) sind.
Die Gruppe `main` hat eine maximale Stromstärke von 48A.
Die Gruppen `garage` und `carport` haben jeweils eine maximale Stromstärke von 32A.
Die Ladepunkte **Garage A**, **Garage B** und **Garage C** sind der Gruppe `garage` zugeordnet (`circuit: garage`).
Die Ladepunkte **Carport A** und **Carport B** sind der Gruppe `carport` zugeordnet (`circuit: carport`).
Die Gruppen `garage`, `carport` und die Wärmepumpe sind direkt der Hauptsicherung (`main`) angeschlossen.
Die Regelung stellt sicher, dass zu keinem Zeitpunkt die Grenzen der Gruppen überschritten werden.

**Wichtig:** Es muss immer genau eine Gruppe (`circuit`) ohne `parent` definiert sein.

## Messwerte

Standardmäßig bildet die Steuerung die aktuelle Leistung und Stromstärke aus der Summe der jeweiligen Ladepunkte.
Über die Konfiguration eines Zählers (`meter`) am `circuit` kann hier auch die real anliegende Last berücksichtigt werden.
Dies ist insbesondere sinnvoll, wenn an der Sicherung auch noch weitere Verbraucher angeschlossen sind.

```yaml
meters:
- name: carport_meter
type: template
template: shelly-3em

circuits:
- name: carport
meter: carport_meter
maxCurrent: 32
```

## Grenzwerte

An jeder Gruppe kann sowohl eine maximale Stromstärke pro Phase (`maxCurrent`) als auch eine maximale Leistung (`maxPower`) konfiguriert werden.
Diese Werte werden, sofern konfiguriert, unabhängig voneinander überwacht.

## Einschränkungen

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

- noch keine Statusinformationen und Begrenzungshinweise in der UI
- `priority` Einstellungen am Ladepunkt werden noch nicht berücksichtigt
- Lastmanagementregelung werden noch nicht vom Planungsalgorithmus berücksichtigt