Viessmann Component


#22

A lot happening here.
I read the first post and didn’t realize that other people were working in //.
I wrote a python library:


Most of the functions are there but not all API endpoints work with my installation. It’s interesting to notice that the “Comfort temperature” and the “holiday schedule” are still in the API. I didn’t try the holiday feature yet but you can configure a comfort temperature and activate/deactivate it.

It’s already on PyPi. I’ll start writing a module in the coming days. I don’t really want to go trough MQTT and now I have my lib ready so…

Also, in the case of my installation I would need a climate and a water heater component.

@oischinger not all sensors are present.
The easiest way to check using https://www.getpostman.com
You easily browse the API and list the endpoints active for your installation.


#23

@somos Your library is exactly what would be needed for a “proper” home assistant component and it greatly simplifies the code and worked right away.
I updated the custom component to use PyViCare instead of directly calling the vicare API:

@eldios Are you already working on a climate component or should I start writing something?


#24

@oischinger thanks for the feedback
I think you should start writing a Viessmann platform with 3 components:

  • Climate for the heating
  • Water heating
  • Sensor for the external and room temperature
    But I’m not a HA expert yet.
    I was planning to write the component but you already started something so happy to contribute if you want.

#25

Nope I only had time to do some quick tests, so please go on and continue on your repo.

I also think it’s a good idea yo keep your repo as a reference and send you patches and PRs to try to centralize efforts.

At least that’s what I’ll do :slight_smile:


#26

As an experiment I created a climate component and it turned out to be quite simple to create such a component.
Now here comes the “but”:
My Viessmann heater is for the whole house. It doesn’t even have a room sensor and I can’t really show a meaningful “current temperature” by any data from the ViCare API (Maybe it would make more sense to use some Zigbee temperature sensor from my living room?)

In the end one wouldn’t be able to do more than

  • set the target temperature
  • set the modes

Seems like the climate component has lots of features for AC devices which just make no sense for us. I was hoping for some support for programming start/stop schedules and so on.

Anyway I will experiment a little more with the climate component and see what we can achieve.


#27

@oischinger I’ll take your copy from your repo and also test it out.

In my case I have a Nest thermostat in the living room so I can couple the room temperature taken by that and plan the heating schedule from the heaters accordingly… I guess…

Anyway the more we have, the merrier :smiley:

@somos opened a PR and an issues on your repo. :slight_smile:


#28

Here’s my take on a climate component:

See this commit on GitHub

  • The on/off changes the mode between dhwAndHeating and standby.
  • The current temperature is the room sensors temperature if available or else the boiler temperature
  • The target temperature is always the temperature for the current program (this means that in reduced you cannot set the temperature for normal)
  • You can select all programs reported by getPrograms in the dropdown. Not all of them work and you cannot turn off e.g. “comfort” once you enabled it. We really need to think about what options we want in that dropdown and will maybe have to create our own logic for turning on/off stuff
  • Holiday mode toggle turns on holiday program or switches back to normal. This does however not work since I couldn’t figure out how to program the holiday start/end dates

I don’t really like the outcome. It works but the user experience is not really great. Mostly because the climate component of HA seems to be designed for AC devices and the Viessmann heater has totally different configuration parameters.

Personally I believe that creating a couple of sensors and switches plus some nice Lovelace config could work out much better.

What do you think?


#29

Yes, I have been trying to wrap my head around this as well and I don’t feel the climate component is optimal. My unit is a Vitocal 343G (a geothermal heat pump) so while controlling modes etc is probably the same as a gas heater, I would be interested to monitor some additional parameters that are specific to a heat pump setup (brine temperature, for example, to monitor how the well temperature changes over season, as well as COP -the coefficient of performance, or how efficient the energy extraction from the well is). I believe these parameters are available through ViCare but I havn’t been able to confirm it yet (I’m a manager since a few years back and the tie really restricts the blood flow to the brain so my coding skills isn’t what they used to be.Now you know why managers mostly behave like morons :slight_smile: ).


#30

that’s a good use case but I guess we should focus on making the component stable first before introducing more features.

I do think that eventually we’ll want to cover all possible use cases tho’ … so thanks for bringing it up @hevi


#31

I have updated the custom component.
It now support sensors for consumption data and supports the following operation modes of a climate component:

  • auto = reduced/normal
  • eco = eco
  • heat = comfort
  • off = standby

I still need to experiment a little more with switching the operation modes but it seems to work somehow.

I have also uploaded an example lovelace config which show some sensors in a history_graph: