Hallo @tombox,
Ich habe den Fehler gefunden. Im Iobroker ist bei setValue als String angegeben. Wenn ich es auf JSON umstelle, dann funktioniert es. Können wir dies im Adapter ändern?
Hallo @tombox,
Ich habe den Fehler gefunden. Im Iobroker ist bei setValue als String angegeben. Wenn ich es auf JSON umstelle, dann funktioniert es. Können wir dies im Adapter ändern?
@manrum1 Hi, danke dass du hier her gekommen bist.
Was willst du genau setzen? Heizung oder Wasser?
Hier hast du den Befehl, der die Heizung von 00:00 bis 24:00 laufen lässt:
var standard = '{"mon":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],"tue":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],\
"wed":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],"thu":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],\
"fri":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],"sat":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],\
"sun":[{"start":"00:00","end":"24:00","mode":"normal","position":0}]}'
setState('viessmannapi.0.XXX.0.features.heating.circuits.0.heating.schedule.commands.setSchedule.setValue', JSON.parse(standard));
Für Wasser musst du als Mode on verwenden. Bei mir funktioniert es so.
@jensemann dann ist die Frage, ob du überhaupt die Zeiten ändern musst. Es gibt ja auch die Betriebsart dauernd reduziert. Die sollte dein Problem lösen. Ich würde aber empfehlen einen neuen Beitrag zu eröffnen, da es hier nur um den Adapter gehen sollte. Ich steuere mit den Zeiten unsere unregelmäßig Anwesenheit. Homeoffice, Normal, Urlaub usw.. Das ganz wird per Kalendereintrag ermittelt und dann Heizung und Thermostate entsprechend gesteuert
@jensemann man gibt bei den Zeiten nur an, wann der Modus normal sein soll. Die fehlenden Zeiten sind dann automatisch der reduzierte Modus. Ich hatte von 00:00 bis 24:00 nur für den Test genommen.
@tombox hab es gerade getestet. Es scheint alles zu funktionieren. Danke für deine ganze Arbeit an diesem Adapter.
@tombox ich gehe bei setSchedule.setValue auf Objekt bearbeiten und Stelle den Zustandstyp auf json. Die spannende Frage ist, warum es bei @tiger-vi funktioniert.
@tombox scheinbar wird dann wieder ein String verwendet. Es kommt bei setSchedule wieder der Fehler. Umstellung auf JSON funktioniert dann wieder bei mir.
Hallo @tombox,
Ich habe den Fehler gefunden. Im Iobroker ist bei setValue als String angegeben. Wenn ich es auf JSON umstelle, dann funktioniert es. Können wir dies im Adapter ändern?
@tiger-vi Das funktioniert bei mir leider nicht
Hab jetzt folgenden Code von dir genommen und erhalte den gleichen Fehler.
var standard = '{"mon":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],"tue":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],\
"wed":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],"thu":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],\
"fri":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],"sat":[{"start":"00:00","end":"24:00","mode":"normal","position":0}],\
"sun":[{"start":"00:00","end":"24:00","mode":"normal","position":0}]}'
setState('viessmannapi.0.XXX.0.features.heating.circuits.0.heating.schedule.commands.setSchedule.setValue', JSON.parse(standard));
Am Ende macht JSON.pars ja auch nur wieder einen JSON aus dem String. Ich hatte es bei mir mit den alten Adapter auch schon als JSON. Schade, hätte klappen können.
@tombox bis jetzt noch nicht. Werde ich heute Abend mal machen. Ich hatte die Hoffnung, dass es hier schon jemand geschafft hat.