Temperature Offset Causing TRV to remain closed, even when BT is requesting heat #1559
Labels
bug
Something isn't working
duplicate
This issue or pull request already exists
good first issue
Good for newcomers
Description
Setup
I have 8 Sonoff TRVZB in 7 rooms around my house (2 in the living room), and 7 BT devices set up to control them (again, the living room BT controls both TRVs in there). Other than one BT controlling 2 TRVs, the remaining settings are identical throughout. Each room has an external temperature and humidity sensor, placed away from the radiators. I use a weather entity and my garage temperature as the outdoor sensor for each BT as I don't have an outdoor sensor yet. For the calibration, I use offset based with normal set as the mode. Below are my settings:
Problem
Detailed graphs and descriptions are shown below in the
graphs
section.Sometimes when setting a temperature on BT that is above the tolerance, the underlying TRV never turns on. This seems to be caused by the offset that is applied to the TRV. It is difficult to reproduce, as I've not yet found a consistent way for it to trigger. Sometimes it drops the calibration offset so the TRV temperature is below the ambient so it turns on, other times it doesn't (See below).
Steps to Reproduce
heating
Expected behavior:
The underlying TRV has its offset adjusted properly to turn on to heat the radiators
Actual behavior:
The offset is either not adjusted, or not adjusted enough for the TRV to think it needs to turn on to heat (See below)
Versions and HW
Home Assistant: 2025.1.1
Better Thermostat: 1.7.0-beta2
TRV(s): 8 Sonoff TRVZB
Debug data
Diagnostic Data Json:
debug log
https://gist.github.com/DavidGeorge528/5bb78bb8e8f13214b719fe1eb1dfe3bb
graphs
After turning the heating on everywhere we can see that BT has each thermostat set to heating and is over the 0.5C threshold
However, when we look at the TRVs themselves, only 3 out of 8 are actually on and heating. The rest are idle
Digging into one TRV specifically, we can see the device temperature (Controlled by the offset by BT) is very erratic, and over compensating. And although BT states its heating, its infact off because the offset is too high and the TRV thinks its internal temperature is well above the set temperature.
Interestingly, if you look at the final few readings on the chart, that was me manually increasing the temperature on the TRV itself by 0.5C (By physically turning the dial on the device OR adjusting the TRV in HA), this caused the offset to adjust and the TRV turned to heat. Adjusting by 0.5C in BT (not on the TRV, or the physical device) doesn't cause this behaviour.
Below are the logs from Z2M directly after I adjust the BT temperature by 0.5C
Z2M Logs
We can see that the offset was slightly adjusted, but not enough to actually trigger the TRV to turn on. Even though the actual temperature reported to BT by the external temperature sensor at the time was 16C. So very far below the set temperature
Final notes, even after 35 minutes, the issue doesn't correct itself, also its not consistent. You can see in the morning the TRV's offset updated and the TRV turned on, however during testing now the offset never changed,
Note: For clarity,
Kitchen
is the BT deviceTRV - Kitchen
is the Z2M TRV device.Kitchen current temperature
is the external temperature sensor that is assigned to BT.Additional Information
I've used BT for a while and never experienced these issues until recently, and I realise I'm using the beta, however I wanted some of the new features like humidity on the device. With that said, I do believe this is something that has changed recently, likely between the release and beta.
Possibly linked issues:
#1545 (Not enough info on the issue to be sure)
The text was updated successfully, but these errors were encountered: