KartoffelToby / better_thermostat

This custom component for Home Assistant will add crucial features to your climate-controlling TRV (Thermostatic Radiator Valves) to save you the work of creating automations to make it smart. It combines a room-temperature sensor, window/door sensors, weather forecasts, or an ambient temperature probe to decide when it should call for heat and automatically calibrate your TRVs to fix the imprecise measurements taken in the radiator's vicinity.
https://better-thermostat.org
GNU Affero General Public License v3.0
723 stars 124 forks source link

BT is being turned off by TRV #1223

Open code-chicken opened 6 months ago

code-chicken commented 6 months ago

Description

Better Thermostat keeps turning off again and again. The reason is given by the message "BT Bathroom turned off triggered by state of TRV Bathroom changed to Heat"

Steps to Reproduce

  1. Set BT to heat. I.e. switch it on. Wait some time.

Expected behavior:

Whatever the TRV is doing, Better Thermostat should stay in the state which has been set by the user.

Actual behavior:

In my case, after a few minutes (something between 10 and 30) it turns off. The reason is given by the message "BT Bathroom turned off triggered by state of TRV Bathroom changed to Heat"

Versions

BT Version: 1.4.0, HA Version: 2023.12.4

Additional Information

Seems to be similar to #1201 where the TRV changes to "Auto"

richhollis commented 6 months ago

I have the same problem here with 1.4.0 - thought I was imagining it first.

I see a similar event in my log:

Hall TRV BT turned off triggered by state of Hall TRV Thermostat changed to Heat

I have Hive TRVs which do not support any other HVAC mode other than Heat. So they are are always on Heat mode.

It also seems that my BT thermostat is changing/syncing the target temperature to that of the actual TRV too - e.g. 5C when BT sets it to off (seems similar/same as #1224 and others?)

I can maybe work around this bug by just setting the target temp on the real TRV in an automation and bypass BT. This is what I'm testing now.

Strange thing is that I have 4 Hive TRVs setup with BT and this problem only seems to happen on one of them, that I've noticed anyway.

Apfelstruhdl commented 6 months ago

Same Problem here. Was on 1.3 and also use the 5°C off mode as I noticed my thermostats to not keep closed when switching them "off".

whcrg commented 6 months ago

Same/similar here with TuYa TS0601 TRV:s. Somehow BT instances keep turning off and TRV:s not wanting to obey even the ones that show heating. Started withing last 2-3 days or so. Added recently more TRV:s and instances of BT. Does not affect all TRV:s despite them being the same model.

Downgraded to 1.3 but problem persists.

This is what I have on dashboard image

This is what is actually set to TRV (and gets just set again if I manually alter) image

jonathh21 commented 6 months ago

I too am experiencing this. I have about 8 trvs started seeing this in the last few days.

I've removed BT from one for them all together to see of the underlying TRV still turns off.

richhollis commented 6 months ago

So it's been a few days since I completely removed the BT thermostat that was turning itself on/off and changing the temperature on its own, so I thought I would provide an update.

I am now just talking directly to my TRV via an automation to essentially provide a grouped setup for one room (one physical actuator and one Hive TRV). It now seems to be working properly and I notice that the room is now finally heating much better than before as the TRV is actually turning on and staying on, when needed. Note: I found that I still had issues with the TRV behavior before I restarted HA. Once the BT thermostat was fully removed and HA restarted the TRV has been fine.

I also migrated one other BT thermostat to use an automation that is part of another room that can be grouped - that also seems to be working too. I previously didn't use this one in a BT grouped setup and had them separate.

I have also been thinking some more about why was it that only one BT thermostat had this strange problem and the only thing I can think of is that this TRV was originally part of a BT grouped setup with my physical actuator thermostat. However, the BT grouped logic never worked properly from the outset and did strange things, so I just deleted it and recreated it as regular single BT thermostat. I wonder if there is some hidden/stored configuration data for that TRV value (e.g. unique ID) that caused BT to continue to do weird things with it? Not sure of the BT internals, but it's just an idea as I can't think of any other reason, as my other TRVs which used BT seem to work OK - it's very strange why it only seemed to affect that one TRV.

whcrg commented 6 months ago

image The system mode thing seems to have much to do with this. Tends to be not anything active when thermostat has gone non-worky. Setting this seems to make things work for next 2-40hours random time interval, until it again goes not set at all.

Apfelstruhdl commented 6 months ago

I was wondering how BT distinguishes between inputs set by the user on the TRV and changes of the TRV made on its own. BT seems to take over some of the TRV changes, probably to have the option to set a new temperature. I run several TS0601 (_TZE200_hue3yfsn) and have two of them currently controlled via BT. I do not use the childlock function and use the AI mode with target temperature setting. BT target is set to lets say 20°C. For heating BT set the target of the TRV then to 30°C which is perfectly all right. If I then manually move the temperature control on the TRV, BT suddenly switched to a BT target temperature of 29,5°C. This might be the wanted behaviour of BT as this allows to control the BT target temperature of BT via the TRV.

So my question is, how does BT distiguish TRV target temperature changes, as the might be induced by BT itself, by the user on the TRV or even by the TRV itself due to some internal function? This might also be the trigger for BT to switch off, as the mode of the TRV changes which causes BT to register this as a user manual input on the TRV.

If the manual input via the TRV is not needed, maybe the BT childlock function helps to block any input from the TRV, independent if it is a manual or a TRV generated change?

jonathh21 commented 6 months ago

I too am experiencing this. I have about 8 trvs started seeing this in the last few days.

I've removed BT from one for them all together to see of the underlying TRV still turns off.

I have used the naked trv for 3 days and it has not deviated from what I set it to.

I have today reintroduced a NEW BT wrapper trv, so we'll see if I see the odd behaviour again

code-chicken commented 6 months ago

So my question is, how does BT distiguish TRV target temperature changes, as the might be induced by BT itself, by the user on the TRV or even by the TRV itself due to some internal function?

Actually I think that nothing should be able to change the BT Settings. At least there should be an option to prevent such behaviour. When I set BT to 20 degrees, it should stay at 20 degrees whatever happens. But it happens very often, that sudenly the BT is at 28 degrees or something like that.

maybe the BT childlock function helps to block any input from the TRV,

In my special case, when I enable child lock, not even BT is able to change the TRV settings. But this is probably because of a problem with the TRV.

tomvamosecobee commented 6 months ago

Similar problems with BT and 1 of my Hive TRVs. My only workaround is an automation to set the TRV's setpoint to the thermostat's target temperature whenever the TRV's setpoint drops to 5C

xsasx commented 5 months ago

I have nearly he same issue with my Thermostat from Homematic. If the Thermostat is Idle, after a while it will be set to off. The main problem is than that i must set it to on and than i can set temperature (via Homeassistant) or if i set it to a temperature with my wallcontroll than it ignores the set temperature cause it was set to off.

I just want to have it that OFF is disabled and it just leave at a temperature which i set it to

MarkusJin commented 5 months ago

I have got the same issue. The actual BT target temperature (19°C) remains constant and in order to reach it the TRV aims for a higher temperature (24°C). And for some reason BT defines the new BT target temperature to be the local/internal TRV target temperature.

Version: 1.4.0 and 1.4.0-beta5. TRV: Aqara SRTS-A01 E1 Calibration Type: Target Temperature Based Calibration Mode: AI Time Based

image