Hi,
gibt es eigentlich eine offizielle Beschreibung der Viessmann API für den Zugriff auf meine Anlagendaten über die Viessmann Webservices? Ich kann bereits mittels der Programmiersprache Python die Anlagendaten auslesen, nur für manche Attribute fehlen mir die möglichen Werte/Ausprägungen um mein Dashboard entsprechend aufzubereiten.
Konkret fehlt mir bspw. beim Wert "aggregatedstatus" alle derzeit möglichen Zustände, erreichbar über die Api unter der URL https://api.viessmann-platform.io/general-management/installations. Ich erhalte derzeit den Wert "WorksProperly", in der ViCare-App steht dazu bspw. "Hallo, Deiner Anlage geht es gut". Ich denke da gibt es noch eine Reihe weiterer Statustexte?
Dann gibt es noch den Status unter dem gleinamigen Attribut, der Wert aktuelle bei mir: "online". Auch hier wird es noch den ein oder anderen Text geben. Auch diese Werte wären interessant.
Aber am besten wäre eine aktuelle Dokumentation der kompletten API, denn bspw. fehlen mir auch die Namen der Heizkreise, die in keiner mir bekannten Webservice zu finden sind.
VG,
Michael
Gelöst! Gehe zu Lösung.
ich schaffe es nicht, einen API mit PyViCare erfolgreich abzusetzen. Ich scheitere bei vicare.initWithCredentials(email, password, client_id, "/tmp/token.save")
Ich habe einen ViCare-Account. Ich habe in diesem ViCare Account auch einen Client erzeugt gemäß
"register a new OAuth 2.0 client". Wenn ich die dabei erzeugte ID, meine EMail Adresse und das vicare Passwort angebe, erhalte ich beim Aufruf von "die Fehlermeldung "PyViCare.PyViCareUtils.PyViCareInvalidCredentialsError" . Mir ist nicht klare was ich bei email, password und client_id angeben muss. Ich habe auch die API Version Basic gebucht.
Ich habe ein password in ViCare, ich habe dort eine EMail Adresse. Aber wie erhalte ich eine gültige Client_id. Die in den OAuth Prozesse erzeugte ID eines ersten Clients funktioniert nicht !
Können Sie mir sagen, was ich bei Client_id, und Email angeben muss.
Have you tried to follow the guidelines on the PyVicare repo? It is all there.
https://github.com/somm15/PyViCare#prerequisites
I have created a Client "PyViCare", and generated a client_id for this client. But I stell get the error
PyViCare.PyViCareUtils.PyViCareInvalidConfigurationError: (PyViCareInvalidConfigurationError(...), 'Invalid credentials. Error: invalid_request. Description: Client not registered.. Please check your configuration: clientid and redirect uri.')
I still don't understand which credentials I have to provide
You have to provide the credentials you have used to register on the viessmann developer portal. Also make sure you are using the same e-mail address (account) as the one you have used to register your viessmann device via the ViCare mobile app. It has to use the same e-mail address.
Thanks for your help. I think I have solved the problem with the credentials. But now I'm facing another problem
datetime.strptime has a Problem with the date format in the procdure Wrap. Is this a known problem ? I'm still using Python 3.6. Does PyViCare work with Python 3.6 ?
File "/home/peter/.local/lib/python3.6/site-packages/PyViCare/PyViCare.py", line 84, in Wrap
return datetime.strptime(v, '%Y-%m-%dT%H:%M:%S.%f%z')
File "/usr/lib64/python3.6/_strptime.py", line 565, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "/usr/lib64/python3.6/_strptime.py", line 362, in _strptime
(data_string, format))
ValueError: time data '2020-12-03T09:19:45.448Z' does not match format '%Y-%m-%dT%H:%M:%S.%f%z'
solved : after upgrading to python 3.11 it works