Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BT / Sonoff TRVZB - Offset wrong and/or UI indication wrong #1489

Open
DattiHD opened this issue Nov 22, 2024 Discussed in #1486 · 9 comments
Open

BT / Sonoff TRVZB - Offset wrong and/or UI indication wrong #1489

DattiHD opened this issue Nov 22, 2024 Discussed in #1486 · 9 comments

Comments

@DattiHD
Copy link

DattiHD commented Nov 22, 2024

Discussed in #1486

Originally posted by DattiHD November 21, 2024
Hi,

maybe someone has an idea how to fix this issue:

Software I am using:
BT:
1.6.1

Z2MQTT:
1.41.0

Home Assisstant
Core
2024.11.1
Supervisor
2024.11.2
Operating System
13.2
Frontend
20241106.2

Hardware:
Sonoff TRVZB
Govee H5100

This happens for all my TRVs but let's take my living room TRV as an example.
This is it's configuration [edit: changing the calibration type to standard or aggressive does not affect the described behaviour]:
config

image

It is set to hit a temperature of 20 °C. I would expect that it would start to heat when the Govee Sensor reports a temperature that is below 19.8 °C.

However what actually happens is that the UI Card indicates heating when the ext. sensors temperature is < 20.0.
BT

And the TRVZB is still idle because the last offset change was over an hour ago and the local temp is still > target temp.
zigbee

Does anyone know how to decrease the interval of the offset correction? There are no indicators for any errors that would prevent BT from correcting the offset:
image

@NeosNDG
Copy link

NeosNDG commented Nov 24, 2024

HI,

can you turn on debugging of BT and take a look at the logs whether you´ll see entries similar to this:
2024-11-24 00:59:36.652 DEBUG (MainThread) [custom_components.better_thermostat.events.temperature] better_thermostat None: external_temperature changed from 17.9 to 17.8
2024-11-24 00:59:36.652 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.heizung_wohnzimmer_thermostat - new local calibration: -3.6 | external_temp: 17.8, trv_temp: 17.7, calibration: -3.6

I´m running TRVZB´s via ZHA and the behaviour of the UI card is the same. So, I assume that it´s a display issues with the card (or even works as designed?) but BT is turning down the offset low enough once your external temp sensor hit´s the offset temp.

When it comes to your target temp steps (just because you marked it red in your screenshot), I figured the TRVZB´s only support 0.5° steps unfortunately but that shouldn´t be related to the issue anyway, I guess.

@DattiHD
Copy link
Author

DattiHD commented Nov 24, 2024

Hi NeosNDG,
thank you for your reply. I already had a look at the log files and i can see that BT is changing the Offset:

2024-11-24 15:22:45.737 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.kinderzimmerheizung - new local calibration: -0.4 | external_temp: 19.7, trv_temp: 19.4, calibration: -0.6

After using BT for some days i would say that there are two issues I can identify:

  • The heating icon does not represent the actual state the device is in and is does not take the tolerance into account. If you want to know what your heater is actually doing, you have to check Z2MQTT (or respective services/gateways).
  • As we can see BT does change the offset but I do not understand the interval between the changes. If you monitor the temp graph over a whole day the temperature is more or less there where you want it to be (in my case +/- 0.5 which seems pretty good to me as from what I have read, the Sonoff TRVZB have a hysteresis of 1 °C). If you expext fast an reliable changes that is where you encounter problems. A situation I had this morning: The target is set to 20 °C. My temp sensor measures 20.3 °C. I'm turning down the target to 19 °C. Card indicates heating is off. TRVZ still heats because the offset has not been adapted and still reads 16.3 °C --> so either you set the target to a really low temp (which might be risky if it is cold and you forget to increase it again) or you change the offset manually to match you ambient temperature.

However, despite these flaws this addon is a great piece of work. Thanks to the founder and the contributers!

@NeosNDG
Copy link

NeosNDG commented Nov 24, 2024

I agree @DattiHD.

Your summary also matches my experience. Although I started put the latter part regarding how fast BT reacts when target temp has been reached more to a subjective feeling as when I watch for it to happen, it always feels like forever when in fact it´s only a matter of minutes. Still, it could (should?) be faster.

@viprapp
Copy link

viprapp commented Nov 26, 2024

I'm experiencing the same issue with my setup, which consists of eight Sonoff TRVZB devices (firmware v1.2.1). I've tested this with both Zigbee2MQTT v1.41.0 and Better Thermostat (BT) versions 1.6.1 and 1.7 beta.

Observed Behavior
The BT thermostat indicates "heating" throughout the night, but the actual thermostat remains idle. This results in the room temperature dropping 2°C below the target temperature.

BT Interface:
BT Interface Screenshot

Original Thermostat Interface:
Original Thermostat Screenshot

I am currently using the normal calibration offset setting with overheating protection enabled, as I have also noticed overshooting issues in the past.

I strongly suspect that the root cause lies in the offset logic, which might not be accurately applied or functioning as intended. The AI calibration feature is even more unreliable.

I also really think this integration is a gem but unfortunately in its current state it causes a lot of headaches for these TRVs.

@MrUhu
Copy link

MrUhu commented Nov 26, 2024

I encounter the same problem.
Interestingly when setting the target temperature via automation, it seems to be ignored because the offset isn't updated. So my bathroom has a cozy 19°C in the morning when it should be 23°C. Same with the rest of the flat.
When setting the temperature manually higher than the automatically set temperature, the TRV starts heating, even when I set it back to the intended temperature - of course only heating until the lower target temperature is reached.

Something is off with the timing of the offset calibration with the newer firmware (beforehand I had a different issue - one of three TRVs was heating although the target temperature was long reached). So this issue can specifically be a problem with the SonOff TRVs.

Edit: Ah yes, the other issue I had was #1410

@MrUhu
Copy link

MrUhu commented Nov 27, 2024

After some tinkering I can definitely say, that the offset is calculated completely wrong. One thermostat, although it should have heated up the room by two degrees, was calibrated 8.5 °C above internal temperature (21°C was the target, 27.5 °C was the calibration). The others were calibrated differently in this triplet of thermostats, but still: Neither would have heated like this.

One workaround - to the confusion of my wife - is setting the calibration mode to "Target Temperature". Like this the thermostat is heating like expected when a temperature is set. The only problem is: After the temperature is set, the digits on the thermostat go all over the place, because it is calibrated by target temperature.

Anyway. Additionally I saw that, although the thermostats are calibrated by target temperature, all of them change the offset regularly - and are always above the reported room temperature. 2,5 calibration with 23 internal temperature, when outside temperature is 21...

@DattiHD
Copy link
Author

DattiHD commented Nov 28, 2024

I can confirm the behaviour described by @MrUhu. I also was quite suprised, that the offset was still being adapted by BT although being in target temp mode. Thats why I went back to offset mode.
As MrUhu describes, the offset can be all over the place some times. At least in my case and in accordance with @NeosNDG the offset is being set to a more reasonable value within some minutes.

@Rhizix
Copy link

Rhizix commented Nov 29, 2024

Just wanted to chime in and say that I am encountering a similar issue.
The offset doesn't actually seem to do anything and my Sonoff TRV's were heating while the Better Thermostat entity for them said they were idle :/
Really hoping for a fix for this.

@MrUhu
Copy link

MrUhu commented Nov 30, 2024

For anyone with trouble:
Kinda flawlessly working for me is Version 1.6.
It seems like the fixes in 1.6.1 and the changes in first Beta 1.7 causing problems in general or specifically with Sonoff TRVZB. The calibration in the beta also seems...messed up, see #1470.

I'm running with 1.6 right now and apart from occasional heating shown in the dashboard but not any heating taking place (difference from target to current temperature <0.3 °C) - I have no problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants