Viessmann Component

I managed to do it. As I said I am a Noob. I was thrown by the instructions:

  1. Register and login in the Viessmann Developer Portal. Use the same account as the one you registered your device with in ViCare.
  2. In the menu navigate to API Keys.
  3. Create a new OAuth client using the following data:

Item 2 is a bit misleading - you have to click on “My Dashboard” which then takes you to a page which shows a dialog box names “your clients”
Item 3 uses “OAuth” - this is not present on the web-page, but the “your clients box” is the correct place to enter the information. A screenshot would have helped here.
I entered the data PyViCare, vicare://oauth-callback/everest and disabled the reCAPTCHA using the switch provided and got a valid key.

As said I am a Noob but I am not stupid. I do recommend updating the documentation since according to the Zen of Python:

  • Explicit is better than Implicit
  • Simple is better than complex

The Viessmann dev page was recently updated. That’s probably why the directions are wrong. As you have the latest, and clearly know your way around, would you mind opening a pull request on the docs with the correct instructions? The community will thank you

I had a Viessmann combi boiler commissioned yesterday. I set up the app, I configured the API, and I set up the HA integration. I have a lot of new sensors (37 new entities)… but no water_heater entity. I’m interested in sending set_temperature commands for DHW, but I don’t have an entity to send them to.

Any ideas why?

EDIT: Does this entry need to be added to configuration.yaml to enable the water heater entity?

Go into Developer Tools / Services and select the service water_heater.set_temperature
From there onwards it should be pretty self-explanatory.

Oh yes… that’s where I started. The trouble is, I have no valid entity, device, or area as a target:

just to be certain : you did click on “Choose entity” , right ?

And do you have something similar in the Device config ?
image

Oh yes. And I’ve searched Dev Tools → States for any water_heater entities… there are none.

I’ve just deleted the integration and re-installed it to see if there was anything I missed. Nope…

And no, no controls module in the ViCare device, other than the “one-time charge” button:

Is there a mapping table available which translates the entity names exactly to german?

ViCare Water → Wasser Vorlauftemperatur?
ViCare Boiler Supply Temperature → ?
ViCare Solar Storage Temperature → Pufferspeicher Temperatur?
ViCare Supply Temperature →

ViCare Water → Warmwasser
ViCare Boiler Supply Temperature → Kesseltemperatur
ViCare Solar Storage Temperature → Warmwasser-Solar
ViCare Supply Temperature → Vorlauftemperatur

Hello everyone.
In November I installed a hybrid system with a VITODENS 200-W and a VITOCAL 200-S.

The Vitodens has a built-in wifi module and I configured it. The Viessmann integration worked as expected in Home Assistant and I saw 41 (!) sensors. Cool!

On the other hand, the Vitocal does not have the wifi, so I ordered a Vitoconnect OPTO2, which is arrived today.

After installing this module, I can browse both devices using the ViCare app on my phone (see the attachment below).

“Caldaia” means heater (VITODENS )
“Pompa di calore” means heatpump (VITOCAL)

The problem is that in Home Assistant no new sensors are added: I can’t see any new sensor related to the heatpump.
I tried to delete and re-add Viessmann ViCare integration, but without success.

Any idea?

Update.
I removed from the app the Vitodens, and now Home Assistant gets data from the Vitocal (25 sensors).
So il seems only the “first” deviced added in the app, is actually polled to create sensors.


Update 2.

I re-added the Vitodens and I press “reload” on the integration tile.

Now I see 2 devices:

  • CU401B_S (I suppose the heat pump)
  • Vitodens_200

Now everything seems to be fine. I hope my experience is useful to other users.


Update 3
I spoke too soon

After few minutes, all CU401B_S entities are no longer available. :frowning:


Update 4
Some more topics about similiar situations.

Multi-device support for vicare by oischinger · Pull Request #90347 · home-assistant/core · GitHub
Support multiple devices · Issue #78 · oischinger/ha_vicare · GitHub

Yes, as you have found out the implementation is not yet finished by @oischinger . Please wait until it’s finished.

1 Like

Hello!
I’m using 200-S heatpump and a Vitoconnect Opto2 module.
The component sets up fine, but my climate entity doesn’t allow any temperature change. (Gives error if I add it to a climate card and tries to change anything - COMMAND NOT FOUND)

I also don’t get any energy consumption info (not sure if i’m supposed to).
I can only control the hot water temperature.

Tried the custom component now. Same thing.
Using latest version of HA.

Here’s what I get on entities and sensors:

Diagnostics

I thank in advance if anyone can shed some light on this. :slight_smile:

Hi guys,
i’ve just installed ver. 2023.5.x and i’ve this issue with vicare component:

Questo errore ha avuto origine da un'integrazione personalizzata.

Logger: homeassistant
Source: custom_components/vicare/config_flow.py:60
Integration: Viessmann ViCare
First occurred: 13:16:37 (1 occurrences)
Last logged: 13:16:37

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/discovery_flow.py", line 95, in _async_start
    await gather_with_concurrency(
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 178, in gather_with_concurrency
    return await gather(
  File "/usr/src/homeassistant/homeassistant/util/async_.py", line 176, in sem_task
    return await task
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 845, in async_init
    flow, result = await task
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 873, in _async_init
    result = await self._async_handle_step(flow, flow.init_step, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/config/custom_components/vicare/config_flow.py", line 60, in async_step_dhcp
    formatted_mac = format_mac(discovery_info[MAC_ADDRESS])
TypeError: 'DhcpServiceInfo' object is not subscriptable

Cattura1

Anyone has this issue?
Regards,

Alessandro

I don’t know if it was the same issue, but my Viessmann integration stopped working. I removed it and upgraded HAOS to 10.1 and it came back. It also added a water_heater in addition to the climate entity.

Would be nice if this integration had an option to go direct to optolink controller than through the cloud. The vcontrold mqtt add-on is progressing, but isn’t anywhere near as good as this integration.

Mine stopped working suddenly as well. The log shows:

Error setting up entry ViCare for vicare
5:13:53 AM – (ERROR) components/vicare/__init__.py - message first occurred at 5:12:12 AM and shows up 2 times
Missing 'data' property when fetching installations
5:13:53 AM – (ERROR) components/vicare/__init__.py - message first occurred at 5:12:12 AM and shows up 2 times

Mine stopped working as well about 5 hours ago

Mine too. Seems there is a problem on Viessmann 's servers.
At least for some people. Is it still working for anyone?

Mine stopped working too in the morning.

I‘ve deleted the integration, restarted HA, removed the cached token (/config/.storage/vicare_token.save), created a new api key in the Viessmann developer portal an re-added the integration.

Since then it works again without problems for me.

3 Likes

Same here. This solution worked for me