# Viessmann Binding \[5.0.0.0;6.0.0.0)

**URL:** <https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352>\
**Category:** Bundles\
**Tags:** binding, beta, published\
**Created:** [August 6, 2025, 8:53pm UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352 "2025-08-06T20:53:01Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![rogrun](https://community.openhab.org/user_avatar/community.openhab.org/rogrun/32/82027_2.png) [@rogrun](https://community.openhab.org/u/rogrun)\
**Post date:** [August 6, 2025, 8:53pm UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/1 "2025-08-06T20:53:01Z")

</div>

![logo](https://community-openhab-org.s3.dualstack.eu-central-1.amazonaws.com/original/3X/d/d/dd5fd1771314505152a085f802e9c8d8e852aa10.png)

This binding connects Viessmann Devices via the new Viessmann API. It provides features like the ViCare-App.

## Changelog

### Version **5.2.0.202603201903**

- Fix parsing unknown unit Seconds

### Version 5.2.0.202602211614

- Fix command for holiday channels

### Version 5.2.0.202602041940

- Refactor channel command handling
- Add units for KilowattPeak, Volt, Ampere, WattHour, meter, degree
- Extended logging of unknown unit
- Add support for hygiene function

### Version **5.1.0.202511302138**

- Improve authentication process

### Version 5.1.0.202511200020

- Add support for heat energy and current

### Version 5.1.0.202511161327

- Fix ´One Time Charge´

### Version 5.1.0.202510202037

- Fix ´heating-burners-0-statistics#hours, heating-circuits-0-heating-curve#shift, heating-circuits-0-heating-curve#slope`

### Version 5.1.0.202510190605

- Add unit ´kilowatt´
- Add unit ´revolutionsPerSecond´

### Version 5.1.0. **202509281957**

- Fix Channel type ‘viessmann:type-literperminute’ is not known
- 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:

```auto
[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.}

```

### Version 5.1.0.202509101920

- New authorization process (PKCE)
- Updated channel description
- Migration method for channel naming convention (channels and item links updates automatically)

### Version 5.1.0

- Adjust Viessmann Domain reported from [Viessmann Mailing](https://viessmann.mailingmanager.online/letter/?20329_10981584_A5D14B1A8A0297268A063C71816402ED)
- Add support for gateway selection

## Resources

[https://github.com/rogrun/openhab-addons/releases/download/Release-Viessmann-Binding-5.2.0.202603201903/org.openhab.binding.viessmann-5.2.0.202603201903.jar](https://github.com/rogrun/openhab-addons/releases/download/Release-Viessmann-Binding-5.2.0.202603201903/org.openhab.binding.viessmann-5.2.0.202603201903.jar)

> **[Release Release-Viessmann-Binding-5.2.0.202603201903 · rogrun/openhab-addons](https://github.com/rogrun/openhab-addons/releases/tag/Release-Viessmann-Binding-5.2.0.202603201903)**
>
> Current Changes:
> 
> Fix parsing unknown unit Seconds

---

<div class="post-metadata">

**Author:** ![sven1234](https://community.openhab.org/user_avatar/community.openhab.org/sven1234/32/80799_2.png) [@sven1234](https://community.openhab.org/u/sven1234)\
**Post date:** [August 6, 2025, 9:35pm UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/2 "2025-08-06T21:35:44Z")

</div>

Thanks for bringing this to the marketplace!

In case people wonder what makes it different compared to the other Viessmann binding:

AFAIK the other Viessmann binding only lets you read the slope and level of the heating curve, although the Viessmann API allows you to set it.

With this binding however you can set slope and level and thus save some energy on cold but sunny days, when the room temperatures rise beyond your “I need heating” limit. There is simply no perfect static curve and with all the sensors available and openhab you can use this binding for a smart heating curve control.

There might be other differences but that is the one I appreciate.

---

<div class="post-metadata">

**Author:** ![hmerk](https://community.openhab.org/user_avatar/community.openhab.org/hmerk/32/56432_2.png) [@hmerk](https://community.openhab.org/u/hmerk)\
**Post date:** [August 7, 2025, 5:42am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/3 "2025-08-07T05:42:00Z")

</div>

@rogrun Please remove this Binding from the marketplace and use the 3rd-Party Marketplace instead. The openHAB marketplace is for org.openhab Bindings only.

---

<div class="post-metadata">

**Author:** ![rogrun](https://community.openhab.org/user_avatar/community.openhab.org/rogrun/32/82027_2.png) [@rogrun](https://community.openhab.org/u/rogrun)\
**Post date:** [August 7, 2025, 6:13am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/4 "2025-08-07T06:13:08Z")

</div>

I’ve removed the `published` tag and will port the binding to org.openhab as soon as possible. Hopefully by this evening.

---

<div class="post-metadata">

**Author:** ![rogrun](https://community.openhab.org/user_avatar/community.openhab.org/rogrun/32/82027_2.png) [@rogrun](https://community.openhab.org/u/rogrun)\
**Post date:** [August 7, 2025, 2:08pm UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/5 "2025-08-07T14:08:42Z")

</div>

@hmerk I have ported the binding to org.openhab and started a pull request on GitHub: [https://github.com/openhab/openhab-addons/pull/19123](https://github.com/openhab/openhab-addons/pull/19123)

---

<div class="post-metadata">

**Author:** ![twerty](https://community.openhab.org/letter_avatar_proxy/v4/letter/t/53a042/32.png) [@twerty](https://community.openhab.org/u/twerty)\
**Post date:** [August 20, 2025, 2:34pm UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/6 "2025-08-20T14:34:08Z")

</div>

hi,

many thanks for this update.

Is there any chance to update openhab that the vicare data will be migrated to the new viessmann binding? Currently i only see “handler not found” for vicare and it seems that i have to delete and re create it with the new binding.

---

<div class="post-metadata">

**Author:** ![sven1234](https://community.openhab.org/user_avatar/community.openhab.org/sven1234/32/80799_2.png) [@sven1234](https://community.openhab.org/u/sven1234)\
**Post date:** [August 21, 2025, 5:39am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/7 "2025-08-21T05:39:08Z")

</div>

AFAIK currently there is no upgrade path, neither for those using the smarthome j version of this binding nor for the vicare.

There might be an upgrade path for the smarthome j version in the future, since the “only” difference is that it was moved to the marketplace and thus the namespace was adapted.

Since the vicare binding was created separately to this binding, there will probably not be any upgrade path. That is purely my assumption, maybe rogrun invests the time to create that functionality for the other binding’s users.

Sommaybe you wait until rogrun returns from vacation and comments on his plans.

---

<div class="post-metadata">

**Author:** ![rogrun](https://community.openhab.org/user_avatar/community.openhab.org/rogrun/32/82027_2.png) [@rogrun](https://community.openhab.org/u/rogrun)\
**Post date:** [August 26, 2025, 10:16pm UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/8 "2025-08-26T22:16:32Z")

</div>

Hi everyone,  
I’m working on an upgrade path for Smarthome/J users. However, the naming convention for channels and channel types is difficult to implement because all channels in the device are created dynamically and depend on the installation.

The binding itself is already functional and works as a direct replacement for the Smarthome/J binding (without any necessary adjustments to the channels and their item links).

> [@twerty](#):
>
> Is there any chance to update openhab that the vicare data will be migrated to the new viessmann binding? Currently i only see “handler not found” for vicare and it seems that i have to delete and re create it with the new binding.

There will be no upgrade path for Vicare, as it is a completely different binding that accesses the OPTO directly offline. Whereas the Viessmann binding accesses the Viessmann API via the Internet.

---

<div class="post-metadata">

**Author:** ![Kai\_Huggle](https://community.openhab.org/user_avatar/community.openhab.org/kai_huggle/32/117635_2.png) [@Kai\_Huggle](https://community.openhab.org/u/Kai_Huggle)\
**Post date:** [September 4, 2025, 11:38am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/9 "2025-09-04T11:38:23Z")

</div>

Hi all,

sorry I’m a beginner, so sorry for stupid questions ;-).

I managed to install the original viessmann binding on OH4. But with moving to OH5, that one didm’t work. So I’ve tied this one, but here I’me also struggeling with the setup.

I’ve started with the thing “Viessmann Account". I’ve entered the ClientID from the Viessmann developer portal. For eMail Adress and Password I’ve used my credentions for the Viessmann developer portal.

But I always get a configuration pending with “Login fails. Please check API Key.”.

Is there a more detaild description how to set up the binding? Now I’m stucked ☹

Thx  
Kai

---

<div class="post-metadata">

**Author:** ![ducker2](https://community.openhab.org/user_avatar/community.openhab.org/ducker2/32/32479_2.png) [@ducker2](https://community.openhab.org/u/ducker2)\
**Post date:** [September 5, 2025, 2:44am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/10 "2025-09-05T02:44:37Z")

</div>

Unfortunately, I do have the same issue here with Viessmann Binding and OH5. As I rely on OH to control heating and DWH temperatures and times, I had to roll back to OH4 for now, until this is solved.

---

<div class="post-metadata">

**Author:** ![rogrun](https://community.openhab.org/user_avatar/community.openhab.org/rogrun/32/82027_2.png) [@rogrun](https://community.openhab.org/u/rogrun)\
**Post date:** [September 5, 2025, 9:24am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/11 "2025-09-05T09:24:40Z")

</div>

Hi everyone. I’ll look into the problem this evening. What version do you have installed?

Please enter this command in the openhab console:

```bash
bundle:list -s

```

---

<div class="post-metadata">

**Author:** ![ducker2](https://community.openhab.org/user_avatar/community.openhab.org/ducker2/32/32479_2.png) [@ducker2](https://community.openhab.org/u/ducker2)\
**Post date:** [September 5, 2025, 11:06am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/12 "2025-09-05T11:06:33Z")

</div>

Thanks, Ronny!  
This is the extract from “bundle:list -s” output:

```bash
openhab> bundle:list -s | grep viessmann
289 x Active x 80 x 5.1.0.202508071327 x org.openhab.binding.viessmann

```

(Debian 13 installation)

---

<div class="post-metadata">

**Author:** ![B\_A](https://community.openhab.org/user_avatar/community.openhab.org/b_a/32/117682_2.png) [@B\_A](https://community.openhab.org/u/B_A)\
**Post date:** [September 5, 2025, 12:31pm UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/13 "2025-09-05T12:31:10Z")

</div>

Hi Ronny, many thanks for your binding and your support!!

I have the same issue as mentioned above: “Login failed. Please check API Key”. My guess: the redirect URI does not work. When trying`http://localhost:8080/viessmann/authcode` the system fails to return the correct page and comes up with: {“error”: “invalid-code-request”}. The Viessmann API is running correctly with my credentials on browser requests (independent from OH).

running OH 5.0.0 on Raspi/bookworm (Debian)

> openhab\> bundle:list -s | grep viessmann  
> 372 │ Active │ 80 │ 5.1.0.202508071327 │ org.openhab.binding.viessmann

---

<div class="post-metadata">

**Author:** ![Kai\_Huggle](https://community.openhab.org/user_avatar/community.openhab.org/kai_huggle/32/117635_2.png) [@Kai\_Huggle](https://community.openhab.org/u/Kai_Huggle)\
**Post date:** [September 5, 2025, 2:49pm UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/14 "2025-09-05T14:49:18Z")

</div>

Unfortunately I have no direct access to the system right now. I’m on holiday and have only access to the web front-end.  
But calling [http://localhost:8080/viessmann/authcode](http://localhost:8080/viessmann/authcode) results into the same error.

---

<div class="post-metadata">

**Author:** ![rogrun](https://community.openhab.org/user_avatar/community.openhab.org/rogrun/32/82027_2.png) [@rogrun](https://community.openhab.org/u/rogrun)\
**Post date:** [September 5, 2025, 7:29pm UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/15 "2025-09-05T19:29:59Z")

</div>

@All

Please check the `Redirect URIs` in the Viessmann Developer Portal ([Viessmann Developer Portal | Viessmann Developer](https://developer.viessmann-climatesolutions.com/start.html)) for your client. They must contain `http://localhost:8080/viessmann/authcode/`

If this URI is missing, you will receive this error message.

---

<div class="post-metadata">

**Author:** ![B\_A](https://community.openhab.org/user_avatar/community.openhab.org/b_a/32/117682_2.png) [@B\_A](https://community.openhab.org/u/B_A)\
**Post date:** [September 5, 2025, 10:52pm UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/16 "2025-09-05T22:52:28Z")

</div>

Thanks for the info. Yes I have checked it before and its the same uri on both ends - Viessmann Developer Portal as well as OH call (instead of “localhost” I have the IP of my local Raspi OH-Server [http://192.168.178.xx:8080/viessmann/authcode](http://192.168.178.xx:8080/viessmann/authcode) but also tried “localhost” on both ends without success). Also tried after one hour to ensure, that changes on the Viessmann side might take some time.

---

<div class="post-metadata">

**Author:** ![sven1234](https://community.openhab.org/user_avatar/community.openhab.org/sven1234/32/80799_2.png) [@sven1234](https://community.openhab.org/u/sven1234)\
**Post date:** [September 6, 2025, 5:52am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/17 "2025-09-06T05:52:37Z")

</div>

Since we are running out of other options, also the less likely reasons. Did you change the http port of openhab? E.g. in docker something like OPENHAB\_HTTP\_PORT=xxxx?

Whitespaces in the URI or authcode?

---

<div class="post-metadata">

**Author:** ![ducker2](https://community.openhab.org/user_avatar/community.openhab.org/ducker2/32/32479_2.png) [@ducker2](https://community.openhab.org/u/ducker2)\
**Post date:** [September 6, 2025, 7:36am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/18 "2025-09-06T07:36:58Z")

</div>

Thanks a lot for pointing me in the right direction! In fact deleting and adding the redirect URL again (including slash at the end) did the trick. So obviously I must had made a mistake there. OH5 has just been able to establish the connection and discover gateway and device. Now that Viessmann seems to work on my setup, I can give OH5 a second try.

---

<div class="post-metadata">

**Author:** ![Kai\_Huggle](https://community.openhab.org/user_avatar/community.openhab.org/kai_huggle/32/117635_2.png) [@Kai\_Huggle](https://community.openhab.org/u/Kai_Huggle)\
**Post date:** [September 6, 2025, 11:35am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/19 "2025-09-06T11:35:23Z")

</div>

Now it works 🙂

At first, I’ve added the ‘/’ at the end of the URL, but still the same error.

Then I’ve checked the settings in OH (Settings-\>Network), and there was a radio button “Primary IP-Address” with the local IP-adress of the server. This was unselected. After activating, the Binding worked!!!

Thx for the help 🙂

---

<div class="post-metadata">

**Author:** ![Radioaktivman](https://community.openhab.org/user_avatar/community.openhab.org/radioaktivman/32/30384_2.png) [@Radioaktivman](https://community.openhab.org/u/Radioaktivman)\
**Post date:** [September 21, 2025, 11:54am UTC](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352/20 "2025-09-21T11:54:51Z")

</div>

Hi all,

i just upgraded to OH5.0.1 and installed the Viessmann Binding to connect to my Heatpump and Gasboiler (Vitodens 300-W).  
While the Heatpump thing works like a charm, the Gasboiler thing goes online and then offline again after acouple of seconds showing the following  
Status: UNINITIALIZED

**HANDLER\_INITIALIZING\_ERROR**  
Channel type ‘viessmann:type-literperminute’ is not known

Can someone provide me with a hint on howto fix this issue?

Some furhter logging info:

```javascript
2025-09-21 14:15:26.397 [INFO] [ab.event.ThingStatusInfoChangedEvent] - Thing 'viessmann:device:2444b05652:7724827013812220:0' changed from ONLINE to UNINITIALIZED (HANDLER_INITIALIZING_ERROR): Channel type 'viessmann:type-literperminute' is not known

==> /logs/openhab.log <==

2025-09-21 14:15:26.397 [ERROR] [core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing 'viessmann:device:2444b05652:7724827013812220:0': Channel type 'viessmann:type-literperminute' is not known

java.lang.IllegalArgumentException: Channel type 'viessmann:type-literperminute' is not known

	at org.openhab.core.thing.internal.ThingHandlerCallbackImpl.createChannelBuilder(ThingHandlerCallbackImpl.java:222) ~[?:?]

	at org.openhab.binding.viessmann.internal.handler.DeviceHandler.createChannel(DeviceHandler.java:710) ~[?:?]

	at org.openhab.binding.viessmann.internal.handler.DeviceHandler.handleUpdate(DeviceHandler.java:553) ~[?:?]

	at org.openhab.binding.viessmann.internal.handler.ViessmannGatewayHandler.updateFeaturesOfDevice(ViessmannGatewayHandler.java:347) ~[?:?]

	at org.openhab.binding.viessmann.internal.handler.DeviceHandler.initChannelState(DeviceHandler.java:185) ~[?:?]

	at org.openhab.binding.viessmann.internal.handler.ViessmannThingHandler.initDeviceState(ViessmannThingHandler.java:60) ~[?:?]

	at org.openhab.binding.viessmann.internal.handler.DeviceHandler.initialize(DeviceHandler.java:109) ~[?:?]

	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]

	at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]

	at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:149) ~[?:?]

	at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) ~[?:?]

	at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]

	at java.lang.Thread.run(Thread.java:1583) [?:?]

```

```yaml
your code goes here

```

```javascript
your code goes here

```

[Next page](https://community.openhab.org/t/viessmann-binding-5-0-0-0-6-0-0-0/165352.md?page=2)
