diff --git a/docs/Home.md b/docs/Home.md index 51753efcca..f930d51e25 100644 --- a/docs/Home.md +++ b/docs/Home.md @@ -23,7 +23,7 @@ Dazu wird evcc auf einem System im lokalen Netzwerk installiert, so dass es mit - Status [Benachrichtigungen](/docs/reference/configuration/messaging) über [Telegram](https://telegram.org), [PushOver](https://pushover.net) und [viele mehr](https://containrrr.dev/shoutrrr/) - Datenanalyse mit [InfluxDB](https://www.influxdata.com) und [Grafana](https://grafana.com/grafana/) - Stufenlose Regelung der Ladeströme mit unterstützten Wallboxen (z.b. bei smartWB als [OLC](https://board.evse-wifi.de/viewtopic.php?f=16&t=187) bezeichnet) -- REST- und MQTT-[APIs](/docs/reference/api) zur Integration in andere Heimautomationssysteme (z.B. [HomeAssistant](https://github.com/evcc-io/evcc-hassio-addon)) +- [REST](/docs/integrations/rest-api)- und [MQTT](/docs/integrations/mqtt-api)-APIs zur Integration in andere Heimautomationssysteme (z.B. [HomeAssistant](/docs/integrations/home-assistant)) ## Anforderungen diff --git a/docs/faq.mdx b/docs/faq.mdx index 63e2e806ce..64eebc74df 100644 --- a/docs/faq.mdx +++ b/docs/faq.mdx @@ -1,5 +1,5 @@ --- -sidebar_position: 7 +sidebar_position: 8 toc_max_heading_level: 2 --- diff --git a/docs/integrations/_category_.json b/docs/integrations/_category_.json new file mode 100644 index 0000000000..2f6926db08 --- /dev/null +++ b/docs/integrations/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Integrationen", + "position": 6 +} \ No newline at end of file diff --git a/docs/integrations/home-assistant.md b/docs/integrations/home-assistant.md new file mode 100644 index 0000000000..7db838a43a --- /dev/null +++ b/docs/integrations/home-assistant.md @@ -0,0 +1,26 @@ +--- +sidebar_position: 3 +--- + +# Home Assistant + +## Betrieb in Home Assistant + +Mit dem community-maintainten [evcc Home Assistant Add-on](https://github.com/evcc-io/hassio-addon) kannst du evcc in einer Home Assistant Umgebung betreiben. +Damit benötigst du keine separate Hardware oder Installationsumgebung. +evcc läuft direkt in Home Assistant. + +## Integration mit ha-evcc + +Mit der [ha-evcc](https://github.com/marq24/ha-evcc) von [marq24](https://github.com/marq24) kannst du evcc Daten und Funktionen einfach in Home Assistant integrieren. +Unabhängig davon, ob du evcc in Home Assistant betreibst oder nicht. + +## Manuelle Integration + +Über die bestehenden [MQTT](/docs/integrations/mqtt-api) und [REST](/docs/integrations/rest-api) Schnittstellen kannst du evcc auch manuell in Home Assistant integrieren. + +## Weitere Ressourcen + +- [smart home & more: evcc Basisinstallation und Konfiguration](https://youtu.be/aPq8k2MronY) +- [smart home & more: Schritt für Schritt - MQTT-Sensor mit Hilfe des MQTT-Explorer einrichten](https://youtu.be/0QQ3y8fgRVA) +- [smart home & more: Effizientes Energiedashboard für Home Assistant](https://youtu.be/V3p5-16U_oU) diff --git a/docs/integrations/mqtt-api.md b/docs/integrations/mqtt-api.md new file mode 100644 index 0000000000..5d42f17b63 --- /dev/null +++ b/docs/integrations/mqtt-api.md @@ -0,0 +1,61 @@ +--- +sidebar_position: 2 +--- + +# MQTT API + +Die MQTT API folgt der [REST API](./rest-api) Struktur. +Alle API IDs (z.B. die Loadpoint ID) beginnen bei `1`. + +- `evcc`: root topic +- `evcc/status`: status (`online`/`offline`) +- `evcc/updated`: timestamp of last update + +## Site + +- `evcc/site`: site dynamic state +- `evcc/site/prioritySoc`: battery priority SoC (writable) +- `evcc/site/bufferSoc`: battery buffer SoC (writable) +- `evcc/site/bufferStartSoc`: battery buffer start SoC (writable) +- `evcc/site/residualPower`: grid residual power (writable) +- `evcc/site/smartCostLimit`: smart charging cost limit (previously known as "cheap" tariff) (writable) +- `evcc/site/batteryDischargeControl`: enable/disable battery discharge control (true/false) (writable) + +## Vehicles + +**Note**: for vehicle names see `evcc/vehicles`. + +- `evcc/vehicles`: number of vehicles +- `evcc/vehicles//minSoc`: minimum soc in % (writable) +- `evcc/vehicles//limitSoc`: limit soc in % (writable) +- `evcc/vehicles//planSoc`: plan soc (writable using JSON payload: `{"value": 50, "time": "2023-03-05T07:00:00Z"}`) + +## Loadpoints + +- `evcc/loadpoints`: number of available loadpoints +- `evcc/loadpoints/`: dynamic state +- `evcc/loadpoints//mode`: charge mode (writable) +- `evcc/loadpoints//minSoc`: minimum SoC (writable) +- `evcc/loadpoints//limitSoc`: limit SoC in % (writable) - only applicable for online vehicles +- `evcc/loadpoints//limitEnergy`: limit energy in kWh (writable) - only applicable for offline vehicles +- `evcc/loadpoints//plan/energy`: plan energy (writable using JSON payload: `{"value": 50, "time": "2023-03-05T07:00:00Z"}`) +- `evcc/loadpoints//phases`: enabled phases (writable) +- `evcc/loadpoints//minCurrent`: current minCurrent value (writable) +- `evcc/loadpoints//maxCurrent`: current maxCurrent value (writable) +- `evcc/loadpoints//enableThreshold`: threshold value (writable) +- `evcc/loadpoints//disableThreshold`: threshold value (writable) + +:::note +Um schreibbare Einstellungen durchzuführen, muss ein `/set` am Ende des Topics hinzugefügt werden an welches der neue Wert gesendet wird. +Beispiel: `mosquitto_pub -t "evcc/loadpoints/1/phases/set" -m "3"` um die Anzahl der netzseitigen Phasen am 1. Ladepunkt auf `3` festzulegen. +::: + +:::info +\*\* Zeitangabe efolgt in UTC im Format `yyyy-mm-ddThh:mm:ssZ` + +Beispiele: + +`2023-03-05T07:00:00Z` = 5. März 2023 um 8:00 Uhr MEZ + +`2023-08-17T19:30:00Z` = 17. August 2023 um 21:30 Uhr MESZ +::: diff --git a/docs/integrations/rest-api.md b/docs/integrations/rest-api.md new file mode 100644 index 0000000000..43caddebcf --- /dev/null +++ b/docs/integrations/rest-api.md @@ -0,0 +1,56 @@ +--- +sidebar_position: 1 +--- + +# REST API + +Alle API IDs (z.B. die Loadpoint ID) beginnen bei `1`. + +## State + +- `GET /api/state`: returns the state of the system
+ Use the optional `jq` parameter for select a subset or specific value. e.g.: `/api/state?jq=.statistics["30d"].avgPrice` + +## Site + +- `GET /api/health`: evcc health check +- `POST /api/prioritysoc/`: battery priority soc in % +- `POST /api/buffersoc/`: battery buffer soc in % +- `POST /api/bufferstartsoc/`: battery buffer start soc in % +- `POST /api/residualpower/`: grid residual power in W +- `POST /api/batterydischargecontrol/`: enable/disable battery discharge control (true/false) +- `POST /api/smartcostlimit/`: smart charging cost limit (previously known as "cheap" tariff) +- `GET /api/tariff/`: list of prices (grid/feedin/co2/planner) +- `GET /api/sessions[?format=csv&lang=]`: charging sessions +- `GET /api/settings/telemetry`: telemetry enabled status +- `POST /api/settings/telemetry/`: enable/disable telemetry (true/false) + +## Vehicles + +**Note**: for vehicle names see `vehicles` array in `/api/state` response. + +- `POST /api/vehicles//minsoc/`: minimum soc in % +- `POST /api/vehicles//limitsoc/`: limit soc in % +- `POST /api/vehicles//plan/soc//