diff --git a/docs/devices/heating.mdx b/docs/devices/heating.mdx index d3513a641..10e26b5b1 100644 --- a/docs/devices/heating.mdx +++ b/docs/devices/heating.mdx @@ -150,6 +150,16 @@ chargers: Optional kannst du auch die aktuelle Temperatur (`temp`), das Geräte-interne Temperaturlimit (`limittemp`), Leistung (`power`) und Energie (`energy`) [via Plugin](./plugins) hinzufügen. Diese dienen lediglich zur Anzeige und werden bei Wärmepumpen nicht für die Steuerung verwendet. +### Statusanzeige + +Da Wärmepumpen ihren eigenen Heizbetrieb unabhängig von evcc steuern, zeigt die Oberfläche zwei Zustände: + +- **Normalbetrieb** – kein Eingriff, die Wärmepumpe folgt ihrer eigenen Regelung. +- **Boost aktiv** – Empfehlung zur Leistungserhöhung. Solange die Wärmepumpe noch nicht reagiert hat (z. B. wegen Mindestlaufzeiten oder Sperrzeiten), wird "Boost angefordert…" angezeigt. + +Bei vorkonfigurierten Wärmepumpen-Typen und passenden Templates sind die nötigen [Feature-Flags](./plugins#charger-feature-combinations) bereits gesetzt. +Bei eigenen Konfigurationen über `type: custom` solltest du die passende Kombination aus `integrateddevice`, `heating`, `continuous` und ggf. `switchdevice` setzen. + ## Heizstäbe Normale Heizstäbe können von evcc nur an- oder abgeschaltet werden. Dazu werden diese in der Regel über eine [schaltbare Steckdose](./smartswitches) angeschlossen. diff --git a/docs/devices/plugins.mdx b/docs/devices/plugins.mdx index 5216fd65b..029184cd2 100644 --- a/docs/devices/plugins.mdx +++ b/docs/devices/plugins.mdx @@ -215,27 +215,43 @@ Zusätzlich zu den Plugin-Attributen können folgende Konfigurationsoptionen dir Über das `features` Array können spezielle Eigenschaften des Chargers aktiviert werden: -| Feature | Beschreibung | -| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -| heating | Behandelt das Gerät als Heizung (z. B. Wärmepumpe, Heizstab). Beeinflusst die Darstellung in der Benutzeroberfläche. | -| integrateddevice | Gerät ohne Ladesitzungen und ohne angeschlossenes Fahrzeug (z. B. Smartes Schalter, fest installierte Verbraucher). | -| coarsecurrent | Ladestrom kann nur in 1 A Schritten eingestellt werden (wird in der Regelung berücksichtigt). | -| welcomecharge | Aktiviert Welcome Charge Funktion. Ladegerät liefert beim Anschließen kurz Strom, damit das Fahrzeug erkennt, dass der Charger funktioniert. | +| Feature | Beschreibung | +| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| integrateddevice | Gerät ohne angeschlossenes Fahrzeug und ohne Ladesitzungen (z. B. Wärmepumpe, Heizstab, fest installierter Verbraucher). Keine Fahrzeugauswahl. | +| heating | Behandelt das Gerät als Heizung: SOC und Limits werden in °C statt in % dargestellt. | +| continuous | Gerät läuft im "deaktivierten" Zustand eigenständig in seinem Normalbetrieb weiter. Statt "Standby" wird "Normalbetrieb" angezeigt. Eine Empfehlung zur Leistungserhöhung (z. B. bei PV-Überschuss oder günstigem Strom) wird als "Boost" gekennzeichnet. | +| switchdevice | Gerät kann nur ein- und ausgeschaltet werden (keine stufenlose Stromregelung). Min/Max-Strom-Einstellungen und der `Min+PV`-Modus werden ausgeblendet. | -**Beispiel mit Features**: +##### Häufige Kombinationen {#charger-feature-combinations} + +Folgende Kombinationen kannst du als Vorlage für eigene `type: custom` Konfigurationen nutzen. +Sie entsprechen den vorkonfigurierten Templates in evcc. + +**Heizstab**: ```yaml -chargers: - - name: heizstab - type: custom - features: - - heating - - integrateddevice - icon: heater - status: - source: mqtt - topic: heater/status - # ... weitere Attribute +features: + - integrateddevice + - heating +``` + +**Steckdose**: + +```yaml +features: + - switchdevice + - integrateddevice # optional, wenn die Steckdose einen festen Verbraucher schaltet + - heating # optional, wenn ein Heizgerät geschaltet wird +``` + +**Wärmepumpe**: + +```yaml +features: + - integrateddevice + - heating + - continuous + - switchdevice # optional, wenn keine Stromregelung vorhanden (SG Ready) ``` **Beispiel** @@ -246,6 +262,8 @@ Dieses Beispiel zeigt, wie man über das Modbus-Plugin den Ladestatus (ladend/ni chargers: - name: icharge type: custom + features: + - integrateddevice enabled: source: modbus id: 4711 @@ -303,11 +321,20 @@ Fahrzeugparameter können ebenfalls über Plugins ausgelesen werden. Folgende Konfigurationsoptionen können direkt am Fahrzeug gesetzt werden: -| Attribut | Typ | Erfordert | Beschreibung | -| -------- | ------ | --------- | --------------------------------------------------- | -| title | string | nein | Anzeigename des Fahrzeugs in der Benutzeroberfläche | -| icon | string | nein | Icon für die Darstellung in der Benutzeroberfläche | -| capacity | float | nein | Batteriekapazität in kWh | +| Attribut | Typ | Erfordert | Beschreibung | +| -------- | -------- | --------- | ---------------------------------------------------------------- | +| title | string | nein | Anzeigename des Fahrzeugs in der Benutzeroberfläche | +| icon | string | nein | Icon für die Darstellung in der Benutzeroberfläche | +| capacity | float | nein | Batteriekapazität in kWh | +| features | []string | nein | Feature-Flags für spezielle Fahrzeug-Eigenschaften (siehe unten) | + +##### Feature-Flags {#vehicle-features} + +| Feature | Beschreibung | +| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| coarsecurrent | Fahrzeug akzeptiert den Ladestrom nur in ganzen 1 A Schritten. Die Regelung wird auf grobe 1 A-Stufen beschränkt, auch wenn die Wallbox feiner regeln könnte. | +| streaming | Fahrzeug liefert Daten per Push statt per Polling (z. B. BMW Cardata). SOC-Updates außerhalb aktiver Ladevorgänge werden als zuverlässig behandelt. | +| welcomecharge | Fahrzeug erwartet beim Anschließen eine aktive Wallbox, um die Verbindung als funktionierend zu erkennen. Andernfalls meldet das Fahrzeug einen Fehler. | **Beispiel** @@ -319,6 +346,8 @@ vehicles: type: custom title: Grüner Mazda capacity: 50 + features: + - coarsecurrent range: source: mqtt topic: mazda2mqtt/c53/chargeInfo/drivingRangeKm @@ -367,7 +396,23 @@ Verfügbare Modi sind: `off`, `now`, `minpv`, `pv`. ### Tarife & Vorhersagen -Siehe [Tarife & Vorhersagen > Eigenes Plugin](../tariffs#plugin) für mehr Details. +Siehe [Tarife & Vorhersagen > Eigenes Plugin](../tariffs#plugin) für die vollständige Konfiguration. + +#### Feature-Flags {#tariff-features} + +| Feature | Beschreibung | +| --------- | --------------------------------------------------------------------------------------------------------------------------- | +| average | Glättet feingranulare Preisstufen (z. B. 15-Minuten-Werte) zu Stundenmittelwerten. | +| cacheable | Speichert abgerufene Werte persistent. Bei Neustart oder Ausfall des Anbieters dienen sie als Fallback (bis zu 24 Stunden). | + +```yaml +tariffs: + grid: + type: custom + features: + - cacheable + # ... weitere Attribute +``` ### Lastmanagement diff --git a/docs/reference/configuration/chargers.mdx b/docs/reference/configuration/chargers.mdx index 6f1ef3b3a..2387eac2c 100644 --- a/docs/reference/configuration/chargers.mdx +++ b/docs/reference/configuration/chargers.mdx @@ -79,3 +79,38 @@ features: ``` --- + +### `continuous` + +Markiert ein Gerät, das im deaktivierten Zustand eigenständig in seinem Normalbetrieb weiterläuft. +Statt "Standby" wird der Status "Normalbetrieb" angezeigt. +Eine Empfehlung zur Leistungserhöhung (z. B. bei PV-Überschuss oder günstigem Strom) wird als "Boost" gekennzeichnet. + +Setze dieses Feature, wenn dein Gerät auch ohne aktive Ansteuerung in seinem Regelbetrieb weiterläuft. +Typischer Anwendungsfall sind Wärmepumpen, hier wird das Feature in den vorkonfigurierten Typen und passenden Templates bereits gesetzt. + +**Beispiel**: + +```yaml +features: + - continuous +``` + +--- + +### `switchdevice` + +Markiert ein Gerät, das nur ein- und ausgeschaltet werden kann und keine stufenlose Stromregelung unterstützt (z. B. schaltende Wärmepumpen, schaltbare Steckdosen). +In der Oberfläche werden dadurch die Min/Max-Strom-Einstellungen und der `Min+PV`-Modus am Ladepunkt ausgeblendet. + +Bei passenden Templates und vorkonfigurierten Typen ist dieses Feature bereits gesetzt. +Bei eigenen Konfigurationen über `type: custom` ohne stufenlose Stromregelung solltest du dieses Feature setzen. + +**Beispiel**: + +```yaml +features: + - switchdevice +``` + +--- diff --git a/docs/reference/configuration/tariffs.md b/docs/reference/configuration/tariffs.md index 20f414106..656ede052 100644 --- a/docs/reference/configuration/tariffs.md +++ b/docs/reference/configuration/tariffs.md @@ -39,3 +39,23 @@ tariffs: ``` Mehr Beispiele und eine Übersicht der verfügbaren Anbieter findest du unter [Stromtarife](/docs/tariffs). + +## Feature-Flags {#features} + +Bei eigenen Tarifen vom Typ `custom` kannst du über `features` das Verhalten beeinflussen: + +| Feature | Beschreibung | +| --------- | --------------------------------------------------------------------------------------------------------------------------- | +| average | Glättet feingranulare Preisstufen (z. B. 15-Minuten-Werte) zu Stundenmittelwerten. | +| cacheable | Speichert abgerufene Werte persistent. Bei Neustart oder Ausfall des Anbieters dienen sie als Fallback (bis zu 24 Stunden). | + +**Beispiel**: + +```yaml +tariffs: + grid: + type: custom + features: + - cacheable + # ... weitere Attribute +``` diff --git a/i18n/en/docusaurus-plugin-content-docs/current/devices/heating.mdx b/i18n/en/docusaurus-plugin-content-docs/current/devices/heating.mdx index b1c270421..043198f6f 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/devices/heating.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/devices/heating.mdx @@ -148,6 +148,16 @@ chargers: You can optionally add the current temperature (`temp`), device-internal temperature limit (`limittemp`), power (`power`) and energy (`energy`) [via Plugin](./plugins). These are only used for display and are not used for controlling heat pumps. +### Status display + +Since heat pumps run their own heating logic independent of evcc, the UI shows two states: + +- **Normal operation** – no intervention, the heat pump follows its own control. +- **Boost active** – a request to increase power. While the heat pump has not yet responded (e.g. due to minimum runtimes or blocking periods), the status shows "Boost requested…". + +Preconfigured heat pump types and matching templates already set the required [feature flags](./plugins#charger-feature-combinations). +For custom configurations via `type: custom`, set the matching combination of `integrateddevice`, `heating`, `continuous` and optionally `switchdevice`. + ## Electric water heaters evcc forwards the currently available power to the device. diff --git a/i18n/en/docusaurus-plugin-content-docs/current/devices/plugins.mdx b/i18n/en/docusaurus-plugin-content-docs/current/devices/plugins.mdx index fd973ad1e..412186733 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/devices/plugins.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/devices/plugins.mdx @@ -215,27 +215,43 @@ In addition to plugin attributes, the following configuration options can be set The `features` array can be used to activate special charger properties: -| Feature | Description | -| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -| heating | Treat device as heating (e.g. heat pump, heating rod). Affects display in the user interface. | -| integrateddevice | Device without charging sessions and without connected vehicle (e.g. smart switch, permanently installed consumers). | -| coarsecurrent | Charging current can only be set in 1 A steps (considered in the control logic). | -| welcomecharge | Enable Welcome Charge function. Charger briefly supplies power when connecting, so the vehicle recognises that the charger is working. | +| Feature | Description | +| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| integrateddevice | No vehicle selection. Device runs without a connected vehicle and without charging sessions (e.g. heat pump, heating rod, permanently installed consumer). | +| heating | Treat device as heating: SOC and limits are displayed in °C instead of %. | +| continuous | Device keeps running in its own normal operation when "disabled". The UI shows "Normal operation" instead of "Standby". A request to increase power (e.g. on PV surplus or cheap grid power) is labelled "Boost". | +| switchdevice | Device can only be switched on/off (no continuous current control). Min/max current settings and the `Min+PV` mode are hidden. | -**Example with Features**: +##### Common Combinations {#charger-feature-combinations} + +You can use the following combinations as a starting point for your own `type: custom` configurations. +They mirror the preconfigured templates in evcc. + +**Electric heater**: ```yaml -chargers: - - name: heating-rod - type: custom - features: - - heating - - integrateddevice - icon: heater - status: - source: mqtt - topic: heater/status - # ... additional attributes +features: + - integrateddevice + - heating +``` + +**Socket**: + +```yaml +features: + - switchdevice + - integrateddevice # optional, when the socket drives a fixed load + - heating # optional, when it controls a heating device +``` + +**Heat pump**: + +```yaml +features: + - integrateddevice + - heating + - continuous + - switchdevice # optional, when no current control is available (SG Ready) ``` **Example** @@ -246,6 +262,8 @@ This example shows how to query the charging status (charging/not charging) of a chargers: - name: icharge type: custom + features: + - integrateddevice enabled: source: modbus id: 4711 @@ -303,11 +321,20 @@ Vehicle parameters can also be read via plugins. The following configuration options can be set directly on the vehicle: -| Attribute | Type | Required | Description | -| --------- | ------ | -------- | ------------------------------------------------- | -| title | string | no | Display name of the vehicle in the user interface | -| icon | string | no | Icon for display in the user interface | -| capacity | float | no | Battery capacity in kWh | +| Attribute | Type | Required | Description | +| --------- | -------- | -------- | -------------------------------------------------------- | +| title | string | no | Display name of the vehicle in the user interface | +| icon | string | no | Icon for display in the user interface | +| capacity | float | no | Battery capacity in kWh | +| features | []string | no | Feature flags for special vehicle properties (see below) | + +##### Feature Flags {#vehicle-features} + +| Feature | Description | +| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| coarsecurrent | Vehicle accepts charging current only in whole 1 A steps. The control logic is constrained to coarse 1 A steps even when the charger could regulate more finely. | +| streaming | Vehicle pushes data instead of being polled (e.g. BMW Cardata). SOC updates outside active charging are treated as reliable. | +| welcomecharge | Vehicle expects the wallbox to be active on connect to register the link as working. Otherwise it reports an error. | **Example** @@ -319,6 +346,8 @@ vehicles: type: custom title: Green Mazda capacity: 50 + features: + - coarsecurrent range: source: mqtt topic: mazda2mqtt/c53/chargeInfo/drivingRangeKm @@ -367,7 +396,23 @@ Available modes are: `off`, `now`, `minpv`, `pv`. ### Tariffs & Forecasts -See [Tariffs & Forecasts > Custom Plugin](../tariffs#plugin) for more details. +See [Tariffs & Forecasts > Custom Plugin](../tariffs#plugin) for the full configuration. + +#### Feature Flags {#tariff-features} + +| Feature | Description | +| --------- | ---------------------------------------------------------------------------------------------- | +| average | Smooths fine-grained price slots (e.g. 15-minute values) into hourly averages. | +| cacheable | Persists fetched values. Used as fallback after a restart or provider outage (up to 24 hours). | + +```yaml +tariffs: + grid: + type: custom + features: + - cacheable + # ... additional attributes +``` ### Load Management diff --git a/i18n/en/docusaurus-plugin-content-docs/current/reference/configuration/chargers.mdx b/i18n/en/docusaurus-plugin-content-docs/current/reference/configuration/chargers.mdx index 73f3dc8db..341e4a811 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/reference/configuration/chargers.mdx +++ b/i18n/en/docusaurus-plugin-content-docs/current/reference/configuration/chargers.mdx @@ -79,3 +79,38 @@ features: ``` --- + +### `continuous` + +Marks a device that keeps running in its own normal operation when "disabled". +The UI shows "Normal operation" instead of "Standby". +A request to increase power (e.g. on PV surplus or cheap grid power) is labelled "Boost". + +Set this feature when your device keeps running in its regular mode without active control. +The typical use case is a heat pump; preconfigured heat pump types and matching templates already set the feature. + +**Example**: + +```yaml +features: + - continuous +``` + +--- + +### `switchdevice` + +Marks a device that can only be switched on/off and does not support continuous current control (e.g. on/off heat pumps, switch sockets). +The UI hides the min/max current settings and the `Min+PV` mode for this loadpoint. + +Matching templates and preconfigured types already set this feature. +For custom configurations via `type: custom` without continuous current control, set this feature. + +**Example**: + +```yaml +features: + - switchdevice +``` + +--- diff --git a/i18n/en/docusaurus-plugin-content-docs/current/reference/configuration/tariffs.md b/i18n/en/docusaurus-plugin-content-docs/current/reference/configuration/tariffs.md index 50b8a7ed7..0baad50a3 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/reference/configuration/tariffs.md +++ b/i18n/en/docusaurus-plugin-content-docs/current/reference/configuration/tariffs.md @@ -37,3 +37,23 @@ tariffs: ``` More examples and a list of available providers can be found in the section [Tariffs](/docs/tariffs). + +## Feature Flags {#features} + +For custom tariffs (`type: custom`) you can influence behaviour via `features`: + +| Feature | Description | +| --------- | ---------------------------------------------------------------------------------------------- | +| average | Smooths fine-grained price slots (e.g. 15-minute values) into hourly averages. | +| cacheable | Persists fetched values. Used as fallback after a restart or provider outage (up to 24 hours). | + +**Example**: + +```yaml +tariffs: + grid: + type: custom + features: + - cacheable + # ... additional attributes +```