NEWS
Test ViessmannAPI v2.0.0
-
@schueli86 was änderst du genau auf JSON
-
-
@schueli86 Das ist auch der einzige Zustandstyp der bei dir funktioniert
-
@tombox gemischt scheint auch zu funktionieren.
-
@schueli86 Bei mir hat es funktioniert, weil "ventilation.schedule.commands.setSchedule.setValue" schon "type": "json" war.
Im Gegensatz zum Heizungsparameter vom Typ "String". Hab es auch gerade erst bemerkt. -
@schueli86 Kannst du nochmal neuinstallieren und alle objekte löschen es müsste jetzt mixed sein. testen ob noch alle setvalues gehen
-
@tombox hab es gerade getestet. Es scheint alles zu funktionieren. Danke für deine ganze Arbeit an diesem Adapter.
-
August 2021
Updates zu neuen und geänderten Device Features
Folgende Features sind nun über die API zugänglich. Zum Teil ersetzen sie frühere (veraltete) Features:heating.gas.consumption.total
heating.power.consumption.total >> ersetzt heating.power.consumption
heating.power.consumption.heating
heating.power.consumption.dhw
heating.dhw.temperature.main >> ersetzt heating.dhw.temperature
heating.dhw.temperature.hygiene
heating.dhw.temperature.temp2
heating.compressors.N >> ersetzt heating.compressor
heating.compressors.N.statistics >> ersetzt heating.compressor.statistics
-
@schueli86 said in Test ViessmannAPI v2.0.0:
@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));
Klappt bei mir mittlerweile auch.
Allerdings immer nur das Umschalten auf mode:normal.
Hat es schon einer geschafft auf "Reduziert" oder "Komfort" zuschalten?
Habe eine Vitodens 300-W ohne Warmwasser...Danke für den klasse Adapter!
-
@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.
-
@schueli86
Ok, danke.Mein Hintergrund ist, dass ich gerne je nach Anwesenheit von normal auf reduziert umschalten möchte.
Wenn morgens alle aus dem haus sind, soll von normal auf reduziert gestellt werden und umgekehrt.
Hat jemand eine Idee wie ich das umsetzen könnte? -
@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
-
Hallo,
ich versuche den Adapter zum laufen zu bekommen.
Bleibt er bei mir "gelb" stehen und liest keine Datenpunkte ein.
API Key etc habe ich alles registriert, auch login daten stimmen
-
@system-9 und warum , was steht denn im Log?
Hast du auch den Google-Captcha deaktiviert bei der API?
Was steht bei Viessmann im Portal, wieviel Zugriffe ? -
@ilovegym
ohmann, wer lesen kann ist klar im vorteil, das Captcha war es xD -
@jensemann Hallo, bei funktioniert alles außer Schreiben. Ich kann keine Werte setzen oder schedules anlegen, ob per script oder direkt im objects-Browser. Dabei habe ich schon den Rat von schueli86 befolgt und alles gelöscht und mit der neuesten Adapter 2.0.1 aus Github installiert.
Beim Start des Adapters bekomme ich folgende Warnmeldung:
Object of state "viessmannapi.0.xxx.events.data08.body.commandBody.newSchedule" is missing the required property "common.type".Fehlermeldung beim Setzen erhalte ich keine! Wer kann mir bitte helfen?
-
@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.
-
@schueli86 Vorab danke für Deine Mühe.
Ich habe Dein Script verwendet und enstprechend angepasst:
var standard = '{"mon":[{"start":"04:00","end":"06:00","mode":"on","position":0}],"tue":[{"start":"04:00","end":"08:00","mode":"on","position":0}],"wed":[{"start":"04:00","end":"08:00","mode":"on","position":0}],"thu":[{"start":"04:00","end":"08:00","mode":"on","position":0}],"fri":[{"start":"04:00","end":"08:00","mode":"on","position":0}],"sat":[{"start":"04:00","end":"08:00","mode":"on","position":0}],"sun":[{"start":"04:00","end":"08:00","mode":"on","position":0}]}' setState('viessmannapi.0.xxxx.0.features.heating.dhw.schedule.commands.setSchedule.setValue', JSON.parse(standard));
Log-Meldung:
viessmannapi.0 2021-08-26 10:12:17.673 debug ignore type:gateway javascript.0 2021-08-26 10:12:11.866 info Stop script script.js.Viessmann.0-test.test_dhw3 viessmannapi.0 2021-08-26 10:12:07.671 debug {"data":{"success":true,"reason":"COMMAND_EXECUTION_SUCCESS"}} javascript.0 2021-08-26 10:12:07.416 info State value to set for "viessmannapi.0.79622.0.features.heating.dhw.schedule.commands.setSchedule.setValue" has to be one of type "string", "number", "boolean" but received type "object" javascript.0 2021-08-26 10:12:07.401 info script.js.Viessmann.0-test.test_dhw3: registered 0 subscriptions and 0 schedules javascript.0 2021-08-26 10:12:07.390 info Start javascript script.js.Viessmann.0-test.test_dhw3
Das Ganze funktionierte tatsächlich, aber nur ein einziges mal. Wenn ich jetzt versuche Zeiten anzupassen, geht leider nichts, obwohl das Log ja eigentlich success meldet.
-
@schueli86 Habe noch ein wenig rumprobiert. Für mich sieht es so aus, als könnte ich Schedules nicht verändern, wenn sich die gesetzten Zeiten überschneiden. Das erklärt dann auch meine vielen Fehlversuche.
Lösung: Also wenn es z.B. schon eine Position "0" für Montag 06:00-08:00 gibt, dann verändert sie sich nicht durch setzen von z.B. 06:00-09:00. Es geht aber wenn man andere, sich nicht überschneidende Zeiten verwendet. Es geht auch z.B. eine Position "1" hinzuzufügen.var standard = '{"mon":[{"start":"04:00","end":"06:00","mode":"on","position":0},{"start":"14:00","end":"16:00","mode":"on","position":1}],"tue":[{"start":"04:00","end":"08:00","mode":"on","position":0}],"wed":[{"start":"04:00","end":"08:00","mode":"on","position":0}],"thu":[{"start":"04:00","end":"08:00","mode":"on","position":0}],"fri":[{"start":"04:00","end":"08:00","mode":"on","position":0}],"sat":[{"start":"04:00","end":"08:00","mode":"on","position":0}],"sun":[{"start":"04:00","end":"08:00","mode":"on","position":0}]}' setState('viessmannapi.0.xxxx.0.features.heating.dhw.schedule.commands.setSchedule.setValue', JSON.parse(standard));
Die Frage ist also, wie löscht man einzelne Schedules, oder alle und setzt dann ganz einfach alle neu? Folgendes geht bei mir:
var standard = '{}' setState('viessmannapi.0.xxxx.0.features.heating.dhw.schedule.commands.setSchedule.setValue', JSON.parse(standard));
-
@schueli86 Noch eine neue Erkenntnis:
Habe heute Abend noch probiert Schedules zu setzen, wieder ohne Erfolg und keine Fehlermeldung! Erst nach manuellem Restart des Adapters hat es wieder funktioniert. Hm.