eq3btsmart icon indicating copy to clipboard operation
eq3btsmart copied to clipboard

Understanding temperature offset and valve-based calculation

Open lumaxis opened this issue 1 year ago • 6 comments

First of all, thank you for creating and maintaining this integration! Very happy to have found it and it's been working great so far.

However, the last few days, I've noticed that the thermostat in one of our rooms has been heating way too much and the room is consistently 2 to 2.5 degrees Celsius above target. I've been trying to figure out how to correctly use temperature offset to fix this. To do this, I wanted to see what the thermostat thinks the current temperature is so I can compare it to the real, externally measured one. Is there a way to do this, is this what valve based calculation does?

Image

Additionally, I'm still somewhat confused as to how the offset works, even after reading through various forum threads online and the documentation. I would expect to have to use an offset of +2.0 to adjust for my problem but that does not seem to be working. Any help or reports from experience would be greatly appreciated! Thanks 🙏

lumaxis avatar Apr 23 '24 12:04 lumaxis

As far as I know, setting offset only works manually on the device. When you try to set offset via bluetooth, it might show a different value but will not act accordingly.

mayonezo avatar Apr 23 '24 12:04 mayonezo

That's very odd! I haven't tried offsets myself beyond when I added it to the integration.

Are you sure it's not just the eq3 not respecting it's schedule? I had that yesterday and i had to put it to manual and back to auto and it fixed itself. I suspect there's a bug with the schedules and summer time in the old firmware.

dbuezas avatar Apr 23 '24 17:04 dbuezas

I never used auto mode. I think there was a thread in the eq3 forum, where somebody wrote about offset not working properly when setting it remotely. I found that thread because I had the same problem. I tried it at home with the dial knob and suddenly it worked.

mayonezo avatar Apr 23 '24 18:04 mayonezo

Auto mode is great ! You can set the schedules with a service this integration provides

dbuezas avatar Apr 23 '24 20:04 dbuezas

Thanks for the suggestion @mayonezo but for me, it appears that offsets that I set via Home Assistant get reflected in the on-device settings, so I assume that works.

I found the code for valve-based calculation and had GitHub Copilot explain it to me:

return (1 - valve / 100) * 2 + self._thermostat.target_temperature - 2: This line calculates the current temperature based on the valve_state and the target_temperature of the thermostat. The calculation seems to be a linear transformation of the valve state into a temperature range around the target temperature. If the valve is fully open (valve state is 100), this calculation will return target_temperature - 2. If the valve is fully closed (valve state is 0), it will return target_temperature + 2. For intermediate valve states, it will return a temperature proportionally between these two extremes.

lumaxis avatar Apr 24 '24 10:04 lumaxis

Hi lumaxis, exactly, the changes are reflected in the on-device settings, but the device does not use those settings, unless you manually set them on the device itself. It does not work. That's why this bug is so easy to miss.

mayonezo avatar Apr 24 '24 11:04 mayonezo