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
834 stars 126 forks source link

Grouped thermostats turned to 30°C #875

Open DonRobo opened 1 year ago

DonRobo commented 1 year ago

Prerequisites

BT.json Real Thermostat.json

Description

When two Hama Zigbee TRVs are grouped into one BT they are both turned to 30°C immediately. Even though the thermometer temperature is >25°C and the target is 21°C.

Steps to Reproduce

  1. Create a new BT. Add both TRVs. Set both to target temperature mode (not offset), turn childlock on for both just to be sure. I'm using a sensor for outside temp, for inside temp, humidity and a weather entity.
  2. Set the BT to 21°C
  3. Both real thermostats are set to 30°C

Expected behavior:

They are both turned off because the room is already far too hot.

Actual behavior:

They are both turned to maximum heating

Versions

BT Version: Beta 56 (only started using BT with this version, can't tell you if previous versions were also broken) HA Version: 2023.1.2

Additional Information

I have a second BT that's working perfectly fine. The only difference is that I'm only using one real thermostat (and a window sensor, though I think that's less relevant)

DonRobo commented 1 year ago

I disabled the grouped BT and created two BTs (one for each real one) and one of them just set itself to 30°C again. After it turning it off and on again it fixed itself though. I'm not sure if this issue is related since the grouped one didn't fix itself after turning it off and on and changing temperature a few times.

It happened again later on though. It's not a permanent fix

wtom commented 1 year ago

You mean the real TRV gets set to 30? Not BT? You are using AI based calibration?

samuelbagforsprivat commented 1 year ago

got the same problem with this release for both grouped and single BTs. Not as often as with the previous releases but still a problem.

wtom commented 1 year ago

We need logs for this, if your BT is really 21 degrees and the external sensor is reporting "state": "23.22", then it shouldn't try to heat.

In general on the AI Based Calibration is wanted that it sets the target temperature on the TRVs so 30. Sometimes. But if you set BT really to 21 and as said the external sensor reports 23.22, then the wohnzimmer should go to 27-28 (since it's reporting 29.1) and the kuche to 20-21 (reporting 22.2).

https://better-thermostat.org/qanda/debugging

DonRobo commented 1 year ago

Yes, the real TRV. I'll enable debug logging and do some more tests and try to reproduce the error cases. Might have to wait until it's sunny again to reproduce the same scenario of the sensor reporting a temperature higher than 21 at all though.

KartoffelToby commented 1 year ago

Its possible that one of the real TRV Slipp into a boost mode (often 30°C) and BT synced it

DonRobo commented 1 year ago

I'm not sure anymore if grouping is the problem. I haven't had time to reproduce the grouped problems yet, but suddenly one of my non-grouped better thermostats acted up today.

It is set up like shown in the diagnostic json: config_entry-better_thermostat-40c822ba46731bc21006a370ed9fe4fb.json.txt

There is an external temperature sensor showing 19.63°C. It's set to target a temperature of 22.0. It's set the real TRV to a target temperature of 19.0. The same real TRV is also reporting a temperature of 19.4°C.

The debug logs show the following: bt.log

In this log you can see HA starting up. The "Wohnzimmer BT" thermostat is set to 21.0 initially and at 21:25:59 I set it to 22.0

Meanwhile the "Küche BT" using the same external temperature sensor and also the same 21.0 target (not changed to 22.0 in this log) behaves exactly as it should.

This behaviour started today with the beta version and didn't change after updating to 1.0

DonRobo commented 1 year ago

I tested different modes (only changing them in the config, not recreating the BT):

  1. Target temperature - AI based: Behaviour as described above
  2. Target temperature - Aggressive: Same
  3. Offset - AI based: Also misbehaving
  4. Offset - aggressive: Also misbehaving
  5. Offset - normal: Seems to work (I'm not sure if setting the offset so low that it shows 13°C when it should be 19°C is intended behaviour as it might just try to get the TRV to open fully)

In all modes the virtual BT also changed its target temperature after I switched off the child mode protection when nobody touched the physical TRV. If this is a separate bug I'll create a new issue. What do you think?

DonRobo commented 1 year ago

Correction: It's still changing the target temperature of the BT (not just the physical TRV) regularly. bt2.log

samuelbagforsprivat commented 1 year ago

Im having the same problems for both grouped and non-grouped BT, with or without child mode and I never touch the physical TRVs

chuckfy commented 1 year ago

In all modes the virtual BT also changed its target temperature after I switched off the child mode protection when nobody touched the physical TRV. If this is a separate bug I'll create a new issue. What do you think?

@DonRobo My BT target temperatures seem to change (most of the time) when:

Since I'm currently trying to figure out of my BT integration / TVRs just need more time to stop overheating or if there is an actual bug I avoided anything that fiddles with the BT setpoints. Avoiding everything above I haven't had an unwanted bt target change. I wanted to test if the behavious is really reproducable the way I think it is before opening a new issue. Maybe you could use this info as a starting point for your issue?

gentges commented 1 year ago

I'm experiencing the same issue with my grouped TRVs. Yesterday evening they set their target to 30 degrees. This evening to 25 degrees. No input was made manually. AI mode is enabled. I enabled logging now...

DonRobo commented 1 year ago

Just a small update. After spending a few hours debugging and reproducing the behaviour and not being able to find any new useful information I decided to just replace BT with a blueprint for adjusting the temperature offset and an automation for syncing the thermostats. I haven't had problems with them yet.

If anyone else is having problems and feels like giving up, feel free to use them: https://gist.github.com/DonRobo/7589aa265fa07d1fba725167e2d227a2

LauWs commented 1 year ago

I am seeing this happening to my second TRV as well. Currently using Better thermostat on 2 of my TRV´s. One of them works flawlessly. The second one, seems to have it´s own mind. As macintosh-HD writes, it jumps between 25 and 30, depending of what happens.

swifty99 commented 1 day ago

I have 2 HomematicIP TRVs controlled by BT. It constantly goes to 30°. I had to remove it.

Update: This was not an issue on BT. The Homematic had a stuck boost switch. I disabled the user interface of that device, that fixed it.