Viessmann Component

@adorobis, your input_select contains all the modes in text form and triggers then an automation for each mode?

Yes, exactly. Additionally you need automation(s) that will update the input_select based on the actual mode of the heater (e.g. if you control it from other place like the Viessmann controller, Vicare app or other places in HA). I’ve made it with triggers based on sensor.heating_active_mode state.

Is it possible now add solar sensors?

Hi Guys,
At first, many thanks for hard work on this integration.
Im user of Vitodens-200. I put master branch in custom components, i see entities, sensors working properly but when i try to change heating mode:

I receive error:
* [140169638111744] (PyViCareCommandError(...), 'Command failed with status code 422. Reason given was: VALIDATION_ERROR')
Log:
websocket_api script: Error executing script. Unexpected error for call_service at pos 1: (PyViCareCommandError(...), 'Command failed with status code 422. Reason given was: VALIDATION_ERROR')

Any idea? I can change temperature but not mode.

Hi, first of all, I would like to say: thank you! Integration works excellent.
I’ve a question: is there a way to read Room Temperature? I’ve two control devices to set and read two circuits. I’ve been using php scripts: GetRoomTemperature(0)

<?php
include __DIR__.'/bootstrap.php';
echo $viessmannApi->getRoomTemperature(0);'

and GetRoomTemperature(1)

<?php
include __DIR__.'/bootstrap.php';
echo $viessmannApi->getRoomTemperature(1);'

and it works just fine from CLI. I receive both values.
Is there a way to add this functions to your integration as two additional entities?

Regards
Irek

Hi everyone, I have problem with gas/electric consumption. Gas Boiler Viessmann Vitodens 100-W (with integrated wi-fi interface). After add a vicare integration (by editing configuration.yaml - using original vicare component from HA - and also by added custom-component from @oischinger) and made an API client in Viessmann website I always see only 5 entities of vicare:


It looks that it is working correctly, I see it in the lovelace and that’s OK but without sensors about gas consumption etc. I really want to get a gas and energy consumption like in a android vicare 3.8.0 application (in iOS vicare 3.7.2 I don’t know why it is also invisible).
I checked logs from HA, sometimes there is error 500 like:
PyViCare.PyViCareUtils.PyViCareInternalServerError: (PyViCareInternalServerError(...), 'Request failed with status code 500 and message "Internal server error". ViCare ErrorId: req-d5ec571dc73d478da00f02698afd294c')
I’m not sure if it can be a reason of lack of entities - in my opinion it can be effect of lose wi-fi of boiler or something other.
Did someone have similiar issues?

HA version: core-2021.11.5
Python version: 3.9.7
Supervisor version: supervisor-2021.10.8

configuration.yaml :
vicare:
username: !secret viessmann_username
password: !secret viessmann_password
client_id: !secret viessmann_clientid
heating_type: “gas”
scan_interval: 120

Regards, Bronek.

EDIT:

Found the reason. PyViCare is not supporting new api methods:
heating.gas.consumption.summary.heating
heating.gas.consumption.summary.dhw
heating.power.consumption.summary.heating
heating.power.consumption.summary.dhw
I think we need to wait to fix that in PyViCare, after that there should be some fixes in ha_vicare…

Hi, did you resolve your issue ? I have the exact same problem :frowning:

I can see the climate.vicare_heating and set some setting to it.
But can u just use the temparature of that entity?

this is all i can select : climate.vicare_heating.
It’s like all included just in there…

I’m Vitodens 100-W owner and I had a problem with change temperature of climate entity. When I try to change the temperature (from Lovelace, Node-Red or developer tools) I got:
[140453932386432] (PyViCareCommandError(...), 'Command failed with status code 502. Reason given was: COMMAND_NOT_FOUND')

Strangly after HA restart I’ve manage to change this temperature once…

@bronek1 I’ve also waiting for consumption data, but recently I’ve discover new entites: sensor.vicare_burner_hours and sensor.vicare_burner_starts

I have identified entries that are incorrect for the Vitodens 100-W:
In water_heater.py line 117:
should be self._api.getDomesticHotWaterConfiguredTemperature() instead self._api.getDomesticHotWaterDesiredTemperature()
In climate.py line 301 set_temperature function:
When self._current_program is e.g. “normalEnergySaving” (program when the heater is not working, is in idle state) it must be changed to “normal” to proper execute function self._circuit.setProgramTemperature()

Same problem on Vitodens 111-W B1LF (storage combi) - the potentially very useful consumption metrics are unfortunately missing.

Indeed, it looks like this was only made available (or the format has changed) in the API in October as per:
https://developer.viessmann.com/en/doc/changelog

Yes, it is available. But in a little different function format. I’m trying to correct it in somm15/PyViCare: Question: change get functions · Issue #234 · somm15/PyViCare · GitHub

In our boilers there is no data stored for example mon/tue/wed/thu etc. - We can only show “today” consumption or last 7 days etc. For that in my opinion there should be other functions in PyViCare. At this moment PyViCareGazBoiler is not supporting those data (I changed the same way that @elenril and it works for me only in Python environment - not in HA). When developers add our boilers to PyViCare, other devs should add that in viessmann-component to show data in HA… I’m not so experienced developer to do that and share in github but maybe I’ll try when I’ll have some time.

Regards, Bro.

I made some changes in PyViCare, changes are waiting for acceptance and merge to master.
I added new functions to getting consumption data according to new API properties for that.
Here is a pull request: Vitodens-100W, new json dump, added new methods by damianbro · Pull Request #235 · somm15/PyViCare · GitHub

I think, if those changes will be accepted and merged, there also will be needed changes in Viessmann Component (ha-vicare or built-in vicare component in Home Assistant).

Hi to all,
i’ve tried to added new viesmann integration on HA (after 2021.12.x rel) but popup fields are blank.

First field is email
Second field is password but third field?
Api keys?
I’ve tried to put api key in it but integration not found and give an error:

Logger: homeassistant.config_entries
Source: components/vicare/__init__.py:134
First occurred: 12:05:54 (2 occurrences)
Last logged: 12:14:50

Error setting up entry ViCare for vicare
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 313, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/vicare/__init__.py", line 98, in async_setup_entry
    await hass.async_add_executor_job(setup_vicare_api, hass, entry)
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/vicare/__init__.py", line 134, in setup_vicare_api
    hass.data[DOMAIN][entry.entry_id][VICARE_CIRCUITS] = hass.data[DOMAIN][
  File "/usr/local/lib/python3.9/site-packages/PyViCare/PyViCareDevice.py", line 36, in circuits
    return list([self.getCircuit(x) for x in self.getAvailableCircuits()])
  File "/usr/local/lib/python3.9/site-packages/PyViCare/PyViCareUtils.py", line 45, in feature_flag_wrapper
    return wrapper(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/PyViCare/PyViCareUtils.py", line 38, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/PyViCare/PyViCareDevice.py", line 265, in getAvailableCircuits
    return self.service.getProperty("heating.circuits")["properties"]["enabled"]["value"]
  File "/usr/local/lib/python3.9/site-packages/PyViCare/PyViCareCachedService.py", line 24, in getProperty
    data = self.__get_or_update_cache()
  File "/usr/local/lib/python3.9/site-packages/PyViCare/PyViCareCachedService.py", line 36, in __get_or_update_cache
    data = self.fetch_all_features()
  File "/usr/local/lib/python3.9/site-packages/PyViCare/PyViCareService.py", line 56, in fetch_all_features
    return self.oauth_manager.get(url)
  File "/usr/local/lib/python3.9/site-packages/PyViCare/PyViCareAbstractOAuthManager.py", line 41, in get
    self.__handle_server_error(response)
  File "/usr/local/lib/python3.9/site-packages/PyViCare/PyViCareAbstractOAuthManager.py", line 60, in __handle_server_error
    raise PyViCareInternalServerError(response)
PyViCare.PyViCareUtils.PyViCareInternalServerError: (PyViCareInternalServerError(...), 'Request failed with status code 502 and message "DEVICE_COMMUNICATION_ERROR". ViCare ErrorId: req-f19b110811534ad4988c05a98653753f')

Any ideas?
Thanks in advance.
Regards,

Alessandro

Ist your Vitoconnect online?
My one is Not connected since today morning,
And you have an http 502 Error.
Maybe Viessmann servers are offline.

With the new release the input form contains no field descriptions:


I don’t know how it happened. I am quite sure those were working before.
I created an issue: Vicare config flow has empty fields · Issue #61561 · home-assistant/core · GitHub

Anyway, you’re right. The error seems to be related to the device being offline.

Third field is the API Key (client_id before in yaml configuration).

Unable to find and add ViCare integration. Vitoconnect is up running on the same network. Any ideas? Maybe there’s something that needs to be configured before adding this integration?

Most likely you’re not running HA Core 2021.12 yet?