abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 
Beantwortet! Gehe zur Lösung.

{"error":"Client not registered."}

Hallo,

 

ich habe heute meine ersten Schritte unternommen, um über die API auf meine Heizung zuzugreifen.

 

Leider scheitere ich schon am ersten Schritt der Identifizierung:

 

Ich habe in meinem Viessmann-Account einen Client angelegt:

falk_schulte_0-1660358462089.png

 

Dann habe ich über den Browser (Google Chrome) die folgende URL aufgerufen (copy and paste aus dem Beispiel, mit den individuellen Daten entsprechend meines Clients ergänzt):

 

https://iam.viessmann.com/idp/v2/authorize?client_id=falk&redirect_uri=http://localhost:4200/&response_type=code&code_challenge=2...8&scope=IoT%20User

 

Anstatt einer HTTP Response mit dem Statuscode 302 und dem Authentifizierungscode erscheint aber nur die Fehlermeldung "{"error":"Client not registered."}"

 

 

Woran kann das liegen? Der Client existiert ja.

 

Vielen Dank und viele Grüße

Falk

1 AKZEPTIERTE LÖSUNG

Akzeptierte Lösungen

Hallo Falk, bei dem zweiten Schritt der Authentifizierung musst du darauf achten, dass der erstellte Code aus Schritt 1 nur 20 Sekunden gültig ist. Das heißt, nach Erstellen des Codes solltest du innerhalb von 20 Sekunden den zweiten Schritt ausführen.

 

Könntest du das bitte einmal prüfen? Weitere Infos sind natürlich in unserer API Doku zu finden: https://documentation.viessmann.com/static/authentication

 

Gruß,

 

Michael

Lösung in ursprünglichem Beitrag anzeigen

5 ANTWORTEN 5

Hallo @falk_schulte,

 

Danke für deine Frage. Versuche bitte einmal den Befehl anstatt mit dem Namen des Clients, mit der client_id auszuführen. Das ist die Nummer unterhalb vom Namen (also das was du mit Schwarz unkenntlich gemacht hast).

 

Probiere es gerne einmal aus und sag mir, ob du weiter kommst.

 

Gruß,

 

Michael

Hallo Michael,

 

vielen Dank für deine Hilfe. Darauf hätte ich auch selbst kommen können - es steht ja schließlich "client id" im Beispiel.

 

Damit hat es also funktioniert und ich habe den Code bekommen.

 

Leider habe ich beim nächsten Schritt schon wieder Probleme:

 

Mit dem Code und allen anderen Werten exakt wie aus dem ersten Aufruf lautet mein CURL-Command dann so:

falk_schulte_0-1660645352994.png

 

 

Und ich erhalte als Fehlermeldung: {"error":"invalid-token-request"}.

 

Wo habe ich jetzt den nächsten Fehler gemacht?

 

Vielen Dank und viele Grüße

Falk

Hallo Falk, bei dem zweiten Schritt der Authentifizierung musst du darauf achten, dass der erstellte Code aus Schritt 1 nur 20 Sekunden gültig ist. Das heißt, nach Erstellen des Codes solltest du innerhalb von 20 Sekunden den zweiten Schritt ausführen.

 

Könntest du das bitte einmal prüfen? Weitere Infos sind natürlich in unserer API Doku zu finden: https://documentation.viessmann.com/static/authentication

 

Gruß,

 

Michael

Hallo Michael,

 

daran hat es gelegen, vielen Dank. 20 Sekunden sind zwar recht kurz, aber es klappt dennoch. Hatte nur in der Dokumentation nichts gelesen von diesem Zeitlimit.

 

Das Bearer Token habe ich nun, und damit auch Zugang zu meinem Account über die API.

 

Daraus ergeben sich weitere Fragen:

 

1. Nur über die API-Anfrage /users/me habe ich herausgefunden, dass ich bei Viessmann als "FEMALE" mit der Anrede "MRS" registriert bin. In meinem Account im Browser sehe ich diese Daten nirgends und kann sie auch nicht ändern. Wie kann ich diese Daten korrigieren?

 

2. Ich habe versucht, meine Heizung aufzurufen. Allerdings kenne ich die installationId und die deviceId nicht. Woher bekomme ich diese Infos?

 

Vielen Dank und viele Grüße

Falk

Hallo Falk,

 

zu 1. ist es aktuell nicht möglich, die Daten selbst zu ändern. Wenn du möchtest, kann ich weitergeben, dass dein Account auf "MALE" und "MR" geändert wird.

 

Zu 2. schau dazu einmal in unsere API Dokumentation in den Bereich "IoT": https://documentation.viessmann.com/static/iot/overview

Um die notwendigen IDs zu erhalten, kannst du folgenden Befehl ausführen:

curl -X GET https://api.viessmann.com/iot/v1/equipment/installations?includeGateways=true

In der response findest du deine installationId, gatewaySerial sowie deviceId.

 

Gruß,

 

Michael

Top-Lösungsautoren