NEWS
Test ViessmannAPI v2.0.0
Test ViessmannAPI v2.0.0
-
@tiger-vi Probier mal nur
{"Fri":[{"start":"00:00","end":"24:00","mode":"intensive","position": 0}]}@tombox Danke für die Rückmeldung nach langen Probieren denke ich, dass es hier noch einen Fehler in der API von Viessmann gibt
{
"mon":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],
...
"sun":[{"start":"00:00","end":"24:00","mode":"standard","position":0}],
}Liefert Fehler 500
{"code":"500","reason":"COMMAND_EXECUTION_FAILURE","details":"Invalid schedule entry mode: standard."}}Wenn man aber unter /features/ventilation.schedule/ die momentan konfigurieren Modes anschaut, heißen sie dort: "levelThree" für Standard und "levelFour" für Intensive Lüftungsstufe.
Wenn man "levelThree" nutzt kommt aber auch ein Fehler:
{"code":"400","reason":"VALIDATION_ERROR","details":"The parameter newSchedule ... does not meet the constraints {"type":"Schedule","modes":["reduced","standard","intensive"],
"maxEntries":8,"resolution":10,"defaultMode":"basic","overlapAllowed":true}:
Entry 'mon' has invalid mode."}}Hab die Frage mal ins Viessmann Developer Forum gepostet
-
@blacktigga Ich habe eingebaut das die virtuelle Geräte nicht aktualisiert werden nochmal neu installieren und testen ob das limit jetzt reicht
@tombox sagte in Test ViessmannAPI v2.0.0:
Ich habe eingebaut das die virtuelle Geräte nicht aktualisiert werden nochmal neu installieren und testen ob das limit jetzt reicht
Läuft seit heute morgen anstandslos durch

viessmannapi.0 2021-08-12 16:22:25.665 debug ignore type:virtual viessmannapi.0 2021-08-12 16:22:25.664 debug ignore type:virtual viessmannapi.0 2021-08-12 16:22:25.650 debug ignore type:gateway viessmannapi.0 2021-08-12 16:21:26.324 debug https://api.viessmann.com/iot/v1/equipment/installations/396344/gateways/7637415019518205/devices/0/features 0 {"data" -
@tombox sagte in Test ViessmannAPI v2.0.0:
Ich habe eingebaut das die virtuelle Geräte nicht aktualisiert werden nochmal neu installieren und testen ob das limit jetzt reicht
Läuft seit heute morgen anstandslos durch

viessmannapi.0 2021-08-12 16:22:25.665 debug ignore type:virtual viessmannapi.0 2021-08-12 16:22:25.664 debug ignore type:virtual viessmannapi.0 2021-08-12 16:22:25.650 debug ignore type:gateway viessmannapi.0 2021-08-12 16:21:26.324 debug https://api.viessmann.com/iot/v1/equipment/installations/396344/gateways/7637415019518205/devices/0/features 0 {"data"Moin an Alle,
ich hab nun schon gesucht und gesucht. Kann mir jemand sagen ob der Systemdruck bei den Datenpunkten dabei ist?
Danke
-
Hallo,
ich bin heute endlich dazu gekommen den neuen Adapter zu testen.
Zunächst hatte ich einfach, ohne den alten zu löschen, den neuen installiert und bekam folgende Fehler im Log:
viessmannapi.0 2021-08-13 14:50:48.768 error {"error":"internal server error"} viessmannapi.0 2021-08-13 14:50:48.768 error Error: Request failed with status code 500 viessmannapi.0 2021-08-13 14:50:48.533 info starting. Version 2.0.1 in /opt/iobroker/node_modules/iobroker.viessmannapi, node: v14.17.2, js-controller: 3.3.15Dann habe ich ihn gelöscht und neu installiert mit dem gleichen Ergebnis, der Adapter bleibt auf Gelb mit diesen Einträgen im Log. Liegt das an mir oder an Viessmann?
-
Hallo,
ich bin heute endlich dazu gekommen den neuen Adapter zu testen.
Zunächst hatte ich einfach, ohne den alten zu löschen, den neuen installiert und bekam folgende Fehler im Log:
viessmannapi.0 2021-08-13 14:50:48.768 error {"error":"internal server error"} viessmannapi.0 2021-08-13 14:50:48.768 error Error: Request failed with status code 500 viessmannapi.0 2021-08-13 14:50:48.533 info starting. Version 2.0.1 in /opt/iobroker/node_modules/iobroker.viessmannapi, node: v14.17.2, js-controller: 3.3.15Dann habe ich ihn gelöscht und neu installiert mit dem gleichen Ergebnis, der Adapter bleibt auf Gelb mit diesen Einträgen im Log. Liegt das an mir oder an Viessmann?
@palm_maniac 500 ist ein Fehler bei viessmann einfach abwarten und später probieren
-
@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