diff --git a/docs/features/optimizer.mdx b/docs/features/optimizer.mdx new file mode 100644 index 0000000000..6134960649 --- /dev/null +++ b/docs/features/optimizer.mdx @@ -0,0 +1,91 @@ +--- +sidebar_position: 12 +--- + +import Screenshot from "../../src/components/Screenshot"; + +# Optimizer 🧪 + +:::warning Experimentell +Der Optimizer befindet sich in einer frühen Entwicklungsphase. +Die angezeigten Daten sind aktuell rein informativ. +Steuerungsaktionen folgen in zukünftigen Versionen. +::: + +Der Optimizer analysiert Prognosen, Verbrauchsdaten und den aktuellen Zustand deines Energiesystems, um kostenoptimale Entscheidungen zu treffen. +Er ergänzt die regelbasierte Steuerung von evcc um eine vorausschauende Optimierung. + +## Warum ein Optimizer? + +evcc arbeitet regelbasiert und deterministisch. +Das funktioniert hervorragend für viele Setups. +Z. B. mit PV-Anlage, Batterie und einem Fahrzeug. + +Bei komplexeren Szenarien stößt dieser Ansatz an Grenzen: + +- **Mehrere Fahrzeuge:** Welches soll zuerst geladen werden? +- **Batterie oder Fahrzeug:** Wohin soll die verfügbare Energie fließen? +- **Dynamische Tarife:** Lohnt sich Netzladen heute Nacht oder reicht die Sonne morgen? + +Der Optimizer kann diese Fragen beantworten. +Aktuell legst du Einstellungen wie Preislimits oder Batterieprioritäten selbst fest. +Perspektivisch kannst du diese Entscheidungen dem Optimizer überlassen. +Er findet dann automatisch die optimalen Werte. +Wir arbeiten Schritt für Schritt daran. + +## Was macht der Optimizer? {#how-it-works} + +Der Optimizer sammelt verschiedene Daten: + +- **Prognosedaten:** PV-Ertrag, Strompreise, Einspeisetarife +- **Historische Daten:** typisches Verbrauchsprofil deines Haushalts +- **Aktueller Zustand:** Ladestand der Batterie, angeschlossene Fahrzeuge, Wärmebedarf + +Auf Basis dieser Daten berechnet ein Optimierungsalgorithmus das voraussichtliche Verhalten deines Energiesystems. +Er identifiziert kostenoptimale Aktionen: effiziente [Ladepläne](./plans), Batteriesteuerung (Halten, Netzladen). +Außerdem prognostiziert er, wann die Hausbatterie voll oder leer sein wird. + +Ziel: **Energiekosten minimieren.** + +## Optimizer nutzen {#setup} + +Aktivierung über die Benutzeroberfläche: + +1. **Konfiguration → Experimentell** → aktivieren +2. **Konfiguration → Optimizer 🧪** → aktivieren + +Der Optimizer erfordert ein aktives [Sponsoring](/docs/sponsorship). +Bei neuen Installationen kann es bis zu 24 Stunden dauern, bis genug Daten gesammelt wurden, um erste Ergebnisse anzuzeigen. + +- **Hauptansicht → Energiefluss (aufklappen):** Zeigt an, wann die Hausbatterie voraussichtlich voll oder leer sein wird. +- **Menü → Optimizer:** Diagramme, die zeigen, wie sich Hausbatterie und Ladepunkte in den nächsten Stunden verhalten sollen und wie viel Geld gespart werden kann (siehe Screenshot unten). + + + +## Aktueller Stand und Ausblick {#status} + +Der Optimizer ist aktuell rein informativ. +Er zeigt Prognosen und Einsparpotenziale an, greift aber noch nicht aktiv in die Steuerung ein. + +Nächste Schritte: + +- Aktionen integrieren: Hausbatterie aktiv steuern +- [Ladepläne](./plans) durch den Optimizer optimieren lassen +- Nutzern ermöglichen, spezifische Einstellungen an den Optimizer zu übergeben + +## Technischer Hintergrund {#technical} + +Der Optimizer ist Python-basiert und nutzt das starke Ökosystem für mathematische Optimierung und Statistik. +Er ist kein Teil von evcc selbst, sondern ein eigenständiger Dienst. + +Bei Aktivierung wird der Cloud-Service `optimizer.evcc.io` aufgerufen. +Der Dienst arbeitet **zustandslos**. +Es werden keine Daten gespeichert. +Details zum Datenschutz findest du in unserer [Datenschutzerklärung](https://evcc.io/datenschutz/). + +Der Optimizer ist wie evcc selbst Open Source: [github.com/evcc-io/optimizer](https://github.com/evcc-io/optimizer). +Du kannst dir das fertige Docker Image [evcc/optimizer](https://hub.docker.com/r/evcc/optimizer) auch lokal installieren. +Über die Umgebungsvariable `OPTIMIZER_URI` gibst du dann deinen eigenen Endpunkt an. diff --git a/docs/features/screenshots/optimizer-debug-dark-1x.webp b/docs/features/screenshots/optimizer-debug-dark-1x.webp new file mode 100644 index 0000000000..d049747b6b Binary files /dev/null and b/docs/features/screenshots/optimizer-debug-dark-1x.webp differ diff --git a/docs/features/screenshots/optimizer-debug-dark-2x.webp b/docs/features/screenshots/optimizer-debug-dark-2x.webp new file mode 100644 index 0000000000..0f96294149 Binary files /dev/null and b/docs/features/screenshots/optimizer-debug-dark-2x.webp differ diff --git a/docs/features/screenshots/optimizer-debug-light-1x.webp b/docs/features/screenshots/optimizer-debug-light-1x.webp new file mode 100644 index 0000000000..cd634221af Binary files /dev/null and b/docs/features/screenshots/optimizer-debug-light-1x.webp differ diff --git a/docs/features/screenshots/optimizer-debug-light-2x.webp b/docs/features/screenshots/optimizer-debug-light-2x.webp new file mode 100644 index 0000000000..553bf51e69 Binary files /dev/null and b/docs/features/screenshots/optimizer-debug-light-2x.webp differ diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/optimizer.mdx b/i18n/en/docusaurus-plugin-content-docs/current/features/optimizer.mdx new file mode 100644 index 0000000000..a6b1a8a6c7 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/features/optimizer.mdx @@ -0,0 +1,91 @@ +--- +sidebar_position: 12 +--- + +import Screenshot from "../../../../../src/components/Screenshot"; + +# Optimizer 🧪 + +:::warning Experimental +The optimizer is in an early stage of development. +The displayed data is currently informational only. +Control actions will follow in future versions. +::: + +The optimizer analyses forecasts, consumption data, and the current state of your energy system to make cost-optimal decisions. +It complements evcc's rule-based control with predictive optimisation. + +## Why an Optimizer? + +evcc works rule-based and deterministically. +This works great for many setups. +E.g. a solar system, battery, and one vehicle. + +More complex scenarios push this approach to its limits: + +- **Multiple vehicles:** Which one should be charged first? +- **Battery or vehicle:** Where should the available energy go? +- **Dynamic tariffs:** Is it worth charging from the grid tonight, or will there be enough solar energy tomorrow? + +The optimizer can answer these questions. +Currently, you set values like price limits or battery priorities yourself. +In the future, you can let the optimizer handle these decisions. +It will then automatically find the optimal values. +We're working on this step by step. + +## What Does the Optimizer Do? {#how-it-works} + +The optimizer collects various data: + +- **Forecast data:** Solar yield, electricity prices, feed-in tariffs +- **Historical data:** Your household's typical consumption profile +- **Current state:** Battery state of charge, connected vehicles, heating demand + +Based on this data, an optimisation algorithm calculates the expected behaviour of your energy system. +It identifies cost-optimal actions: efficient [charging plans](./plans), battery control (hold, grid charging). +It also predicts when the home battery will be full or empty. + +Goal: **Minimise energy costs.** + +## Using the Optimizer {#setup} + +Enable via the user interface: + +1. **Configuration → Experimental** → enable +2. **Configuration → Optimizer 🧪** → enable + +The optimizer requires an active [sponsorship](/docs/sponsorship). +For new installations, it can take up to 24 hours to collect enough data to show first results. + +- **Main view → Energy flow (expand):** Shows when the home battery is expected to be full or empty. +- **Menu → Optimizer:** Graphs showing how your home battery and charging points should behave over the coming hours and how much money can be saved (see screenshot below). + + + +## Current State & Next Steps {#status} + +The optimizer is currently informational only. +It shows forecasts and potential savings but does not yet actively control anything. + +Next steps: + +- Integrate actions: actively control the home battery +- Let the optimizer optimise [charging plans](./plans) +- Enable users to hand over specific settings to the optimizer + +## Technical Background {#technical} + +The optimizer is Python-based and leverages the strong ecosystem for mathematical optimisation and statistics. +It is not part of evcc itself but a standalone service. + +When enabled, the cloud service `optimizer.evcc.io` is called. +The service is **stateless**. +No data is stored. +For privacy details, see our [privacy policy](https://evcc.io/en/datenschutz/). + +Like evcc itself, the optimizer is open source: [github.com/evcc-io/optimizer](https://github.com/evcc-io/optimizer). +You can also install the Docker image [evcc/optimizer](https://hub.docker.com/r/evcc/optimizer) locally. +Use the `OPTIMIZER_URI` environment variable to point evcc to your own endpoint. diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-dark-1x.webp b/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-dark-1x.webp new file mode 100644 index 0000000000..d049747b6b Binary files /dev/null and b/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-dark-1x.webp differ diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-dark-2x.webp b/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-dark-2x.webp new file mode 100644 index 0000000000..0f96294149 Binary files /dev/null and b/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-dark-2x.webp differ diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-light-1x.webp b/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-light-1x.webp new file mode 100644 index 0000000000..cd634221af Binary files /dev/null and b/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-light-1x.webp differ diff --git a/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-light-2x.webp b/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-light-2x.webp new file mode 100644 index 0000000000..553bf51e69 Binary files /dev/null and b/i18n/en/docusaurus-plugin-content-docs/current/features/screenshots/optimizer-debug-light-2x.webp differ