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 integrations section #619

Merged
merged 1 commit into from
Sep 15, 2024
Merged
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion docs/Home.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion docs/faq.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 7
sidebar_position: 8
toc_max_heading_level: 2
---

Expand Down
4 changes: 4 additions & 0 deletions docs/integrations/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"label": "Integrationen",
"position": 6
}
26 changes: 26 additions & 0 deletions docs/integrations/home-assistant.md
Original file line number Diff line number Diff line change
@@ -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)
61 changes: 61 additions & 0 deletions docs/integrations/mqtt-api.md
Original file line number Diff line number Diff line change
@@ -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/<name>/minSoc`: minimum soc in % (writable)
- `evcc/vehicles/<name>/limitSoc`: limit soc in % (writable)
- `evcc/vehicles/<name>/planSoc`: plan soc (writable using JSON payload: `{"value": 50, "time": "2023-03-05T07:00:00Z"}`)

## Loadpoints

- `evcc/loadpoints`: number of available loadpoints
- `evcc/loadpoints/<id>`: dynamic state
- `evcc/loadpoints/<id>/mode`: charge mode (writable)
- `evcc/loadpoints/<id>/minSoc`: minimum SoC (writable)
- `evcc/loadpoints/<id>/limitSoc`: limit SoC in % (writable) - only applicable for online vehicles
- `evcc/loadpoints/<id>/limitEnergy`: limit energy in kWh (writable) - only applicable for offline vehicles
- `evcc/loadpoints/<id>/plan/energy`: plan energy (writable using JSON payload: `{"value": 50, "time": "2023-03-05T07:00:00Z"}`)
- `evcc/loadpoints/<id>/phases`: enabled phases (writable)
- `evcc/loadpoints/<id>/minCurrent`: current minCurrent value (writable)
- `evcc/loadpoints/<id>/maxCurrent`: current maxCurrent value (writable)
- `evcc/loadpoints/<id>/enableThreshold`: threshold value (writable)
- `evcc/loadpoints/<id>/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
:::
56 changes: 56 additions & 0 deletions docs/integrations/rest-api.md
Original file line number Diff line number Diff line change
@@ -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<br/>
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/<soc>`: battery priority soc in %
- `POST /api/buffersoc/<soc>`: battery buffer soc in %
- `POST /api/bufferstartsoc/<soc>`: battery buffer start soc in %
- `POST /api/residualpower/<power>`: grid residual power in W
- `POST /api/batterydischargecontrol/<status>`: enable/disable battery discharge control (true/false)
- `POST /api/smartcostlimit/<cost>`: smart charging cost limit (previously known as "cheap" tariff)
- `GET /api/tariff/<type>`: list of prices (grid/feedin/co2/planner)
- `GET /api/sessions[?format=csv&lang=<lang>]`: charging sessions
- `GET /api/settings/telemetry`: telemetry enabled status
- `POST /api/settings/telemetry/<status>`: enable/disable telemetry (true/false)

## Vehicles

**Note**: for vehicle names see `vehicles` array in `/api/state` response.

- `POST /api/vehicles/<name>/minsoc/<soc>`: minimum soc in %
- `POST /api/vehicles/<name>/limitsoc/<soc>`: limit soc in %
- `POST /api/vehicles/<name>/plan/soc/<soc>/<time>`: soc in % / time in RFC3339 format \*\*
- `DELETE /api/vehicles/<name>/plan/soc`: disable plan charging

## Loadpoints

- `POST /api/loadpoints/<id>/mode/<mode>`: charge mode (off/pv/minpv/now)
- `POST /api/loadpoints/<id>/limitsoc/<soc>`: limit soc in % - only applicable for online vehicles
- `POST /api/loadpoints/<id>/limitenergy/<energy>`: limit energy in kWh - only applicable for offline vehicles
- `POST /api/loadpoints/<id>/plan/energy/<energy>/<time>`: energy in kWh / target time in RFC3339 format \*\*
- `DELETE /api/loadpoints/<id>/plan/energy`: disable plan charging
- `GET /api/loadpoints/<id>/plan`: charging plan details
- `POST /api/loadpoints/<id>/phases/<phases>`: allowed phases (0=auto/1=1p/3=3p)
- `POST /api/loadpoints/<id>/mincurrent/<current>`: current minCurrent value in A
- `POST /api/loadpoints/<id>/maxcurrent/<current>`: current maxCurrent value in A
- `POST /api/loadpoints/<id>/enable/threshold/<threshold>`: threshold value in W
- `POST /api/loadpoints/<id>/disable/threshold/<threshold>`: threshold value in W
- `POST /api/loadpoints/<id>/vehicle/<name>`: set currently selected vehicle
- `DELETE /api/loadpoints/<id>/vehicle`: remove vehicle
- `PATCH /api/loadpoints/<id>/vehicle`: start vehicle detection

:::note
Beispiel: `curl -X POST http://evcc:7070/api/loadpoints/1/mode/pv` um den Lademodus des 1. Ladepunkts auf `pv` zu stellen.
:::
4 changes: 2 additions & 2 deletions docs/reference/_category_.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"label": "Referenz",
"position": 6
}
"position": 7
}
114 changes: 0 additions & 114 deletions docs/reference/api.md

This file was deleted.

2 changes: 1 addition & 1 deletion docs/reference/configuration/mqtt.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sidebar_position: 14

Stellt die Konnektivität mit einem MQTT-Broker her.
Bei bestehender Verbindung pusht evcc automatisch alle internen Werte via MQTT-Broker auf das angegebene Topic und empfängt dort auch Änderungen.
Siehe dazu auch die Dokumentation zur [`MQTT API`](/docs/reference/api#mqtt-api).
Siehe dazu auch die Dokumentation zur [`MQTT API`](/docs/integrations/mqtt-api).

---

Expand Down
6 changes: 0 additions & 6 deletions docs/reference/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,3 @@ Hier wird beschrieben wie man durch ein Plugin ein bisher nicht unterstütztes G
Hier befindet sich die Modbus Dokumentation, welche in verschiedenen Bereichen genutzt werden kann.

[Weiterlesen...](./reference/modbus)

### API

Hier befindet sich die Dokumentation um auf evcc von anderen Systemen zuzugreifen und zu steuern.

[Weiterlesen...](./reference/api)
2 changes: 1 addition & 1 deletion docs/sponsorship.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 8
sidebar_position: 9
---

import SponsorToken from "/docs/_sponsortoken.mdx";
Expand Down
13 changes: 13 additions & 0 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -154,5 +154,18 @@ import { themes as prismThemes } from "prism-react-renderer";
contextualSearch: true,
},
}),
plugins: [
[
"@docusaurus/plugin-client-redirects",
{
redirects: [
{
to: "/docs/integrations/rest-api",
from: "/docs/reference/api",
},
],
},
],
],
}
);
2 changes: 1 addition & 1 deletion i18n/en/docusaurus-plugin-content-docs/current/Home.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ evcc is installed onto a system in the local network, so that it can communicate
- Status [Notifications](/docs/reference/configuration/messaging) via [Telegram](https://telegram.org), [PushOver](https://pushover.net) and [many more](https://containrrr.dev/shoutrrr/)
- Data Export via [InfluxDB](https://www.influxdata.com) and [Grafana](https://grafana.com/grafana/)
- Stepless regulation of charging flows with supported wall boxes (e.g the smartWB's [OLC](https://board.evse-wifi.de/viewtopic.php?f=16&t=187) functionality)
- Rest & MQTT [APIs](/docs/reference/api) for integration into other home automation systems (such as [Home Assistant](https://github.com/evcc-io/evcc-hassio-addon))
- [REST](/docs/integrations/rest-api) & [MQTT](/docs/integrations/rest-api) APIs for integration into other home automation systems (such as [Home Assistant](/docs/integrations/home-assistant))

## Requirements

Expand Down
2 changes: 1 addition & 1 deletion i18n/en/docusaurus-plugin-content-docs/current/faq.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 7
sidebar_position: 8
toc_max_heading_level: 2
---

Expand Down
Loading