OStrama / weishaupt_modbus

This integration allows you to monitor and controll your weishaupt heatpump via modbus.
MIT License
13 stars 3 forks source link

"Kennfeld" is different for each heatpump model #18

Open MadOne opened 4 days ago

MadOne commented 4 days ago

Is your feature request related to a problem? Please describe. The different heatpump models have different "Kennfelder"

Describe the solution you'd like I'd like to autodetect the heatpump model and select the correct "Kennfeld"

Describe alternatives you've considered Select the correct heatpump model in setup.

Additional context PR for WSB8

MadOne commented 4 days ago

I dont see any model info in the modbus doku. The hostname of my heatpump is: WWP-CPU-COM

Any suggestions on detecting the heatpump model are welcome.

OStrama commented 4 days ago

I also do not see any info about it in the known Modbus entries. However, in WEM-Portal expert mode I see this:

image

I think there are modbus addresses there that we do not know...

On the other hand, this could also be something that the user can configure at installation.

OStrama commented 3 days ago

Another point:

I did my first tries for interpolation with scipy CubicSpline. The resultet curves look perfectly like the ones in my WBB 12 manual:

image

However, since in some HA implementations it seems to be an issue to use scipy, I switched to Chebyceff interpolation from numpy. The result is not as good:

image

If there's any idea how to install scipy reliably, it would make power estimation much better

MadOne commented 3 days ago

Is there no way to export the equation?

MadOne commented 3 days ago

-I was already thinking of scanning all possible (don't know yet) registers for a valid response. So we could find out undocumented information. -We could reach out to Weishaupt for the most up to date documentation / information

edlestau commented 3 days ago

Hi MadOne.

If you contact Weisshaupt, you could perhaps also ask why some data via Modbus are less accurate than the comparable data via the portal. An example are the statistical data on electricity consumption and the amount of energy generated.

In my case, for example, the power consumption for the day is displayed as 8.945 KWh at the Portal and 8.0 kWh at the Modbus.

It would also be interesting to know whether and where the long-term and medium-term values for the outdoor temperature can be read out via Modbus. These can be found in the portal, but according to the Modbus interface documentation, they cannot be read out.

Thanks foryour great work! edlestau

MadOne commented 4 hours ago

@edlestau As far is i understand modbus can only provide integers. The integer part of 8.945 is 8. It would be clever to round it up but sadly this is what they did. At temperatures the multiply with 10. So 30,0°C become 300. We devide this by 10 and and get 30.0°C. This could have been done with the Statistics values too, but sadly the diddnt. Im quite sure the never will, because this would break all existing code.

They could use a propper rounding and this would half the possible error.

@OStrama : What do you think about the suggestions above? Another option would be to ship scipy with our integration and import it locally.

OStrama commented 4 hours ago

Hmm, I do not want to implement splines in Phyton from scratch (https://de.wikipedia.org/wiki/Spline)... The Scipy library is written in C/C++, so it has to be compiled for every platform. Some of them are available by simply installing it via PIP, on some even not (the HA box). But Numpy is. As long as HA does not decide to deliver it, I think we have no chance. The quwestion is: What will really be the difference in real live. +/- 0.1 kW would not be an issue at the end..