Viessmann API binding for 3.3.x [3.3.0;3.4.0)

I think something from the installations JSON is not populated which is expected. Can you please do the following:

In the API Bridge Thing, enable advanced options, enable “Response Capture Debug”.

and find in the userdata/cache/org.eclipse.osgi//data folder the installationsResponseCapture.json file and PM it to me.

I think possibly there is a model ID or something that is not set on your boiler. In which case the binding may need a bug fix.

When enabling the “Response Capture Debug” I don’t see a file with extension “.json”. I even did a restart of openHAB.

/userdata/cache/org.eclipse.osgi there are only many subfoldes with increasing numbers containing a data folder each. No one contains a file with anything like “capture”.

In userdata/cache there is a LOG file containing:

!ENTRY org.eclipse.osgi 4 0 2022-11-29 20:29:14.411
!MESSAGE Error stopping the framework.
!STACK 0
org.osgi.framework.BundleException: Could not lock the system bundle state for shutdown.
at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:230)
at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:226)
at java.base/java.lang.Thread.run(Thread.java:834)

!ENTRY org.apache.karaf.log.core 4 0 2022-11-29 20:29:30.248
!MESSAGE FrameworkEvent ERROR
!STACK 0
java.lang.IllegalStateException: Configuration Admin service has been unregistered
at org.apache.felix.cm.impl.ConfigurationAdminImpl.getConfigurationManager(ConfigurationAdminImpl.java:325)
at org.apache.felix.cm.impl.ConfigurationAdminImpl.getConfiguration(ConfigurationAdminImpl.java:156)
at org.apache.karaf.log.core.internal.LogServiceImpl.getConfiguration(LogServiceImpl.java:121)
at org.apache.karaf.log.core.internal.LogServiceImpl.setLevel(LogServiceImpl.java:103)
[…]

Does this mean anything? If not, is the binding not able to even write the debug into a file?

Yesterday after my post I did a clean-cache in OH3 and restarted it.
Now there is no new LOG file created in userdata/cache but also no installationsResponseCapture.json…

What still wonders me:
if I delete the things and uninstall the binding, do a clean-cache and restart OH23… when installing the Viessmann binding again and go to http://xxxxxx/vicare/setup, why does it immediately show me the two entries again? Is there a way to really delete the information related to the Viessmann binding?

I don’t think that log message is specifically related to the Viessmann binding. If you have authorised the binding, and go to the setup page and it renders the list of connected devices (as in your screenshot), if you have set the REsponse Capture Debug option when it shows the page, it will definitely create the capture file, you just need to find it. just type something like

find . -name *.json
it will be in there.

Regardless, you’ll need to wait for the next release for a fix.

No, for sure there is no json file. I did run a search already in the past. Even did not just search within cache folder.

image

Let’s see if the next release will fix it.

Regardless of whatever the reason is, thank you for your replies and trying to help!! Very much appreciated!!!

Log in openhab:

2022-12-04 09:43:06.436 [WARN ] [care.internal.VicareDiscoveryService] - Authentication problem scanning Viessmann API:Unable to authenticate: No valid access token and no refresh token.

Status of binding:

i am not able to identify any other errors related to the vicare binding.

Any other idea?

Did you manage to get to the /vicare/setup page and authorise the binding? Does it show a list of your heating installations?

No, that is still the point where i’m struggeling.
I am not able to access http://openhabip/vicare/setup nor https://openhabip/vicare/setup

image

Hi,
I’m new in this round and have the same issue.
But maybe I can help a little bit to find the root cause.
As mentioned I have the same issue in my configuration, but when I’m deleting the my Heating-System out of the VICare App, the openhab Bridge will change directly into “online”.
Maybe you can check this also on your side and hopefully we are than one step further :wink:
BTW … after adding the system in the VICare app again and restarting the raspi, the ViCare bridge was shifting back to state “unkown”

Hi,
I installed V3.3.4 some weeks ago, but I saw that there is V3.3.5 now. How can I update the binding in OH3?
Thanks.

First of all, thank you very much for this binding, was waiting for over two years to include my heater Vitodens 200-W into OH setup. I installed it a week ago and was getting all the values through API :+1:

However, I noticed that since Friday morning, that the values for outside temperature were not updating in OH anymore. I checked ViCare app and the same temp value was showing as in OH. But when I checked heater’s display, the showed temperature was different. I restarted wifi connection on the heater at midnight and the value from heater updated in app and OH.so everything was well (so I thought).

In the morning I checked the graph to find out there were just few new updates during the night. I kept watching the graph throughout the day and there were time periods, when the values would not update for hours.

So I opened ifluxdb and got raw data from the DB showing that after Friday morning the values got updated only when the delta in temperature was 1°C (before it was updating on delta 0.1°C).

Updates before Friday morning:
|2022-12-09T05:36:59.882Z 3.4
|2022-12-09T05:36:59.882Z 3.4
|2022-12-09T05:41:30.904Z 3.5
|2022-12-09T05:47:29.794Z 3.4
|2022-12-09T06:15:59.754Z 3.5
|2022-12-09T07:09:59.682Z 3.6
|2022-12-09T07:14:29.708Z 3.5
|2022-12-09T07:20:29.767Z 3.6
|2022-12-09T07:26:29.752Z 3.7

Updates after I restarted wifi on Friday midnight:
|2022-12-10T00:05:29.685Z 4.2
|2022-12-10T01:53:29.609Z 3.2
|2022-12-10T04:29:29.600Z 2.2
|2022-12-10T10:00:59.721Z 3.2

Updates after I restarted heater Saturday morning:
|2022-12-10T16:06:56.309Z 2.8
|2022-12-11T05:21:56.715Z 1.8
|2022-12-11T07:31:57.217Z 0.8

Anybody else observed this behavior in API binding and ViCare App?

Hi yes, it appears that Viessmann have nerfed the temperature sensor precision, in order to reduce the load on their servers.

I assume what is happening is that they send an update whenever the value changes, by reducing the sensor precision they reduce the number of updates.

Here is a forum discussion on it (in German)
https://www.viessmann-community.com/t5/The-Viessmann-API/Aussentemperatur-wird-ploetzlich-nur-noch-in-1-K-angegeben-ueber/td-p/278251

Strangely it seems that it doesn’t get rolled out uniformly to everyone all at once, but it happened to me about a week ago.

A bit disappointing, but I guess can’t complain too much as it’s a free service. Don’t know whether this is also true if you are paying for the gold-plated service.

“free service”! The activities of VIESSMANN around new features and the pricing system are all towards a paid system! IMHO any suggestion for a new datapoint or function ( for example:switching the hotwater circulation pump pump directly instead of only via schedule) will only be realized in the paid system. Because of that I will NOT mention any other ideas on their socalled developer forum.

Hi Stephan you should not need to make any changes at all in your Viessmann Vicare smartphone app to use the binding. Please can you send me your openhab.log?

As I understand from Viessmann’s changelog, they wanted to decrease traffic and data storage, thus increasing delta on following data points:
heating.flue.sensors.temperature.main
heating.circuits.n.sensors.temperature.supply
heating.boiler.sensors.temperature.commonSupply
heating.dhw.sensors.temperature.hotWaterStorage
heating.sensors.temperature.outside
heating.boiler.sensors.temperature.main
heating.dhw.sensors.temperature.outlet
heating.sensors.volumetricFlow.return
heating.burners.N.modulation

Depending on your subscription plan you have access to Basic (free) or Advanced (paid) Data Points. There are no free/paid versions of Data Points, so you either have access to it or don’t. If they wanted to decrease traffic/storage, they had to change the polling from heater to server and has nothing to do with access to data points through API.

Hi,
thanks for your effort you spend.
It’s basically clear to me that changes in the ViCare App are not necessary. But first time I tried to activate the Binding in my openhab system, it wents directly into “online” state, but I forgot to add my optolink adapter.
Therefore I added it afterwards and the result was, that the Binding changed to “unknown”.
Anyhow - this is the output that belongs to the ViessmannAPI in my openhab log

2022-12-09 14:38:58.198 [WARN ] [care.internal.VicareDiscoveryService] - Unexpected error occurred scanning Viessmann API
java.lang.NullPointerException: null
at java.util.Objects.requireNonNull(Objects.java:221) ~[?:?]
at java.util.ImmutableCollections$MapN.(ImmutableCollections.java:827) ~[?:?]
at java.util.Map.of(Map.java:1399) ~[?:?]
at com.qubular.openhab.binding.vicare.internal.VicareDiscoveryService.discoverHeating(VicareDiscoveryService.java:146) ~[?:?]
at com.qubular.openhab.binding.vicare.internal.VicareDiscoveryService.lambda$scanJob$0(VicareDiscoveryService.java:104) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]

Hi,
today I updated to 3.4.0.M6. Now the Viessmann binding has gone and when I want to install it, I only get the popup message

Installation of add-on marketplace:139087 failed

Any idea how to fix that? Thanks.

I’m not supporting milestone builds, sorry - there will be support for it once it is released.

OK, another question :slight_smile:

Yesterday I got error 429 in the Viessmann API Bridge (too many api requests). I had a Polling Interval of 61s since several weeks, never had any problem. But when checking the number in Viessmann Developer Portal I saw 1450 requests yesterday (at about 18:00 o’clock). But how could this be?

When looking back to dates before 14th of December there are 2.900 requests every day. It’s exact double the requests I make. Could it be that the requests are counted wrongly or is every request “worth” 2? Or did Viessmann change something yesterday?

Thanks.

Hi rtuck99, thanks very much for the binding!
Connected my new Vitodens200 gas powered heater as per thread above and it works fine.

Now comes the question: We have a solar water heater now controlled by “Solar Extension EM-S1”. This is a black box, connected via Plusbus to Vitodens, all controls/config are via the Vitodens’ display. I can access solar data like temp panel, storage, pump on/off in the Vicare app.

Is there a way to add the data points into the binding so they become available as channels? Please let me know if/how I can help.

Thanks,
Georg