WindHager integration

Hi everyone,
I have a windhager connected pellet heater at home, and I started to write a custom integration component to handle it.

Right now I have a bunch of sensors working, and some climate entity with basic control. It’s build for my needs and my installation, but I’m pretty sure I’m not the only one in the world with this brand of heater.

I’m searching for persons interested in testing this component and giving me feedback for their own installation (what is working, what is not, what is missing…)

I will post the code on github at the end of the week (I have some cleanup / comments / log to add before posting it.

2 Likes

I’d love to help, but could not find anything on your GitHub yet. Do you use the ‘Infowin’ API?

Hi,

I’m writing a custom component too for a Windhager Biowin II Pellet boiler heater. It is based on the myComfort Windhager gateway RC7030 and is working locally (without cloud/api).

We probably could merge our effort to get something working fine!

Here is the client I wrote to interact with the myComfort gateway : myComfortClient

I’ll post my custom component on github soon to integrate it in HA as climate entities…

Cheers

2 Likes

As promised, here is the custom component : myComfort

It is really experimental, but I can see my 2 modules (floor and radiator), the DHW and a lots of differents sensors. For now, it only read values, but it should be pretty easy to also write values in future.

If someone want to test it, I would be happy to help him get it working on its installation.

2 Likes

Any progress on this? Did you release your code already on Github?

Thanks for sharing!
I had a quick look at your repo. What I miss is some Information how you connect your BioWin and which hardware is needed do send it to your HA-instance.

To connect your Biowin to myComfort, you need a gateway (a small box called RC7030). Once this gateway is configured (by Windhager), you can talk to it locally from HA and read and write everything you need to your boiler.

I just managed to connect back, did not received any notification so I thought this thread was dead :confused:
THe integration worked very well this winter, I will push it “has it is” on a github repo today.
I’m not a python dev, so I think the code must be quit ugly, there is no translation, so some texts are in french.

I’ll try to take a look at what you did :slight_smile: sorry for the really long delay !

Here it is : https://github.com/vermi0ffh/ha-windhager

You can install it using HACS, the setup is done using the UI. No doc yet, I’ll try writing it during the week.

Hi thanks for the integration vermi0ffh!
I have a PuroWin with “MES INFINITY” and 7 Heating loops and the integration works so far, I mentioned that there is only shown the First Heating Loop on each Module.

I know that there is a special peculiarity of the Windhager System for the Module or the Heating Loop where the Warm Water Boilier is assigned to… There is a option “Warmwasserprogramm” “Warm Water Program” because If this Heating Loop is in “Lowering Mode” or in “Holiday Mode” the Warm Water Boiler is not heated as well.

So i changed some Values and it seams to work, there is no feedback on the Interface.
I will continue to test it.

Hi thank you for the myComfort integration,
I have a PuroWin with “MES INFINITY” and 7 Heating loops

I’m pretty new to HomeAssistant and I’m not sure how to integrate your work.
I put the git folder as you wrote into custom_components/mycomfort and also custom_components/mycomfort/mycomfortclient is it all or do I need some python add on?

now I see

but only 4 of my 7 Heating Loops and there are no Values shown and I get an Error "Fehler beim Aufrufen des Diensts climate/set_hvac_mode. ‘Module’ object has no attribute ‘setMode’ " If I try to change something
Thanks

Hi vermi0ffh

I tried your integration today, but got an error during initial setup. Used HACS to import it. Below youw ill find the error log. Only to be sure: password is for USER?
maybe the problem is wth the resent change to Python 3.9.

2023-04-18 10:48:52.348 ERROR (MainThread) [custom_components.windhager] Unexpected error fetching sensor data: ‘functions’
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 250, in _async_refresh
self.data = await self._async_update_data()
File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 206, in _async_update_data
return await self.update_method()
File “/config/custom_components/windhager/init.py”, line 36, in async_update_data
return await httpClient.fetch_all()
File “/config/custom_components/windhager/client.py”, line 49, in fetch_all
device[“functions”],
KeyError: ‘functions’

Hi,
I just peeked this thread, and it seems to have some answers. I updated the component for better compatibility with latest HomeAssistant.

I still uses it daily, maybe you can try to update it and see if it works ?

I’m no python developer, so I tried my best. All I know is : It works for my setup.
The module do it’s best to scan the bus, but 7 heating loops is quite a lot, I don’t know how the bus can cope with that.

Maybe you can try to test the bus with the regular HTTP interface of the heater. The best for this module, would be to find a good python developer, not me :smiley:. But I can try to debug this with you if you want

thanks a lot!

I’ll try. I’m also without any knowledge about python, so it is hard for me to “read” the code. But what I forgot to mention is I’m using a MultiWin+. How do you read the configuration? I’ve 3 heating circuits. maybe they using different numbers one is at 0/26/…

I realized how tight your integration with the BiOWin system is. Cloud you provide me your OID’s. So I can compare them with mine and change the code, to support my MultiWin+.
I tested you updated code, but do have the same errors.

I read OIDs from the BioWin’s HTTP interface. The fetch_all() method in client.py is in charge of scanning the bus to read everything on it. It then determine devices based on “fctType” :

  • 14 = Climate Control
  • 9 = Heater

I have only 1 Heater (BioWin 2) and 1 Climate Control. Adding logs in the fetch_all() function can help displaying what’s on the bus, and what are the “fctType”.

You can do it by hand with cURL with something like this :

curl “http:///api/1.0/lookup/1” --digest -u USER:{pass}

I think you can safely post the JSON here so we’ll try to find out how to improve the plugin :slight_smile:

this is what I get back!

[
{
“FE01msg”: “PCM 14 OK”,
“functions”: [
{
“fctId”: 0,
“fctType”: 14,
“lock”: false,
“name”: “UML FBH”
}
],
“name”: “UML FBH”,
“neuronId”: “07000ab0d701”,
“nodeId”: 16,
“programId”: “9001001c010a0532”,
“subnet”: 1
},
{
“FE01msg”: “PCM 14 OK”,
“functions”: [
{
“fctId”: 0,
“fctType”: 14,
“lock”: false,
“name”: “UML HK1”
}
],
“name”: “UML HK1”,
“neuronId”: “07000ad5d601”,
“nodeId”: 15,
“programId”: “9001001c010a0532”,
“subnet”: 1
},
{
“functions”: [
{
“fctId”: 0,
“fctType”: 15,
“lock”: false,
“name”: “WVF”
}
],
“name”: “WVF”,
“neuronId”: “002158753400”,
“nodeId”: 20,
“programId”: “9001001c030a0503”,
“subnet”: 1
},
{
“name”: “MB6130”,
“neuronId”: “07000b5e8e01”,
“nodeId”: 96,
“programId”: “9001001a020a0532”,
“subnet”: 1
}
]

this seems very similar to what you request in your code, function is availible…do not see a reason it does not work!