Zum Inhalt springen
EN | DE

Viessmann Heatpump (API)

Diese Seite zeigt die Nightly-Version. Wechsle zur Release-Version.

Einmalige Warmwasserbereitung. Das Gerät entscheidet eigenständig, ob die Wärmepumpe oder die elektrische Zusatzheizung (falls vorhanden) genutzt wird.

Optional können Leistungs- und Temperaturwerte ausgelesen werden. Das setzt Datenpunkte der One-Base-/E3-Gerätegeneration voraus (z. B. Vitocal 25x, getestet mit Vitocal 250-A). Welche Datenpunkte ein Gerät liefert, ist geräteabhängig und lässt sich über die Viessmann API am Feature-Endpunkt der Anlage ablesen. Die Option „Leistungs- und Temperaturwerte auslesen" wird nach der Anmeldung automatisch vorbelegt, wenn das Gerät die Datenpunkte liefert.

Parameter

NameBeschreibungWertStufe
clientidClient IDoptional
redirecturiRedirect URI

Redirect-URI der evcc-Instanz. Muss mit der Redirect URI übereinstimmen, die im Viessmann Developer Portal konfiguriert ist.

optional
gateway_serialGateway Serial

Wird nach der Anmeldung automatisch ermittelt. Alternativ manuell eintragen (ViCare App -> Einstellungen -> Kommunikationsmodul -> Seriennummer)

optional
installation_idInstallation ID

Wird nach der Anmeldung automatisch ermittelt.

Fallback: Installation ID per Kommandozeile ermitteln Vorraussetzungen: curl, jq, und die folgenden Umgebungsvariblen: VIESSMANN_USER=<your-user> VIESSMANN_PASS=<your-password> VIESSMANN_CLIENT_ID=<your-clientid> Dann holen wir uns einen oauth token (n.b. am besten den gesamten Block in das Terminal kopieren, da die Zwischenvariable 'CODE' nur 20 Sekunden gültig ist): VIESSMANN_REDIRECT_URI=<your-redirect-uri> VIESSMANN_CODE_CHALLENGE="5M5nhkBfkWZCGfLZYcTL-l7esjPUN7PpZ4rq8k4cmys" VIESSMANN_CODE_VERIFIER="6PygdmeK8JKPuuftlkc6q4ceyvjhMM_a_cJrPbcmcLc-SPjx2ZXTYr-SOofPUBydQ3McNYRy7Hibc2L2WtVLJFpOQ~Qbgic455ArKjUz9_UiTLnO6q8A3e.I_fIF8hAo" VIESSMANN_CODE=$(curl -X POST --silent \ --user $VIESSMANN_USER:$VIESSMANN_PASS \ --output /dev/null \ --dump-header - \ "https://iam.viessmann-climatesolutions.com/idp/v3/authorize?client_id=$VIESSMANN_CLIENT_ID&redirect_uri=$VIESSMANN_REDIRECT_URI&scope=IoT%20User%20offline_access&response_type=code&code_challenge=$VIESSMANN_CODE_CHALLENGE&code_challenge_method=S256" \ | grep "^location: " \ | sed 's/.*\?code=\(.*\).*/\1/' \ | tr -d '[:space:]') TOKEN_RESPONSE=$(curl -XPOST --silent \ -H "Content-Type: application/x-www-form-urlencoded" \ --data "grant_type=authorization_code&client_id=$VIESSMANN_CLIENT_ID&redirect_uri=$VIESSMANN_REDIRECT_URI&code_verifier=$VIESSMANN_CODE_VERIFIER&code=$VIESSMANN_CODE" \ https://iam.viessmann-climatesolutions.com/idp/v3/token) VIESSMANN_TOKEN=$(echo $TOKEN_RESPONSE | jq --raw-output .access_token) Damit können wir jetzt die Installation ID abfragen: curl --silent -H "Authorization: Bearer $VIESSMANN_TOKEN" \ https://api.viessmann-climatesolutions.com/iot/v2/equipment/installations?includeGateways=true \ | jq '.data[].id'

optional
device_idDevice ID

normalerweise 0

Standard: 0
optional
measurementsLeistungs- und Temperaturwerte auslesen

Liest die aktuelle elektrische Leistungsaufnahme und die Warmwassertemperatur aus. Wird nach der Anmeldung automatisch anhand der vom Gerät gemeldeten Datenpunkte vorbelegt (One-Base-/E3-Generation, z. B. Vitocal 25x). Standardmäßig deaktiviert, damit sich bestehende Installationen beim Update nicht ändern.

optional
Konfigurationsbeispiel für evcc.yaml

Falls du die Konfiguration nicht über die Oberfläche vornehmen möchtest, kannst du alternativ diesen YAML-Block verwenden.

chargers:
- name: my_heating
type: template
template: viessmann
clientid: # Client ID, Konfigurieren in [app.developer.viessmann-climatesolutions.com](https://app.developer.viessmann-climatesolutions.com)
redirecturi: # Redirect URI, Redirect-URI der evcc-Instanz. Muss mit der Redirect URI übereinstimmen, die im Viessmann Developer Portal konfiguriert ist.
gateway_serial: # Gateway Serial, Wird nach der Anmeldung automatisch ermittelt. Alternativ manuell eintragen (ViCare App -> Einstellungen -> Kommunikationsmodul -> Seriennummer)
installation_id: # Installation ID, Wird nach der Anmeldung automatisch ermittelt. <details><summary>Fallback: Installation ID per Kommandozeile ermitteln</summary> Vorraussetzungen: curl, jq, und die folgenden Umgebungsvariblen: ``` VIESSMANN_USER=<your-user> VIESSMANN_PASS=<your-password> VIESSMANN_CLIENT_ID=<your-clientid> ``` Dann holen wir uns einen oauth token (n.b. am besten den gesamten Block in das Terminal kopieren, da die Zwischenvariable 'CODE' nur 20 Sekunden gültig ist): ``` VIESSMANN_REDIRECT_URI=<your-redirect-uri> VIESSMANN_CODE_CHALLENGE="5M5nhkBfkWZCGfLZYcTL-l7esjPUN7PpZ4rq8k4cmys" VIESSMANN_CODE_VERIFIER="6PygdmeK8JKPuuftlkc6q4ceyvjhMM_a_cJrPbcmcLc-SPjx2ZXTYr-SOofPUBydQ3McNYRy7Hibc2L2WtVLJFpOQ~Qbgic455ArKjUz9_UiTLnO6q8A3e.I_fIF8hAo" VIESSMANN_CODE=$(curl -X POST --silent \ --user $VIESSMANN_USER:$VIESSMANN_PASS \ --output /dev/null \ --dump-header - \ "https://iam.viessmann-climatesolutions.com/idp/v3/authorize?client_id=$VIESSMANN_CLIENT_ID&redirect_uri=$VIESSMANN_REDIRECT_URI&scope=IoT%20User%20offline_access&response_type=code&code_challenge=$VIESSMANN_CODE_CHALLENGE&code_challenge_method=S256" \ | grep "^location: " \ | sed 's/.*\?code=\(.*\).*/\1/' \ | tr -d '[:space:]') TOKEN_RESPONSE=$(curl -XPOST --silent \ -H "Content-Type: application/x-www-form-urlencoded" \ --data "grant_type=authorization_code&client_id=$VIESSMANN_CLIENT_ID&redirect_uri=$VIESSMANN_REDIRECT_URI&code_verifier=$VIESSMANN_CODE_VERIFIER&code=$VIESSMANN_CODE" \ https://iam.viessmann-climatesolutions.com/idp/v3/token) VIESSMANN_TOKEN=$(echo $TOKEN_RESPONSE | jq --raw-output .access_token) ``` Damit können wir jetzt die Installation ID abfragen: ``` curl --silent -H "Authorization: Bearer $VIESSMANN_TOKEN" \ https://api.viessmann-climatesolutions.com/iot/v2/equipment/installations?includeGateways=true \ | jq '.data[].id' ``` </details>
device_id: 0 # Device ID, normalerweise `0`
measurements: # Leistungs- und Temperaturwerte auslesen, Liest die aktuelle elektrische Leistungsaufnahme und die Warmwassertemperatur aus. Wird nach der Anmeldung automatisch anhand der vom Gerät gemeldeten Datenpunkte vorbelegt (One-Base-/E3-Generation, z. B. Vitocal 25x). Standardmäßig deaktiviert, damit sich bestehende Installationen beim Update nicht ändern. (optional)