NEWS
Test ViessmannAPI v2.0.0
Test ViessmannAPI v2.0.0
-
@palm_maniac 500 ist ein Fehler bei viessmann einfach abwarten und später probieren
Hallo,
konnte eventuell schon jemand mit Wärmepumpe inkl. Kühlfunktion (NC) den entsprechenden Datenpunkt finden, woran man erkennt, dass die Kühlung gerade aktiv ist.
Ich finde viele Punkte zum Thema "Cooling", allerdings wird kein Datenpunkt auf "true" gesetzt,
obwohl gerade die Kühlung läuft...Grüße
-
@palm_maniac 500 ist ein Fehler bei viessmann einfach abwarten und später probieren
@tombox also bei mir wird der Adapter auch nach fast 3 Tagen nicht grün, weiterhin Fehler 500. Da die App funktioniert und es wohl bei anderen auch funktioniert, verstehe ich nicht wieso es bei mir nicht will. So viel falsch machen kann man doch nicht...
PS: Oh mann, bin ich ein Honk.... Ich hatte Recaptcha noch an...
Jetzt läufts. 
-
Hi ich habe ein neuen Adapter für Viessman erstellt
Man benötigt eine ClientID von der Viessmann API
https://app.developer.viessmann.com besuchen und eine Client ID mit diesen Optionen erstellen:
Name: iobroker
Google reCAPTCHA deaktivieren
Redirect URI: http://localhost:4200/Die Client ID in die Einstellungen kopieren
Außentemperatur findet sich z.B. hier:
viessmannapi.0.XXXXX.0.features.heating.sensors.temperature.outside.properties.value.value
Weitere Beispiele siehe UntenRemote Befehle sind möglich unter
viessmannapi.0.XXXXX.0.features.heating.dhw.temperature.main.commands.setTargetTemperature.setValueZum Installieren:
Via AdaptersucheIn den Instanzoptionen die jeweiligen Optionen einstellen.
Github
https://github.com/TA2k/ioBroker.viessmannapiKompatibilitätsliste:
https://documentation.viessmann.com/static/compatibility
Regelungen für Wand- oder Kompaktgeräte
Vitotronic 200, Typ HO1, HO1A, HO1B, HO1D, HO2B, HO2C
Vitotronic 200 RF, Typ HO1C, HO1E
Regelungen für bodenstehende Heizkessel
Vitotronic 200, Typ KO1B, KO2B, KW6, KW6A, KW6B, KW1, KW2, KW4, KW5
Vitotronic 300, Typ KW3
Regelungen für Wärmepumpen und Hybridgeräte
Vitotronic 200, Typ WO1A, WO1B, WO1C
Regelungen für Festbrennstoffkessel
Vitoligno 200-S mit Ecotronic (ab Softwarestand 2.03)
Vitoligno 250-S mit Ecotronic (ab Softwarestand 2.00)
Vitoligno 300-C mit Ecotronic (ab Softwarestand 2.12)
Vitoligno 300-P mit Vitotronic 200 FO1
Vitoligno 300-S mit Ecotronic (ab Softwarestand 2.04)Liste aller Datenpunkte:
https://documentation.viessmann.com/static/iot/data-pointsFrage zu fehlende Datenpunkte bitte direkt an Viessmann
https://www.viessmann-community.com/t5/The-Viessmann-API/bd-p/dev-viessmann-apiBeispiele:
Vorlauftemperatur: viessmannapi.0.XXXX.features.heating.circuits.0.sensors.temperature.supply.properties.value.value, Brennerstatus: viessmannapi.0.XXXX.0.features.heating.burners.0.properties.active.value Anzahl Zündungen: viessmannapi.0.XXXXX.features.heating.burners.0.statistics.properties.starts.value Betriebsstunden viessmannapi.0.XXXXX.features.heating.burners.0.statistics.properties.hours.value Kesseltemperatur viessmannapi.0.XXXXX.features.heating.boiler.sensors.temperature.main.properties.unit.value Kompressor aktiv: viessmannapi.0.xxx.0.features.heating.compressors.0.properties.active.value Heizkreispumpe aktiv: viessmannapi.0.xxx.0.features.heating.circuits.1.circulation.pump.properties.status.value Warmwasserbereitung: viessmannapi.0.xxx.0.features.heating.dhw.charging.properties.active.value Heizungsmodus: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.modes.active.properties.value.value Heizprogramm: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.active.properties.value.value Temperatur Heizprogramm normal: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.normal.properties.temperature.value Temperatur Heizprogramm reduz.: viessmannapi.0.xxx.0.features.heating.circuits.1.operating.programs.reduced.properties.temperature.value Warmwasser Soll Temperatur: viessmannapi.0.xxx.0.features.heating.dhw.temperature.properties.value.value Warmwasser Ist Temperatur: viessmannapi.0.xxx.0.features.heating.dhw.sensors.temperature.hotWaterStorage.properties.value.value Temperatur Außensensor: viessmannapi.0.xxx.0.features.heating.sensors.temperature.outside.properties.value.value Statistik Kompressor Starts: viessmannapi.0.xxx.0.features.heating.compressors.0.statistics.properties.starts.value Statistik Kompressor Stunden: viessmannapi.0.xxx.0.features.heating.compressors.0.statistics.properties.hours.value Temperatursensoren der Heizkreise: viessmannapi.0.xxxxxxx.0.features.heating.circuits.0.sensors.temperature.supply.properties.value.value Primärkreis Vorlauftemperatur: viessmann.0.xxx.0.features.heating.primaryCircuit.sensors.temperature.supply.properties.value.value Sekundärkreis Vorlauftemperatur: viessmann.0.xxx.0.features.heating.secondaryCircuit.sensors.temperature.supply.properties.value.value Sekundärkreis Rücklauftemperatur: viessmann.0.xxx.0.features.heating.secondaryCircuit.sensors.temperature.return.properties.value.value ? viessmann.0.xxx.0.features.heating.sensors.temperature.return.properties.value.value Heizung an (Kompressor): viessmannapi.0.x.0.features.heating.compressors.0.properties.active.value WW Temp viessmannapi.0.x.0.features.heating.dhw.sensors.temperature.hotWaterStorage.properties.value.value HW Temp viessmannapi.0.x.0.features.heating.buffer.sensors.temperature.main.properties.value.value ZP features.heating.circuits.1.circulation.pump.properties.status.value WP_Aussentemperatur 0.features.heating.sensors.temperature.outside.properties.value.value WP_gemeinsame Vorlauftemperatur 0.features.heating.boiler.sensors.temperature.commonSupply.properties.value.value WP_Temperatur Pufferspeicher 0.features.heating.buffer.sensors.temperature.main.properties.value.value WP_Heizkörper_Umwälzpumpe ON/OFF 0.features.heating.circuits.0.circulation.pump.properties.status.value WP_Heizkörper_Umwälzpumpe_Frostschutz 0.features.heating.circuits.0.frostprotection.properties.status.value WP_Heizkörper_Niveau 0.features.heating.circuits.0.heating.curve.properties.shift.value WP_Heizkörper_Neigung 0.features.heating.circuits.0.heating.curve.properties.slope.value WP_Heizkörper_Zeitplan 0.features.heating.circuits.0.heating.schedule.properties.entries.value WP_Heizkörper_Komfort_Solltemperatur 0.features.heating.circuits.0.operating.programs.comfortHeating.properties.temperature.value WP_Heizkörper_Normal_Solltemperatur 0.features.heating.circuits.0.operating.programs.normalHeating.properties.temperature.value WP_Heizkörper_Reduziert_Solltemperatur 0.features.heating.circuits.0.operating.programs.reducedHeating.properties.temperature.value WP_Vorlauftemperatur Heizkörper 0.features.heating.circuits.0.sensors.temperature.supply.properties.value.value ???? 0.features.heating.circuits.0.operating.programs.comfortEnergySaving.properties.reason.value ???? 0.features.heating.circuits.0.operating.programs.normalEnergySaving.properties.reason.value WP_Heizkörper_FBH ON/OFF 0.features.heating.circuits.1.circulation.pump.properties.status.value WP_FBH_Umwälzpumpe_Frostschutz 0.features.heating.circuits.1.frostprotection.properties.status.value WP_FBH_Niveau 0.features.heating.circuits.1.heating.curve.properties.shift.value WP_FBH_Neigung 0.features.heating.circuits.1.heating.curve.properties.slope.value WP_FBH_Zeitplan 0.features.heating.circuits.1.heating.schedule.properties.entries.value WP_FBH_Komfort_Solltemperatur 0.features.heating.circuits.1.operating.programs.comfortHeating.properties.temperature.value WP_FBH_Normal_Solltemperatur 0.features.heating.circuits.1.operating.programs.normalHeating.properties.temperature.value WP_FBH_Reduziert_Solltemperatur 0.features.heating.circuits.1.operating.programs.reducedHeating.properties.temperature.value WP_FBH_Vorlauftemperatur 0.features.heating.circuits.1.sensors.temperature.supply.properties.value.value WP_Stromverbrauch_HEUTE 0.features.heating.power.consumption.summary.heating.properties.currentDay.value WP_Stromverbrauch_MONAT 0.features.heating.power.consumption.summary.heating.properties.currentMonth.value WP_Stromverbrauch_JAHR 0.features.heating.power.consumption.summary.heating.properties.currentYear.value WP_Stromverbrauch_LETZTER_MONAT 0.features.heating.power.consumption.summary.heating.properties.lastMonth.value WP_Stromverbrauch_LETZTEN_7_TAGE 0.features.heating.power.consumption.summary.heating.properties.lastSevenDays.value WP_Stromverbrauch_LETZTES_JAHR 0.features.heating.power.consumption.summary.heating.properties.lastYear.value WP_Primärkreis_Temperatur 0.features.heating.primaryCircuit.sensors.temperature.supply.properties.value.value WP_Sekundärkreis_Temperatur 0.features.heating.secondaryCircuit.sensors.temperature.supply.properties.value.value WP_Rücklauftemperatur 0.features.heating.sensors.temperature.return.properties.value.value WP_Volumenstrom 0.features.heating.sensors.volumetricFlow.allengra.properties.value.value Betriebsstunden Verdichter 0.features.heating.compressors.0.statistics.properties.hours.valueBeispiel zum setzen eines Schedule:
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));Beispiel zirkulationspumpe
// schedule zum einschalten, allerdings nur zwischen 6 und 21 uhr var pump_on = '{"mon":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"tue":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"wed":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"thu":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"fri":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"sat":[{"start":"06:00","end":"21:00","mode":"on","position":0}],"sun":[{"start":"06:00","end":"21:00","mode":"on","position":0}]}' // schedule leeren - pumpe ausschalten var pump_off = '{"mon":[], "tue":[],"wed":[],"thu":[],"fri":[],"sat":[],"sun":[]}' setState("viessmannapi.0.xxx.features.heating.dhw.pumps.circulation.schedule.commands.setSchedule.setValue", JSON.parse(pump_on)); // oder pump_offDie Max. Heizleistung gibt es nicht als API Datenpunkt, kann nur am Gerät geändert werden.
Kostenlose Paket enthält:

Hallo zusammen,
ich schaffe es nicht die Zeitprogramme für Wasser oder für die Heizung zu ändern. Wenn ich setValue aufrufe, dann erhalte ich nachfolgenden Fehler:
statusCode":502,"errorType":"DEVICE_COMMUNICATION_ERROR","message":"DEVICE_COMMUNICATION_ERROR","extendedPayload":{"code":"500","reason":"INTERNAL_SERVER_ERROR","details":"entries[cur].map is not a function"}}Ich habe bei zum Beispiel folgenden Wert bei viessmannapi.0.XXX.0.features.heating.dhw.schedule.commands.setSchedule.setValue verwendet:
{ "mon": [ { "start": "05:30", "end": "19:30", "mode": "on", "position": 0 } ] }Wenn ich das Heizprogramm verändere, dann erhalte ich den gleichen Fehler.
-
Hallo zusammen,
ich schaffe es nicht die Zeitprogramme für Wasser oder für die Heizung zu ändern. Wenn ich setValue aufrufe, dann erhalte ich nachfolgenden Fehler:
statusCode":502,"errorType":"DEVICE_COMMUNICATION_ERROR","message":"DEVICE_COMMUNICATION_ERROR","extendedPayload":{"code":"500","reason":"INTERNAL_SERVER_ERROR","details":"entries[cur].map is not a function"}}Ich habe bei zum Beispiel folgenden Wert bei viessmannapi.0.XXX.0.features.heating.dhw.schedule.commands.setSchedule.setValue verwendet:
{ "mon": [ { "start": "05:30", "end": "19:30", "mode": "on", "position": 0 } ] }Wenn ich das Heizprogramm verändere, dann erhalte ich den gleichen Fehler.
@schueli86 Hast du mal hier gefragt
https://www.viessmann-community.com/t5/Getting-started-programming-with/bd-p/dev-viessmann-api-getting-started
ob sie helfen können wie der request korrekt aussehen soll -
@schueli86 Hast du mal hier gefragt
https://www.viessmann-community.com/t5/Getting-started-programming-with/bd-p/dev-viessmann-api-getting-started
ob sie helfen können wie der request korrekt aussehen soll -
@tombox bis jetzt noch nicht. Werde ich heute Abend mal machen. Ich hatte die Hoffnung, dass es hier schon jemand geschafft hat.
@schueli86 Ich habe in die github version die error message verbessert dann hilft es die frage zu stellen
-
Hallo zusammen,
ich schaffe es nicht die Zeitprogramme für Wasser oder für die Heizung zu ändern. Wenn ich setValue aufrufe, dann erhalte ich nachfolgenden Fehler:
statusCode":502,"errorType":"DEVICE_COMMUNICATION_ERROR","message":"DEVICE_COMMUNICATION_ERROR","extendedPayload":{"code":"500","reason":"INTERNAL_SERVER_ERROR","details":"entries[cur].map is not a function"}}Ich habe bei zum Beispiel folgenden Wert bei viessmannapi.0.XXX.0.features.heating.dhw.schedule.commands.setSchedule.setValue verwendet:
{ "mon": [ { "start": "05:30", "end": "19:30", "mode": "on", "position": 0 } ] }Wenn ich das Heizprogramm verändere, dann erhalte ich den gleichen Fehler.
@schueli86 Bei der Lüftung habe ich es nun hinbekommen, nachdem ein "Fehler" in der Viessmann API gefixed wurde.
Mit JSON.parse war bei mir der Fehler "entries[cur].map" .... weg.
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)); -
@schueli86 Bei der Lüftung habe ich es nun hinbekommen, nachdem ein "Fehler" in der Viessmann API gefixed wurde.
Mit JSON.parse war bei mir der Fehler "entries[cur].map" .... weg.
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));@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.
-
@schueli86 Ich habe in die github version die error message verbessert dann hilft es die frage zu stellen
-
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?
@schueli86 ich habe mal auf object gesetzt.
installiere neu
alle objekte löschen
instanze neustarten
und dann testen ob string werte und json funktionieren -
@schueli86 ich habe mal auf object gesetzt.
installiere neu
alle objekte löschen
instanze neustarten
und dann testen ob string werte und json funktionieren -
@tombox scheinbar wird dann wieder ein String verwendet. Es kommt bei setSchedule wieder der Fehler. Umstellung auf JSON funktioniert dann wieder bei mir.
@schueli86 was änderst du genau auf JSON
-
@schueli86 was änderst du genau auf JSON
-
@schueli86 Das ist auch der einzige Zustandstyp der bei dir funktioniert
-
@schueli86 Das ist auch der einzige Zustandstyp der bei dir funktioniert
-
@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
-
@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
-
@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.
@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!