Skip to content

Commit 9421c0a

Browse files
committed
Templates update for nightly evcc-io/evcc@1f7f2ed
1 parent 955937e commit 9421c0a

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

templates/nightly/de/charger/viessmann_0.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ render:
1414
password: # Passwort, Für den konfigurierten Viessmann Account.
1515
clientid: # Client ID, Konfigurieren in [app.developer.viessmann.com](https://app.developer.viessmann.com)
1616
gateway_serial: # Gateway Serial, Seriennummer des VitoConnect modul (VitoCare App -> Einstellungen -> Kommunikationsmodul -> Seriennummer)
17-
installation_id: # Installation ID, siehe https://docs.evcc.io/en/docs/devices/heating#viessmann
17+
installation_id: # Installation ID, Leider kann man die Installation ID nicht einfach in der Viessmann App einsehen - stattdessen müssen wir die folgenden Kommandos in der Kommandozeile ausführen. Es ist uns bewusst, dass das nicht für jeden Benutzer einfach umsetzbar ist, aber bisher haben wir leider keinen besseren Ablauf...<br/> 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="http://localhost:4200/" 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.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.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.com/iot/v1/equipment/installations?includeGateways=true \ | jq '.data[].id' ```
1818
device_id: 0 # Device ID, normalerweise `0`
1919
target_temperature: 45 # Zieltemperatur für Einmal-Warmwasser-Zubereitung (°C), max. 60°C

templates/nightly/en/charger/viessmann_0.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ render:
1414
password: # Password, For the configured Viessmann account.
1515
clientid: # Client ID, Configure at [app.developer.viessmann.com](https://app.developer.viessmann.com)
1616
gateway_serial: # Gateway Serial, VitoConnect serial number (VitoCare App -> Settings -> Communication module -> Serial number)
17-
installation_id: # Installation ID, Unfortunately you cannot simply lookup this number in the Viessmann app - instead you need to use the following commands on the command line... we're aware this is not for every user, but currently we don't have a better workflow...<br/> Prerequisites: curl, jq, and the following parameters: ``` VIESSMANN_USER=<your-user> VIESSMANN_PASS=<your-password> VIESSMANN_CLIENT_ID=<your-clientid> ``` Then execute the following (n.b. it's best to paste the entire block as-is, since the intermediate 'CODE' is only valid for 20 seconds): ``` VIESSMANN_REDIRECT_URI="http://localhost:4200/" VIESSMANN_CODE_CHALLENGE="5M5nhkBfkWZCGfLZYcTL-l7esjPUN7PpZ4rq8k4cmys" VIESSMANN_CODE_VERIFIER="6PygdmeK8JKPuuftlkc6q4ceyvjhMM_a_cJrPbcmcLc-SPjx2ZXTYr-SOofPUBydQ3McNYRy7Hibc2L2WtVLJFpOQ~Qbgic455ArKjUz9_UiTLnO6q8A3e.I_fIF8hAo" ```
17+
installation_id: # Installation ID, Unfortunately you cannot simply lookup this number in the Viessmann app - instead you need to use the following commands on the command line... we're aware this is not for every user, but currently we don't have a better workflow...<br/> Prerequisites: curl, jq, and the following parameters: ``` VIESSMANN_USER=<your-user> VIESSMANN_PASS=<your-password> VIESSMANN_CLIENT_ID=<your-clientid> ``` Then execute the following to get an oauth token (n.b. it's best to paste the entire block as-is, since the intermediate 'CODE' is only valid for 20 seconds): ``` VIESSMANN_REDIRECT_URI="http://localhost:4200/" 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.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.com/idp/v3/token) VIESSMANN_TOKEN=$(echo $TOKEN_RESPONSE | jq --raw-output .access_token) ``` Finally, get the installation id: ``` curl --silent -H "Authorization: Bearer $VIESSMANN_TOKEN" \ https://api.viessmann.com/iot/v1/equipment/installations?includeGateways=true \ | jq '.data[].id' ```
1818
device_id: 0 # Device ID, typically `0`
1919
target_temperature: 45 # Target temperature for one-time charge (°C), max. 60°C

0 commit comments

Comments
 (0)