[Modul] Viessmann VitoConnect

Hallo Leute,

die VitoConnect Instanz verwende ich seit über einem Jahr ohne Probleme,
aber seit dem 17.04.2025 werden mit der Fehlermeldung „invalid-token-request“ keine Daten mehr bereit gestellt.

Auch eine Neuregistrierung bei Viessmann brachte keine Lösung.
Kennt jemand das Problem bzw. weiß eine Lösung?

Hallo,

bei gehts auch nicht mehr.
Meine eigene Anleitung von weiter oben geht auch nicht mehr.
Hat irgend jemand eine Ahnung, was Viessmann da geändert hat ?

Bei mir besteht das Problem seit dem 11.04.2025 :-/

Hm, bei mir funktioniert die Heizungskontrolle noch

Allerdings habe ich am 10.04.2025 folgende Mail von Viessmann bekommen:
Eventuell hängt es damit zusammen?

Important Update to Viessmann API

Dear Viessmann Developer Portal users,

We are announcing two important upcoming changes to the Viessmann API. These updates, effective 30.04.2025, aim to improve the API’s functionality, enhance consistency, and streamline the development process for our users.

Action Required (For Both Updates)

  • For IoT Feature Renaming: Update your API integrations to use the new feature names. The renamed IoT features are already available via the API for testing and implementation. Legacy names will be fully deprecated and removed after this date.
  • For API Endpoints Update: Update your integrations to use the new API endpoints (/iot/v2/…). The new endpoints are already available for use.

I. IoT Feature Renaming and Standardization

This update introduces a breaking change to the Viessmann API’s IoT features, primarily involving the renaming and standardization of several data point identifiers. These changes are necessary to improve platform consistency and align with ongoing updates. Existing integrations using the legacy feature names will cease to function correctly. Please note that some of these changes were previously announced in August 2024.

Impact:

  • This is a breaking change. Applications relying on the affected IoT feature names will require immediate updates to maintain functionality.
  • Affected device types: Buffer storage tank, Heating, Domestic hot water (DHW), Fuel cell, Heat pump, and Ventilation.

Reason for Change:

These changes are driven by platform updates aimed at enhancing consistency and standardization across our IoT features.

Detailed Changes

The following IoT feature names have been updated:

Buffer storage tank:

Replace heating.buffer.* with heating.bufferCylinder.*

  • heating.buffer.charging.level.bottom → heating.bufferCylinder.charging.level.bottom
  • heating.buffer.charging.level.middle → heating.bufferCylinder.charging.level.middle
  • heating.buffer.charging.level.top → heating.bufferCylinder.charging.level.top
  • heating.buffer.charging.level.total → heating.bufferCylinder.charging.level.total
  • heating.buffer.sensors.temperature.main → heating.bufferCylinder.sensors.temperature.main
  • heating.buffer.sensors.temperature.top → heating.bufferCylinder.sensors.temperature.top

Heating:

  • heating.circuits.N.operating.programs.summerEco → heating.circuits.N.operating.programs.reducedEnergySaving
  • heating.co2.saving→ heating.co2.saving.raw

Domestic hot water (DHW):

Replace .hotWaterStorage. with .dhwCylinder.

  • heating.dhw.comfort → heating.dhw.operating.modes.comfort / .eco / .active
  • heating.dhw.sensors.temperature.hotWaterStorage.bottom → heating.dhw.sensors.temperature.dhwCylinder.bottom
  • heating.dhw.sensors.temperature.hotWaterStorage.midBottom → heating.dhw.sensors.temperature.dhwCylinder.midBottom
  • heating.dhw.sensors.temperature.hotWaterStorage.middle → heating.dhw.sensors.temperature.dhwCylinder.middle
  • heating.dhw.sensors.temperature.hotWaterStorage.top → heating.dhw.sensors.temperature.dhwCylinder.top
  • heating.dhw.sensors.temperature.hotWaterStorage → heating.dhw.sensors.temperature.dhwCylinder

Fuel cell:

Replace heating.fuelcell.* with fuelCell.*

  • heating.fuelCell.operating.modes.active → fuelCell.operating.modes.active
  • heating.fuelCell.operating.modes.chimneySweeperMode → fuelCell.operating.modes.chimneySweeperMode
  • heating.fuelCell.operating.modes.ecological → fuelCell.operating.modes.ecological
  • heating.fuelCell.operating.modes.economical → fuelCell.operating.modes.economical
  • heating.fuelCell.operating.modes.energyControlled → fuelCell.operating.modes.energyControlled
  • heating.fuelCell.operating.modes.heatControlled → fuelCell.operating.modes.heatControlled
  • heating.fuelCell.operating.modes.holidayWithFuelCellOff → fuelCell.operating.modes.holidayWithFuelCellOff
  • heating.fuelCell.operating.modes.holidayWithFuelCellOn → fuelCell.operating.modes.holidayWithFuelCellOn
  • heating.fuelCell.operating.modes.maintenance → fuelCell.operating.modes.maintenance
  • heating.fuelCell.operating.modes.party → fuelCell.operating.modes.party
  • heating.fuelCell.operating.modes.standby → fuelCell.operating.modes.standby
  • heating.fuelCell.operating.phase → fuelCell.operating.phase
  • heating.fuelCell.power.production → fuelCell.power.production
  • heating.fuelCell.sensors.temperature.return → fuelCell.sensors.temperature.return
  • heating.fuelCell.sensors.temperature.supply → fuelCell.sensors.temperature.supply
  • heating.fuelCell.statistics → fuelCell.statistics

Heat pump:

Replace heating.scop.* with heating.spf.*

  • heating.scop.dhw → heating.spf.dhw
  • heating.scop.heating → heating.spf.heating
  • heating.scop.total → heating.spf.total

Ventilation:

Replace ventilation.operating.programs.* with ventilation.operating.state / ventilation.quickmodes.* / ventilation.levels.*

  • ventilation.operating.programs.comfort → ventilation.quickmodes.comfort
  • ventilation.operating.programs.eco → ventilation.quickmodes.eco
  • ventilation.operating.programs.forcedLevelFour → ventilation.quickmodes.forcedLevelFour
  • ventilation.operating.programs.holiday → ventilation.quickmodes.holiday
  • ventilation.operating.programs.levelFour → ventilation.levels.levelFour
  • ventilation.operating.programs.levelOne → ventilation.levels.levelOne
  • ventilation.operating.programs.levelThree → ventilation.levels.levelThree
  • ventilation.operating.programs.levelTwo → ventilation.levels.levelTwo
  • ventilation.operating.programs.silent → ventilation.quickmodes.silent

II. API Endpoints Update

We are replacing several API endpoints with their current versions.

Affected Endpoints:

  • /iot/v1/equipment/installations/{installationId}/gateways/{gatewaySerial}
    /devices/{deviceId}/features
    will be replaced with
    /iot/v2/features/installations/{installationId}/gateways/{gatewaySerial}
    /devices/{deviceId}/features
  • /iot/v1/equipment/installations/{installationId}/gateways/{gatewaySerial}/features
    will be replaced with
    /iot/v2/features/installations/{installationId}/gateways/{gatewaySerial}/features
  • /iot/v1/equipment/installations/{installationId}/features
    will be replaced with
    /iot/v2/features/installations/{installationId}/features
  • /iot/v1/features will be replaced with /iot/v2/features

Important Notes

  • The previous versions (/iot/v1/…) of the listed endpoints will be removed entirely on April 30, 2025. As a result, any existing integrations using these endpoints will cease to function.
  • The new endpoints (/iot/v2/…) function identically to their predecessors. There are no changes to the request parameters, response formats, or any other functional aspects.

Action Required (For Both Updates)

  • For IoT Feature Renaming: Update your API integrations to use the new feature names. The renamed IoT features are already available via the API for testing and implementation. Legacy names will be fully deprecated and removed after this date.
  • For API Endpoints Update: Update your integrations to use the new API endpoints (/iot/v2/…). The new endpoints are already available for use.

We understand that this change may require some adjustments to your existing code. To assist you in this process, we recommend referring to the API documentation.

Support Channels:

If you have any questions or require further assistance regarding this update, please don’t hesitate to reach out to our developer community forum or send an email to developer@viessmann.com.

We appreciate your understanding and cooperation as we continue to improve the Viessmann API.

All the best,

The Viessmann Developer Portal Team

Ich kann das Modul nicht mehr benutzen. Beim Aktualisieren der Vitoconnect Instanz erhalte ich die Meldung „invalid-token-request“.

Neuerdings (?) kann/muss ich auf der Viessmann Registrierungsseite ein Access Token generieren. Wo gebe ich dieses in Symcon ein?

Thx, G.

Hab ich eben per Mail bekommen:

Neue Viessmann URL für API

Ich denke, dass jeder, der hier das VitoConnect Modul verwendet, im den nächsten Monaten die URL anpassen muss. Ganz sicher bin ich mir aber nicht.

Ich muss das nur in Modul anpassen :slight_smile: Ich kümmere mich da zeitnah drum.

paresy

4 „Gefällt mir“

Umso besser😅

D.h. es wird dann ein Update geben?

Update ist ab sofort im Beta Kanal verfügbar.

paresy

Moin Moin Paresy,

habe die neue Beta installiert… Heute bekomme ich von Viessmann einen Reminder mit folgendem Inhalt.

"This is an urgent reminder regarding the Viessmann API. The changes and removal of old API endpoints were planned to took effect on April 30, 2025.

Our records indicate that your application had not been updated to the new endpoints before the deadline. If you have not taken action, your integration is soon no longer functioning."

Muss ich da noch was machen?

Danke und Gruß Michael

Ne. Wir haben ja schon.

paresy

1 „Gefällt mir“

Hallo zusammen,
ich habe jetzt frisch eine neue Vitocal 060A mit WLAN. Ich habe mir gleich mal das Beta-Modul geladen und die Registrierung hat soweit auch geklappt. Die Werte kommen alle :slight_smile:

Was mich bei der Kachel gerade etwas verwirrt sind die Temperatur Anzeigen. Statt Soll-Temperatur wird bei mir die Hystere ausgegeben und ich kann das auch nicht ändern. Woran kann das liegen?
image

Bei mir geht seit einem Tag nichts mehr:

image

Hallo zusammen, bei mir läuft seit gestern auch nicht mehr alles rund. Ich habe in meinem Viessmann Account zwei Heizungen (Wärmepumpe, Ölheizung). Die Ölheizung hat mir mein Installateur erst vor einer Woche in den Account eingefügt. Ich habe selber dann eine zweite Instanz in IPS einfügt → Alles lief top. Seit etwas mehr aus ein Tag sind dann alle Daten für beide Instanzen eingefroren. (Die Anzahl der API Abfragen habe ich daraufhin reduziert). Anschließend habe ich beide Instanzen aktualisiert und erhalte wieder Daten. Allerdings bekomme ich in beiden Instanzen nun die Daten der Ölheizung angezeigt. Hat da jemand ein Idee?

Bei mir ist alles ok. Habt ihr auf die neue Beta umgestellt s.o.
Gruß Michael

Hi, ich bekomme seit heute 0 Uhr keine Werte mehr über das Modul. Dafür Fehlermeldungen mit Timeout. Bin schon seit ein paar Wochen auf der Beta.

Wie hast du die Instanzen aktualisiert? Oder meinst du damit, dass du auf die Betaversion gegangen bist?

Hallo bambam, ich habe in der Instanzkonfiguration die Taste AKTUALSIEREN ausgeführt.

Das Problem tritt in Beta oder Stable auf.

Ok, dann teste ich das später bei mir auch mal.

Ich bin auch auf der Beta und habe das Problem.
Das Modul möchte immer auf den alten Pfad zugreifen:
https://api.viessmann-climatesolutions.com/iot/**v1**/equipment/installations/...

In der Mail von Viessmann lautet der neue Pfad aber v2:

Seit ca. 1 Stunde das gleiche Problem!
Fehler:

30.07.2025, 14:46:05 | TimerPool | VitoConnect (Update):
Warning: file_get_contents(https://api.viessmann-climatesolutions.com/iot/v1/equipment/installations/2492322/gateways/7724827202135260/devices/0/features/): Failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request
in /mnt/data/symcon/modules/.store/de.paresy.viessmann/VitoConnect/module.php on line 299
Fetching data failed!

Bin auch mit der Beta unterwegs.