See this post for how to get the json:
Since yesterday, Viessmann Binding suddenly stopped working:
2024-04-17 07:17:56.569 [WARN ] [ar.vicare.internal.VicareServiceImpl] - Unable to refresh, access server sent 400
2024-04-17 07:17:56.570 [WARN ] [.vicare.internal.VicareBridgeHandler] - Unable to prefetch features
com.qubular.vicare.AuthenticationException: Unable to refresh access token
at com.qubular.vicare.internal.VicareServiceImpl.getValidAccessToken(VicareServiceImpl.java:181) ~[?:?]
at com.qubular.vicare.internal.VicareServiceImpl.getFeatures(VicareServiceImpl.java:199) ~[?:?]
at com.qubular.openhab.binding.vicare.internal.CachedFeatureService.lambda$getFeatures$2(CachedFeatureService.java:68) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) [?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) [?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) [?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) [?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) [?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) [?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) [?:?]
Hi, #1 reason for this is that the refresh token is limited to 6 months IIRC, you will need to go to vicare/setup page in OpenHAB and re-authorize the binding.
Ah, didnât know that, sorry. I guess automatic reauthorization is impossible?
Correct, itâs a security measure to prevent excessively long lived sessions. Viessmannâs API documentation states it lasts 180 days.
But couldnât you silently re-authorize it in the bakground? After all i just clicked on the buttonâŠif you canât i think of writing a a script myself that checks the status every day and does that
No because the authorize button takes you to the Viessmann login page where you have to enter your password, in exchange for which Viessmann API grants the plugin a new token. The point of this is that applications such as OpenHAB can access the API without ever having access to your Viessmann password.
Ah, i see, so it only worked because i was already logged in.
I just tried the plugin for the first time. Thanks for that! Setup worked well but when I add the heating device I get the error for Duplicate channels heating_dhw_hygiene_active
Maybe a Bug?
2024-04-23 11:13:30.303 [WARN ] [re.internal.VicareDeviceThingHandler] - Unexpected error initializing Thing
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Duplicate channels vicare:heating:add4f0cb27:66831c18-53ae-3285-ad4b-f8a65e2XXXXX:heating_dhw_hygiene_active
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:722) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) [?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) [?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) [?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) [?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) [?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) [?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) [?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) [?:?]
Caused by: java.lang.IllegalArgumentException: Duplicate channels vicare:heating:add4f0cb27:66831c18-53ae-3285-ad4b-f8a65eXXXXX:heating_dhw_hygiene_active
at org.openhab.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:135) ~[?:?]
at org.openhab.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:111) ~[?:?]
at org.openhab.core.thing.binding.builder.ThingBuilder.withChannels(ThingBuilder.java:150) ~[?:?]
at com.qubular.openhab.binding.vicare.internal.VicareDeviceThingHandler.lambda$initialize$1(VicareDeviceThingHandler.java:124) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
... 8 more
Iâm running OH 4.1.2 and try to use the bundle for the first time but fail for now.
I could not install the plugin from the marketplace, it wasnât there ?
Putting the .kar into the addons dir resulted in bundles becoming active:
openhab> bundle:list|grep vica
287 x Active x 80 x 4.0.3 x com.qubular.openhab-binding-vicare-bundle
288 x Active x 80 x 4.0.3 x com.qubular.vicare-osgi
But now Iâm stuck and donât see how to proceed.
When adding a Thing, OH does not offer any of vicare binding type.
Anyone who is successfully using the binding with current OH 4.1.2 ?
Hi there,
maybe you can help me after days of searching for a solution. My vicare-binding (4.0.3) suddenly stopped working a few weeks ago. The bridge is running, the binding is authorized and the devices are shown correctly on the â/vicare/setupâ page. However the added thing(s) keeps initializing and never get online. Any suggestions?
Lars
did you read 10 posts up ?
After installation did you manage to authorise the binding from the /vicare/setup page as described in the instructions and did it then list your discovered heating device on the page?
Does the device report correctly in your viessmann ViCare phone app? I donât believe there has been any substantive change in the API, however I did have a few days ago an interruption where I assume there was some sort of interruption (network, or possibly Viessmann took their portal down for maintenance) however when it came back up my boiler did not re-connect.
In the end I had to power-cycle my boiler for it to re-connect to the API. During this time the API was reporting strange status and no data which the binding couldnât handle.
possibly, if it persists on a restart, send me a captureResponse.json and I can take a look and possibly reproduce it. Unless somehow you have got two versions of the binding installed or something, which is maybe the only other thing that comes to mind as a possibility.
Iâve been unable to add the binding in the first place.
Turned out to be an installation issue with the marketplace, solved now, thanks.
No. The Thing is in yellow âunknownâ state.
Clicking âauthorize ViCare bindingâ results in a HTTP query to https://iam.viessmann.com/idp/v3/authorize?state=fed3b7d9-027e-......
but it gets an âinvalid_requestâ response.
Iâve raised debug levels but donât see any debug output
openhab> log:get|grep vica
com.qubular.openhab-binding-vicare-bundle x DEBUG
com.qubular.vicare-osgi x DEBUG
EDIT: Silly(?) question do I have to configure the heating device first and if so how does that work ?
I just started to use this binding with our Vitocal 200-S heat pump and wanted to thank for it!
Would it be possible to add âheating.sensors.pressure.supplyâ as channel - or is it already implemented?
I would like to see if I have to fill up water because the pressure is below a certain value.
The app shows the value.
Does anyone know if this device can be controlled via the API?
Viessmann Vitovent Bedienteil Wifi
It is unclear to me if this device uses a cloud connection or works just locally
Hi,
since my OH update to 4.2.1 I got a lot of new errors from the vicare addon. So I deleted the bridge and the header thing, removed the addon, reinstalled the addon, reauthorized the binding and the bridge went âgreenâ.
After that I added the heater from the inbox. But now it hangs with âinitializingâ. I repeated this several times without success. I does not go further and I canât see any channels.
I get this error:
2024-08-27 19:47:32.005 [WARN ] [re.internal.VicareDeviceThingHandler] - Unexpected error initializing Thing
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Duplicate channels vicare:heating:2dedf64c91:30d23790-ab86-3836-8e84-1c421bc1139d:heating_dhw_hygiene_enabled
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:722) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) [?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) [?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) [?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) [?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) [?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) [?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) [?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) [?:?]
Caused by: java.lang.IllegalArgumentException: Duplicate channels vicare:heating:2dedf64c91:30d23790-ab86-3836-8e84-1c421bc1139d:heating_dhw_hygiene_enabled
at org.openhab.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:135) ~[?:?]
at org.openhab.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:111) ~[?:?]
at org.openhab.core.thing.binding.builder.ThingBuilder.withChannels(ThingBuilder.java:150) ~[?:?]
at com.qubular.openhab.binding.vicare.internal.VicareDeviceThingHandler.lambda$initialize$1(VicareDeviceThingHandler.java:124) ~[?:?]
at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
... 8 more
â Duplicate channels âheating_dhw_hygiene_enabledâ?
Could it be that there have been API changes within the last 12 months and now this error blocks the activation of new installs?
Before my removal the addon worked most of the time.
Thanks for any help.