Hallo Zusammen
Ich komme leider nicht weiter, wenns darum geht, Werte, bspw Daten zu setzen. POST auf Booleans via Device feature command using name funktioniert gut (oneTimeCharge bspw.).
Ich möchte gerne das End (und anfangs-) Date des Holiday Programs via API abändern, mir fehlt aber irgendwie eine Beschreibung für den Payload, respektive werde aus der Dok mit commandName und commandBody nicht schlau - nutze Python
Bei Payload:
payload = '{"changeEndDate": "05.08.2021" }'
erhalte ich den Fehler:
{"viErrorId":"req-cd8a9264e0f54559b43189494400df1e","statusCode":422,"errorType":"VALIDATION_ERROR","message":"VALIDATION_ERROR","validationErrors":[{"path":["commandBody"],"type":"any.invalid","message":"invalid value, most likely wrong format"},{"path":["commandName"],"type":"any.empty","message":"commandName cannot be empty"}],"extendedPayload":{"commandBody":"EMPTY_MODEL","commandName":"EMPTY"}}
Wenn ich einen Payload mit commandBody mache:
payload = '{
'"commandName": "changeEndDate",
'"commandBody": {"key": "05.08.2021"}
'}
kommt der Fehler:
{"viErrorId":"req-6065b1c7a5ee4310a25af164559dd5bf","statusCode":502,"errorType":"DEVICE_COMMUNICATION_ERROR","message":"DEVICE_COMMUNICATION_ERROR","extendedPayload":{"code":"403","reason":"COMMAND_NOT_EXECUTABLE"}}
Ich gehe davon aus, dass ich schlichtweg den Payload falsch befülle, kann mir nicht jemand einen Tipp dazu geben?
Danke Euch und beste Grüsse,
Berni
btw. finde es super, dass Viessmann die API nun offiziell freigibt
Sorry Alle, der Befehl ist wohl nicht freigeschaltet (habe ich laut Doku einfach so interpretiert). Workaround: Boiler-Zieltemperatur runterstellen 😉
Hi @bz,
du könntest mal versuchen, anstelle von "changeEndDate" den Command "schedule" auszuführen und "start" und "end" zu setzen (Datumsformat: YYYY-MM-DD):
"commands": {
"schedule": {
"name": "schedule",
"isExecutable": true,
"params": {
"start": {
"type": "string",
"required": true,
"constraints": {
"regEx": "^[\\d]{4}-[\\d]{2}-[\\d]{2}$"
}
},
"end": {
"type": "string",
"required": true,
"constraints": {
"regEx": "^[\\d]{4}-[\\d]{2}-[\\d]{2}$",
"sameDayAllowed": false
}
}
}
},
},