Skip to content
Open
37 changes: 37 additions & 0 deletions src/content/docs/de/reference/configuration/loadpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,43 @@ Die Priorisierung wirkt in den Modi `pv` und `minpv`. Bei `minpv` wird die Ladun
Eine evtl. beim Fahrzeug konfigurierte Priorität ersetzt die Priorität des Loadpoints, mit dem das Fahrzeug verbunden ist.
:::

Loadpoints mit der **gleichen** Priorität können zusätzlich untereinander gereiht werden 🧪.
Die Konfiguration erfolgt in der UI unter **Konfiguration → Ladepunkte → Prioritäten**.
Der Dialog erscheint nur, wenn unter **Konfiguration → Experimentell** die experimentellen Funktionen aktiviert sind und mindestens zwei Ladepunkte konfiguriert sind.
Diese Einstellungen sind nicht in der `evcc.yaml` verfügbar; sie werden intern gespeichert und bleiben über Neustarts erhalten.

**Strategie** bestimmt, welcher gleichrangige Ladepunkt den Überschuss zuerst erhält:

- `none` – "Wer zuerst kommt" (Standard): keine Unterordnung, wer zuerst mit dem Laden beginnt, behält den Überschuss.
- `soc` – "Leerstes zuerst": das Fahrzeug mit dem niedrigsten Ladestand wird bevorzugt.
- `deficit` – "Größter Bedarf zuerst": das Fahrzeug mit dem größten Abstand zum Ladeziel (`limitSoc − soc`) wird bevorzugt.

**Basis** legt fest, wie der Abstand zwischen den Fahrzeugen gemessen wird:

- `percent` (Standard): Vergleich anhand des Ladestands in Prozent.
- `energy`: Skaliert den Prozent-Abstand mit der Fahrzeug-[`capacity`](/de/reference/configuration/vehicles#capacity), sodass Ladepunkte nach **absolutem Energiebedarf (kWh)** verglichen werden. Dies verhindert, dass ein kleiner zweiter Akku allein aufgrund seines niedrigeren Prozentsatzes bevorzugt wird, obwohl er weniger Energie benötigt als ein größerer (ein 25-kWh-Auto bei 40 % braucht weniger Energie als ein 75-kWh-Auto bei 50 %). Hat ein verglichenes Fahrzeug keine bekannte Kapazität – etwa Ladepunkte ohne Fahrzeug oder Wallboxen, die den Ladestand selbst melden – werden stattdessen alle Ladepunkte nach Prozent verglichen. evcc protokolliert diesen Rückfall und veröffentlicht die tatsächlich verwendete Basis, damit das Hysterese-Feld in der UI mit der richtigen Einheit beschriftet ist.

**Hysterese** ist eine Totband von `0` bis `99`.
Ein gleichrangiger Ladepunkt überholt einen anderen nur, wenn er um **mehr** als diesen Wert voraus ist.
Dies verhindert, dass zwei nahezu gleich geladene Fahrzeuge ständig die Plätze tauschen; stattdessen gelten sie als gleichauf und teilen sich den verfügbaren Überschuss.
Die Einheit folgt der Basis: soc-Prozentpunkte bei `percent` (Standard) und kWh bei `energy`.
Fällt die `energy`-Basis auf den Prozentvergleich zurück (siehe oben), wird auch das Totband in Prozentpunkten gelesen.
`0` (Standard) deaktiviert das Totband.
Basis und Hysterese haben bei der Strategie `none` keine Wirkung.

:::note[Heizung]
Heizungs-Ladepunkte (z. B. eine Wärmepumpe) sind von dieser Unterordnung ausgeschlossen.
Ihr soc-Wert enthält eine Temperatur, keinen Ladestand – "das Leerste zuerst" würde also unvergleichbare Größen gegenüberstellen.
Sie behalten ihre reine `priority`-Einstufung.
Gib Heizungen eine eigene `priority`, wenn sie vor oder hinter den Fahrzeugen liegen sollen; Prioritäten über verschiedene Stufen hinweg bleiben von dieser Unterordnung unberührt.
:::

Ein Ladepunkt mit unbekanntem Fahrzeug-Ladestand behält ebenfalls seine reine `priority`-Einstufung.
Ein Fahrzeug, das 0 % meldet, gilt hier als unbekannt und liegt damit gleichauf mit einem vollen Fahrzeug, statt zuerst geladen zu werden.

Die Werte können auch über die API gesetzt werden: `POST /api/prioritystrategy/{none|soc|deficit}`, `POST /api/prioritybasis/{percent|energy}` und `POST /api/priorityhysteresis/{0..99}`.
Dieselben Topics stehen per MQTT zur Verfügung (`priorityStrategy`, `priorityBasis`, `priorityHysteresis`); die aktiven Werte werden im State veröffentlicht.

**Standardwert:** `0`

**Beispiel**:
Expand Down
24 changes: 20 additions & 4 deletions src/content/docs/de/reference/configuration/site.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ site:
- myconsumer1 # regular consumer, recorded for consumption statistics
ext:
- myext1 # for data logging, load management, etc.
curtailers:
- my_curtailer # curtailment device reference
residualPower: 100
```

Expand All @@ -51,7 +53,7 @@ title: Zuhause

### `meters`

Definiert welche konfigurierten [`meter`](meters) (Strommessgeräte) als welche Art Messpunkt verwendet werden sollen.
Definiert welche konfigurierten [`meter`](/de/reference/configuration/meters) (Strommessgeräte) als welche Art Messpunkt verwendet werden sollen.
Hier erfolgt somit die logische Verknüpfung der Gerätedefiniton mit dem Verwendungszweck.
Ein zunächst universeller Zähler bekommt somit entsprechend seines Einbauortes in der Hausinstallation einen Zweck zugewiesen.

Expand All @@ -78,7 +80,7 @@ site:

### `meters.grid`

Definiert das [`meter`](meters) (Strommessgerät), welches die Messwerte des Netzanschlusspunktes liefert.
Definiert das [`meter`](/de/reference/configuration/meters) (Strommessgerät), welches die Messwerte des Netzanschlusspunktes liefert.

**Mögliche Werte**: Wert eines `name` Parameters in der [`meters`](#meters) Konfiguration.

Expand All @@ -92,7 +94,7 @@ grid: mygridmeter # grid meter reference

### `meters.pv`

Definiert die [`meter`](meters) (Strommessgeräte), welche die PV-Erzeugungswerte liefern.
Definiert die [`meter`](/de/reference/configuration/meters) (Strommessgeräte), welche die PV-Erzeugungswerte liefern.
Es können mehrere Geräte angegeben werden. Die Leistungsdaten werden automatisch addiert.

**Mögliche Werte**: Ein Wert oder eine Liste von Werten eines `name` Parameters in der [`meters`](#meters) Konfiguration. Wobei die Listenversion auch bei Einzelwerten genutzt werden kann.
Expand All @@ -115,7 +117,7 @@ pv: # (pvs = veraltet)

### `meters.battery`

Definiert die [`meter`](meters) (Strommessgeräte), welche die Messdaten des/der Batteriespeicher(s) liefern.
Definiert die [`meter`](/de/reference/configuration/meters) (Strommessgeräte), welche die Messdaten des/der Batteriespeicher(s) liefern.
Es können mehrere Geräte angegeben werden. Die Leistungsdaten werden automatisch addiert und aus den Speicherfüllständen wird ein Mittelwert gebildet.

**Mögliche Werte**: Ein Wert oder eine Liste von Werten eines `name` Parameters in der [`meters`](#meters) Konfiguration. Wobei die Listenversion auch bei Einzelwerten genutzt werden kann.
Expand Down Expand Up @@ -194,6 +196,20 @@ ext:
- myext2 # second ext meter reference
```

### `curtailers`

Einspeisebegrenzer aus der [`curtailers`](/de/reference/configuration/curtailers)-Konfiguration, die die Einspeisung auf Anforderung des Netzbetreibers begrenzen (§ 9 EEG).
Sie werden zusammen mit den abregelbaren `pv`-Zählern angesteuert, wenn die [`hems`](/de/reference/configuration/hems)-Integration ein Limit signalisiert.

**Mögliche Werte**: Eine Liste von Werten eines `name` Parameters in der [`curtailers`](/de/reference/configuration/curtailers) Konfiguration.

**Beispiel**:

```yaml
curtailers:
- my_curtailer # curtailment device reference
```

### `residualPower`

Legt den Soll-Arbeitspunkt der Überschussregelung am Netzübergang (Gridmeter) fest. Der Standardwert ist 0 (Watt).
Expand Down
37 changes: 37 additions & 0 deletions src/content/docs/en/reference/configuration/loadpoints.md
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,43 @@ This prioritisation works in `pv` and `minpv` modes. In `minpv` mode, charging i
If a vehicle has a priority defined, it overrides the priority of the loadpoint it is connected to.
:::

Loadpoints that share the **same** priority can be further sub-ordered 🧪.
This is configured in the UI under **Configuration → Loadpoints → Priorities**.
The dialog only appears when experimental features are enabled under **Configuration → Experimental** and at least two loadpoints are configured.
These settings are not available in `evcc.yaml`; they are stored internally and survive restarts.

**Strategy** decides which equal-priority loadpoint receives surplus power first:

- `none` – "First wins" (default): no sub-ordering, whoever started charging first keeps the surplus.
- `soc` – "Emptiest first": the vehicle with the lowest charge level is preferred.
- `deficit` – "Biggest need first": the vehicle furthest from its charging limit (`limitSoc − soc`) is preferred.

**Basis** determines how the gap between vehicles is measured:

- `percent` (default): compare by charge level in percent.
- `energy`: scale the percentage gap by the vehicle's [`capacity`](/en/reference/configuration/vehicles#capacity), so loadpoints are compared by **absolute energy demand (kWh)**. This avoids preferring a small second battery just because its percentage is lower, even though it needs less energy than a larger one (a 25 kWh car at 40 % needs less energy than a 75 kWh car at 50 %). When any compared vehicle has no known capacity – including loadpoints without a vehicle or chargers reporting the charge level themselves – all loadpoints are compared by percent instead. evcc logs this fallback and publishes the basis actually in use, so the UI labels the hysteresis field with the correct unit.

**Hysteresis** is a deadband from `0` to `99`.
An equal-priority loadpoint only overtakes another when it is ahead by **more** than this value.
This prevents two nearly equally charged vehicles from constantly swapping ranks; instead they tie and share the available surplus.
The unit follows the basis: soc percentage points with `percent` (default) and kWh with `energy`.
When the `energy` basis falls back to the percent comparison (see above), the deadband is read in percentage points as well.
`0` (default) disables the deadband.
Basis and hysteresis have no effect with strategy `none`.

:::note[Heating]
Heating loadpoints (e.g. a heat pump) are excluded from this sub-ordering.
Their soc value holds a temperature, not a charge level, so "emptiest first" would compare unrelated quantities.
They keep their plain `priority` ranking.
Put heaters on their own `priority` if you want them ahead of or behind your vehicles; priorities across tiers are unaffected by this sub-ordering.
:::

A loadpoint whose vehicle charge level is unknown also keeps its plain `priority` rank.
A vehicle reporting 0 % counts as unknown here, so it ties with a fully charged one instead of being charged first.

These values can also be set via the API: `POST /api/prioritystrategy/{none|soc|deficit}`, `POST /api/prioritybasis/{percent|energy}` and `POST /api/priorityhysteresis/{0..99}`.
The same topics are available via MQTT (`priorityStrategy`, `priorityBasis`, `priorityHysteresis`) and the active values are published in the state.

**Default value:** `0`

**For example**:
Expand Down
22 changes: 19 additions & 3 deletions src/content/docs/en/reference/configuration/site.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ site:
- myconsumer1 # regular consumer, recorded for consumption statistics
ext:
- myext1 # for data logging, load management, etc.
curtailers:
- my_curtailer # curtailment device reference
residualPower: 100
```

Expand Down Expand Up @@ -76,7 +78,7 @@ site:

### `meters.grid`

Defines the [`meter`](meters) (current measurement device) that provides the measurements of the grid connection point.
Defines the [`meter`](/en/reference/configuration/meters) (current measurement device) that provides the measurements of the grid connection point.

**Possible values**: Value of a `name` parameter in the [`meters`](#meters) configuration.

Expand All @@ -90,7 +92,7 @@ grid: mygridmeter # grid meter reference

### `meters.pv`

Defines [`meter`](meters) (current measurement devices), from which evcc fetches PV generation measurements.
Defines [`meter`](/en/reference/configuration/meters) (current measurement devices), from which evcc fetches PV generation measurements.
Multiple devices can be specified. Power data is automatically added.

**Possible values**: A single value or a list of values of a name parameter in the [`meters`](#meters) configuration. The list version can also be used with single values.
Expand All @@ -113,7 +115,7 @@ pv: # (pvs = deprecated)

### `meters.battery`

Defines the [`meter`](meters) (current measurement devices) that provide measurement data from the battery(ies).
Defines the [`meter`](/en/reference/configuration/meters) (current measurement devices) that provide measurement data from the battery(ies).
Multiple devices can be specified. Power data is automatically added, and an average is calculated from the battery state of charge.

**Possible values**: A single value or a list of values of a `name` parameter in the [`meters`](#meters) configuration. The list version can also be used with single values.
Expand Down Expand Up @@ -192,6 +194,20 @@ ext:
- myext2 # second ext meter reference
```

### `curtailers`

Curtailment devices from the [`curtailers`](/en/reference/configuration/curtailers) configuration that limit feed-in on request of the grid operator (§ 9 EEG).
They are applied together with the curtailable `pv` meters when the [`hems`](/en/reference/configuration/hems) integration signals a limit.

**Possible values**: A list of values of a `name` parameter in the [`curtailers`](/en/reference/configuration/curtailers) configuration.

**Example**:

```yaml
curtailers:
- my_curtailer # curtailment device reference
```

### `residualPower`

Sets the target operating point of the surplus regulation at the grid connection (grid meter). The default value is 0 W.
Expand Down