Files
openhab-addons/bundles/org.openhab.binding.viessmann
Andrew Fiddian-GreenandGitHub a5a74fd085 [ci build] Apply spotless to fix poms (#21115)
* fix poms
* change version on itests

Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
2026-07-06 21:54:17 +02:00
..
2025-12-29 16:57:59 +01:00

Viessmann Binding

This binding connects Viessmann devices via the new Viessmann API. It provides features similar to the ViCare App.

Important Notes

You must register your ViCare account at the Viessmann developer portal and create a Client ID.

  • name e.g., openhab
  • Google reCAPTCHA off
  • Redirect URI http://localhost:8080/viessmann/authcode/ (*)

(*) If your openHAB system runs on a different port than 8080, adjust the Redirect URI.

Hint: You can add multiple Redirect URIs on the Viessmann developer portal by clicking the plus sign.

Supported Things

  • account Connects to the Viessmann API to link the gateway thing; discovers gateways and devices.
  • gateway Connects to the account thing (Discovery).
  • device Represents individual devices (Discovery). Connected via gateway or bridge
  • bridge (deprecated) Connects directly to the Viessmann API and links the first installed gateway.

Thing Hierarchy

Account Thing
   │
   └── Gateway Thing (discovered via Account)
          │
          └── Device Things (discovered via Gateway)


Bridge Thing (connects directly to API) (deprecated)
   │
   └── Device Things (discovered via Bridge)

Binding Configuration

Account Thing

Parameter Required Default Description
apiKey Yes Client ID from the Viessmann developer portal
user Yes E-Mail registered for the ViCare App
password Yes Password registered for the ViCare App
apiCallLimit No 1450 Limit for API calls (*)
bufferApiCommands No 450 Buffer for commands (*)
pollingInterval No 0 Interval in seconds to query available devices (**)
pollingIntervalErrors No 60 Interval in minutes to query errors
disablePolling No OFF Disables automatic polling

Bridge Thing (deprecated)

Parameter Required Default Description
apiKey Yes Client ID from the Viessmann developer portal
user Yes E-Mail registered for the ViCare App
password Yes Password registered for the ViCare App
installationId No Optional, will be discovered
gatewaySerial No Optional, will be discovered
apiCallLimit No 1450 Limit for API calls (*)
bufferApiCommands No 450 Buffer for commands (*)
pollingInterval No 0 Interval in seconds to query available devices (**)
pollingIntervalErrors No 60 Interval in minutes to query errors
disablePolling No OFF Disables automatic polling

Gateway Thing

Parameter Required Default Description
installationId No Optional, will be discovered
gatewaySerial No Optional, will be discovered
pollingIntervalErrors No 60 Interval in minutes to query errors
disablePolling No OFF Disables automatic polling

(*) Used to calculate refresh time in seconds
(**) If set to 0, interval is calculated automatically by the binding.

Channels

Account

Channel Type RO/RW Description
count-api-calls Number RO Number of API calls today

Bridge (deprecated)

Channel Type RO/RW Description
count-api-calls Number RO Number of API calls today
error-is-active Switch RO Indicates active error
last-error-message String RO Last error message from installation
run-query-once Switch W Run device query once
run-error-query-once Switch W Run error query once

Gateway

Channel Type RO/RW Description
error-is-active Switch RO Indicates active error
last-error-message String RO Last error message from installation
run-query-once Switch W Run device query once
run-error-query-once Switch W Run error query once

Device

Channels are generated automatically for available features.

Examples: Thing Definitions in openHAB

Account Thing

Thing viessmann:account:myaccount "Viessmann Account" @ "Home" [
    apiKey="YOUR_CLIENT_ID",
    user="YOUR_EMAIL",
    password="YOUR_PASSWORD"
]

Bridge Thing (deprecated)

Thing viessmann:bridge:mybridge "Viessmann Bridge" @ "Home" [
    apiKey="YOUR_CLIENT_ID",
    user="YOUR_EMAIL",
    password="YOUR_PASSWORD"
]

Gateway Thing

Thing viessmann:gateway:mygateway "Viessmann Gateway" @ "Home" [
    installationId="YOUR_INSTALLATION_ID",
    gatewaySerial="YOUR_GATEWAY_SERIAL"
]

Device Thing

Thing viessmann:device:heating "Heating Device" @ "Home" [
    deviceId="YOUR_DEVICE_ID"
]

Breaking Changes

Version 5.1.0

  • Added new account and gateway things for gateway selection.
    Existing device things can be switched manually to the new gateway as bridge.
    After that, the bridge thing can be removed.
  • Reorganization of channel-types: Starting the binding takes about 3 minutes
    and results in the following warnings, which will not occur on the next restart:
[WARN ] [.core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'viessmann:device:abcdefg:xxxxxxxxx:0': 
{thing/channel=Type description viessmann:type-string for viessmann:device:abcdefg:xxxxxxxxx:0:heating-circuits-0-operating-programs-active not found, 
although we checked the presence before.}