NEWS
Test ViessmannAPI v2.0.0
-
@tombox Ich habe den Adapter seit dem 5.8. erfolgreich laufen. Vielen Dank nochmal für die gute Arbeit. Der Adapter zeigt welche Vielfalt an Daten über die API erreichbar ist.
Folgende Beobachtungen habe ich inzwischen gemacht:
- Der Adapter kommt aus dem Fall "Limit von 1450 Calls pro Tag erreicht" nicht wieder allein raus (Fehler 429). Da hilft nur der Adapter-Neustart. Ich hatte ein Abrufintervall von 1 Minute eingestellt.
- Offensichtlich werden bei jedem Abrufintervall vor den Feature Daten (die eigentlich interessanten Data Points), auch immer die Event Daten und die Installationsdaten abgerufen. Die Installationsdaten dürften sich kaum ändern; da reicht sicher eine Abfrage beim Adapterstart. Die Event Daten sind i.d.R. auch nicht interessant (man sieht die nächtliche DSL Neuverbindung), aber möglicherweise auch Anlagenstörungen? Ein Abfrageintervall von 1x pro Tag reicht sicher. Das Intervall von 1x pro Minute für die Feature Daten wäre mir wichtig (z.B. für die Modulation des Brenners).
Danke und viele Grüße
Jürgen -
@tombox z.B.
2021-08-07 19:33:27.023 - [31merror[39m: viessmannapi.0 (10019) Error: Request failed with status code 429
2021-08-07 19:33:27.025 - [31merror[39m: viessmannapi.0 (10019) {"viErrorId":"req-5dc5529f67a74c1e9b55e75e1263d8f5","statusCode":429,"errorType":"RATE_LIMIT_EXCEEDED","message":"API calls rate limit has been exceeded. Please wait until your limit will renew.","extendedPayload":{"name":"development portal "75755f453bf1929a02b34a0eae6a4b48" daily limit","requestCountLimit":1450,"clientId":"75755f453bf1929a02b34a0eae6a4b48","userId":"c65d8494-7d16-440b-af4b-56c458dff99c","limitReset":1628380805088}}Zum Zeitpunkt LimitReset war die API wieder frei. Vorher wiederholt sich der Fehler permanent.
-
@tombox z.B.
2021-08-07 19:33:27.023 - [31merror[39m: viessmannapi.0 (10019) Error: Request failed with status code 429
2021-08-07 19:33:27.025 - [31merror[39m: viessmannapi.0 (10019) {"viErrorId":"req-5dc5529f67a74c1e9b55e75e1263d8f5","statusCode":429,"errorType":"RATE_LIMIT_EXCEEDED","message":"API calls rate limit has been exceeded. Please wait until your limit will renew.","extendedPayload":{"name":"development portal "75755f453bf1929a02b34a0eae6a4b48" daily limit","requestCountLimit":1450,"clientId":"75755f453bf1929a02b34a0eae6a4b48","userId":"c65d8494-7d16-440b-af4b-56c458dff99c","limitReset":1628380805088}}Zum Zeitpunkt LimitReset war die API wieder frei. Vorher wiederholt sich der Fehler permanent.
@jrudolph Ich habe mal die requests umgestellt.
Es gibt jetzt ein eignen Interval für events. Default ist da 300min/5h
Es werden die Features vom Gateway nicht mehr geholt.Somit sollte ein Interval von 1min möglich sein.
Er sollte sich nachts um 2 selber vom 429 erholen außer er wird vorher neugestartet -
@jrudolph Ich habe mal die requests umgestellt.
Es gibt jetzt ein eignen Interval für events. Default ist da 300min/5h
Es werden die Features vom Gateway nicht mehr geholt.Somit sollte ein Interval von 1min möglich sein.
Er sollte sich nachts um 2 selber vom 429 erholen außer er wird vorher neugestartet -
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:

-
@tombox said in Test ViessmannAPI v2.0.0:
@keepon Instanz muss wie in Beitrag 1 beschrieben selbst erstellt werden
Hi, Danke - ich hab das tatsächlich übersehen.
Leider bekomme ich nur Daten von der Vitocconnect Box angezeigt und keine von der Anlage, Vitodens-200 W. Laut einem ersten Post wird die nicht unterstützt - denke, dass es daran liegt?
Mit dem alten Adapter ging das…VG Marcel
-
@tombox said in Test ViessmannAPI v2.0.0:
@keepon Instanz muss wie in Beitrag 1 beschrieben selbst erstellt werden
Hi, Danke - ich hab das tatsächlich übersehen.
Leider bekomme ich nur Daten von der Vitocconnect Box angezeigt und keine von der Anlage, Vitodens-200 W. Laut einem ersten Post wird die nicht unterstützt - denke, dass es daran liegt?
Mit dem alten Adapter ging das…VG Marcel
@tombox
Daten auslesen funktioniert super mit dem Adapter.
Will ich z.B. zwischen Warmwasser und Warmwasser mit Heizung umschalten funktioniert das auch.
Die Temperatur Heizprogramm Normal
viessmannapi.0.xxxxx.0.features.heating.circuits.0.operating.programs.normal.properties.temperature.value
kann verändert werden. Jedoch bekommen ich folgende Warnung:
web.0
12547 2021-08-09 12:50:49.157 warn Read-only state "viessmannapi.0.1288346.0.features.heating.circuits.0.operating.programs.normal.properties.temperature.value" has been written without ack-flag with value
In den Io-Broker Daten verändert sich der Wert jedoch nicht bei der Heizungsanlage. -
@tombox
Daten auslesen funktioniert super mit dem Adapter.
Will ich z.B. zwischen Warmwasser und Warmwasser mit Heizung umschalten funktioniert das auch.
Die Temperatur Heizprogramm Normal
viessmannapi.0.xxxxx.0.features.heating.circuits.0.operating.programs.normal.properties.temperature.value
kann verändert werden. Jedoch bekommen ich folgende Warnung:
web.0
12547 2021-08-09 12:50:49.157 warn Read-only state "viessmannapi.0.1288346.0.features.heating.circuits.0.operating.programs.normal.properties.temperature.value" has been written without ack-flag with value
In den Io-Broker Daten verändert sich der Wert jedoch nicht bei der Heizungsanlage. -
@tombox
Daten auslesen funktioniert super mit dem Adapter.
Will ich z.B. zwischen Warmwasser und Warmwasser mit Heizung umschalten funktioniert das auch.
Die Temperatur Heizprogramm Normal
viessmannapi.0.xxxxx.0.features.heating.circuits.0.operating.programs.normal.properties.temperature.value
kann verändert werden. Jedoch bekommen ich folgende Warnung:
web.0
12547 2021-08-09 12:50:49.157 warn Read-only state "viessmannapi.0.1288346.0.features.heating.circuits.0.operating.programs.normal.properties.temperature.value" has been written without ack-flag with value
In den Io-Broker Daten verändert sich der Wert jedoch nicht bei der Heizungsanlage. -
@labamba viessmannapi.0.xxxxx.0.features.heating.circuits.0.operating.programs.normal.commands.setTemperature.setValue
-
Hi @tombox ,
erstmal vielen Dank für deine Mühe. Der Adapter klappt bei mir wunderbar. Mir fehlt allerdings der Datenpunkt für die produzierte Energie der Solaranlage. Ich finde zwar die tageswerte, aber keinen Gesamtwert (und auch keine Wochen/Monat/Jahreswerte) mehr...
Bisher war der unter viessmannapi.0.heating.solar.power.cumulativeProduced.value abrufbar. Hast du die Chance das noch zu checken?

Vielen Dank
Michael -
@tombox
Daten auslesen funktioniert super mit dem Adapter.
Will ich z.B. zwischen Warmwasser und Warmwasser mit Heizung umschalten funktioniert das auch.
Die Temperatur Heizprogramm Normal
viessmannapi.0.xxxxx.0.features.heating.circuits.0.operating.programs.normal.properties.temperature.value
kann verändert werden. Jedoch bekommen ich folgende Warnung:
web.0
12547 2021-08-09 12:50:49.157 warn Read-only state "viessmannapi.0.1288346.0.features.heating.circuits.0.operating.programs.normal.properties.temperature.value" has been written without ack-flag with value
In den Io-Broker Daten verändert sich der Wert jedoch nicht bei der Heizungsanlage. -
Hi @tombox ,
erstmal vielen Dank für deine Mühe. Der Adapter klappt bei mir wunderbar. Mir fehlt allerdings der Datenpunkt für die produzierte Energie der Solaranlage. Ich finde zwar die tageswerte, aber keinen Gesamtwert (und auch keine Wochen/Monat/Jahreswerte) mehr...
Bisher war der unter viessmannapi.0.heating.solar.power.cumulativeProduced.value abrufbar. Hast du die Chance das noch zu checken?

Vielen Dank
MichaelLaut Viessmann API-Beschreibung sollte es diese Werte unter heating.solar.power.production (Solar thermal power production) geben:
Shows statistics of solar power production: daily, weekly, monthly, yearly
-
@jrudolph Ich habe mal die requests umgestellt.
Es gibt jetzt ein eignen Interval für events. Default ist da 300min/5h
Es werden die Features vom Gateway nicht mehr geholt.Somit sollte ein Interval von 1min möglich sein.
Er sollte sich nachts um 2 selber vom 429 erholen außer er wird vorher neugestartetVielen Dank für den Adapter!!
@tombox sagte in Test ViessmannAPI v2.0.0:
Es gibt jetzt ein eignen Interval für events. Default ist da 300min/5h
Es werden die Features vom Gateway nicht mehr geholt.
Somit sollte ein Interval von 1min möglich sein.
Er sollte sich nachts um 2 selber vom 429 erholen außer er wird vorher neugestartetIch habe "Update device status" auf 1 min und "Update gateway events" auf 500 min eingestellt und dass sollte ja eigentlich zur Abdeckung eines ganzen Tag ausreichend sein, oder? Dennoch erhalte ich im Laufe des Tages die nachfolgende Meldungen:
2021-08-09 17:18:40.941 error Error: Request failed with status code 429 2021-08-09 17:18:40.940 error https://api.viessmann.com/iot/v1/equipment/installations/396344/gateways/7637415019518205/devices/$id/features 2021-08-09 17:18:40.939 info Rate limit reached. Will be reseted next day 02:00Hast Du eine Idee warum?
-
Vielen Dank für den Adapter!!
@tombox sagte in Test ViessmannAPI v2.0.0:
Es gibt jetzt ein eignen Interval für events. Default ist da 300min/5h
Es werden die Features vom Gateway nicht mehr geholt.
Somit sollte ein Interval von 1min möglich sein.
Er sollte sich nachts um 2 selber vom 429 erholen außer er wird vorher neugestartetIch habe "Update device status" auf 1 min und "Update gateway events" auf 500 min eingestellt und dass sollte ja eigentlich zur Abdeckung eines ganzen Tag ausreichend sein, oder? Dennoch erhalte ich im Laufe des Tages die nachfolgende Meldungen:
2021-08-09 17:18:40.941 error Error: Request failed with status code 429 2021-08-09 17:18:40.940 error https://api.viessmann.com/iot/v1/equipment/installations/396344/gateways/7637415019518205/devices/$id/features 2021-08-09 17:18:40.939 info Rate limit reached. Will be reseted next day 02:00Hast Du eine Idee warum?
@blacktigga hast du denn vor heute 02:00 geupdatet ?
-
@blacktigga hast du denn vor heute 02:00 geupdatet ?
@tombox Ich hatte gestern abend den Adapter nochmal neu installiert
-
@blacktigga hast du denn vor heute 02:00 geupdatet ?
@tombox ... vor der Neuinstallation hatte ich die gleichen Fehlermeldungen (aber schon über mehrere Tage hinweg) und dann hatte ich Thread gelesen, dass die Abfragen umgestellt worden sind. Nach der Neuinstallation waren die Fehlermeldungen auch noch da, aber heute morgen (dann wahrscheinlich nach 2:00 Uhr) lief alles. Seid heute Nachmittag erhalte ich die Fehlermeldung aber wieder...
-
@tombox ... vor der Neuinstallation hatte ich die gleichen Fehlermeldungen (aber schon über mehrere Tage hinweg) und dann hatte ich Thread gelesen, dass die Abfragen umgestellt worden sind. Nach der Neuinstallation waren die Fehlermeldungen auch noch da, aber heute morgen (dann wahrscheinlich nach 2:00 Uhr) lief alles. Seid heute Nachmittag erhalte ich die Fehlermeldung aber wieder...
@blacktigga Sollte eigentlich nicht passieren. Wieviele Geräte hast du am Gateway wie oft setzt du Werte an das Gerät
du kannst mal den adapter in debug setzen und da siehst du auch wieviele request da pro minute rausgehen