abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

iobroker viessmannapi 2.0.9, setschedule

Liebe Forumsgemeinde!

vielleicht kann mir hier jemand helfen.

Ich nutze seit kurzem den iobroker-adapter viessmannapi version 2.0.9 (Version 2.0.9 in /opt/iobroker/node_modules/iobroker.viessmannapi, node: v16.17.1, js-controller: 4.0.23)

Zur Optimierung der Heizung, v.a. des Warmwassers würde ich gerne die Zirkulation steuern. Soweit ich das bisher herausgefunden habe, kann man die Zirkulationspumpe nicht direkt ansteuern (dies wäre allerdings ein sehr wünschenswerter Punkt für die nahe Zukunft!!!). Also wollte ich es indirekt versuchen, und für verschiedene Bedingungen einen Zeitplan/Schedule an- bzw. abzuschalten.

Im Adapter gibt es ja auch den bearbeitbaren Wert "setSchedule", in dem wohl im json-Format ein neuer Schedule gesetzt werden kann. Wenn ich das mache, bekomme ich nur eine Fehlermeldung. Habe viel probiert, aber auch mit einem "leeren" Zeitplan (  {"mon":[],"tue":[],"wed":[],"thu":[],"fri":[],"sat":[],"sun":[]}   ) bekomme ich eine Fehlermeldung, Code 422:

{"viErrorId":"req-26c8ebda01b54d608281620a68af8288","statusCode":422,"errorType":"VALIDATION_ERROR","message":"VALIDATION_ERROR","validationErrors":[],"extendedPayload":{"code":"400","reason":"VALIDATION_ERROR","details":"The parameter newSchedule=\"{\\\"mon\\\":[],\\\"tue\\\":[],\\\"wed\\\":[],\\\"thu\\\":[],\\\"fri\\\":[],\\\"sat\\\":[],\\\"sun\\\":[]}\" does not meet the constraints {\"type\":\"Schedule\",\"modes\":[\"top\",\"normal\",\"temp-2\"],\"maxEntries\":8,\"resolution\":10,\"defaultMode\":\"off\",\"overlapAllowed\":true}: The parameter should be an object."}}

 

kann mir hier jemand sagen, was ich falsch mache?

 

Vielen Dank!

Josef Auer

6 ANTWORTEN 6

Hi @JA384,

Um herauszufinden, wie man einen Zeitplan via API einstellt, schau gerne in unsere Beispiel Postman Collection rein. Dort findest du einen Befehl, der den Zeitplan für einen Heizkreis einstellt.

Ansonsten such gerne auch nochmal hier im Forum, ich gehe davon aus, dass die Frage bereits einmal gestellt wurde 🙂

Gruß,

Michael 

Lieber Michael, vielen Dank für die Antwort. Ich habe hier im Forum schon gesucht, und alle Tipps die genannt wurden versucht, aber ich bekomme immer dieselbe Fehlermeldung.

Auch der Versuch aus der postman collection ändert daran nichts.

Ich nehme an es liegt daran: ...does not meet the constraints {\"type\":\"Schedule\",\"modes\":[\"top\",\"normal\",\"temp-2\"],\"maxEntries\":8,\"resolution\":10,\"defaultMode\":\"off\",\"overlapAllowed\":true}

Diese sind aber vorgegeben und nicht veränderbar; diese Fehlermeldung war zunächst auch der Grund, warum ich es mit einem "leeren" Zeitplan versuchen wollte. Vielleicht gibt es doch irgendeinen ganz banalen Grund?

Vielen Dank!

Könntest du den kompletten API Aufruf einmal hier teilen? Oder führst du den Befehl über ioBroker aus? Dann würde ich empfehlen, den Befehl zunächst einmal über z.B. Postman zu testen.

Ich führe den Befehl über iobroker aus. Steuerung der Temperatur oder auch das Umschalten zwischen WW und Heizen/WW funktioniert. Nur der Schedule nicht. Benötige ich für Postman einen neuen/anderen API? Oder woher bekomme ich einen Zugangs Token?

Wie du einen Access Token bekommst, ist in unserer API Dokumentation beschrieben. Die entsprechenden Befehle findest du ebenfalls in der Beispiel Collection, die du dir in deine eigene Postman Collection kopieren kannst ("Fork").

Da ich nicht prüfen kann, wie ioBroker den Befehl ausführt, schlage ich vor du testet den Befehl selbst. Solltest du Schwierigkeiten haben, schau gerne in die Themen hier im Forum oder meld dich nochmal.

Gruß,

Michael

Hi,

hatte dasselbe Problem und hab nochmal in die Adapter Doku in iobroker geschaut. Dort steht:

 

Beispiel zum Setzen eines Zeitplans:

var standard = '{"mon":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"tue":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],\
              "wed":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"thu":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],\
              "fri":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],"sat":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],\
              "sun":[{"start":"00:00","end":"24:00","mode":"standard","position":0}]}'

setState("viessmannapi.0.xxxxxxx.0.features.ventilation.schedule.commands.setSchedule.setValue", JSON.parse(standard));

Also ggf. über das Javascript-Addon lösen  - bei mir klappt es so.

 

VG
Sebastian