-
-
Notifications
You must be signed in to change notification settings - Fork 139
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
Using AI calibration mode caused for the TRV to be set to idle even if the BT thermostat was set to heat #1580
Comments
@radupantiru Thanks for your bug report and also providing the proper debug data.
-> The "AI" for some reason seems to have learned to expect 0% heating rn for a 3.4°C difference, very odd. You can actually call the BT "reset_heating_power" service, which will set the value back to the initial 0.01. Some more undocumented info about the AI algorithm, that I just analyzed from the code now:
An additional check at L973 would be required, making sure t_end is larger than t_start. Or at least clamping the heating power value to be bigger than idk, 0.001 (1.44°C per day), but this can then still affect / offset the heating power value with such erroneous samples. Negative values generally could make sense, like if we're not heating enough, and there's a big heat demand, temperature could still fall, but it's hard to distinguish "bad" samples from this... Some nice write-up on the algorithm: #1086 (comment) |
Tried to reproduce the same situation as yesterday twice, but was not successful with a large temperature drop. Will leave log settings with DEBUG enabled and if the same situation surfaces I will add a new comment with the new logs. Also thank you for your proposed fix. |
@radupantiru It depends when the sensor updates and how big your "window opened" delay in BT is - The drop must be reported by the sensor, before BT turns off heating (due to the window open detection). Also this all only applies to "AI calibration" mode. |
I have the same issue and it seems to correlate well with the room being quite cold and the radiator having problems to reach the temperature target over the day and encountering falling temperatures while heating when warm air escapes the room. |
Description
Using AI calibration stopped the target TRV using the same temperature as target as the one measured internally.
Using Aggressive calibration fixed the issue but would like to know what happened.
Steps to Reproduce
Set BT TRV to heat but radiator TRV was set to idle
Expected behavior:
Radiator TRV to be seat to heat.
Actual behavior:
Radiator TRV was idle.
Versions and HW
Home Assistant: 2025.1.2
Better Thermostat: 1.6.1
TRV(s):
TS0601
by _TZE200_hue3yfsn
Debug data
diagnostic data
debug log
2025-01-20 22:03:03.732 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trvb1_thermostat - new setpoint calibration: 19.0 | external_temp: 19.4, target_temp: 22.8, trv_temp: 15.6
2025-01-20 22:03:03.733 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_hvac_mode: climate.trvb1_thermostat from: heat to: off
2025-01-20 22:03:03.733 DEBUG (MainThread) [custom_components.better_thermostat.adapters.generic] better_thermostat None: set_hvac_mode off
2025-01-20 22:03:10.593 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trvb1_thermostat / heating_power_valve_position - temp diff: 3.4 - heating power: -0.0051 - expected valve position: 0%
2025-01-20 22:03:10.593 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trvb1_thermostat - new setpoint calibration: 15.5 | external_temp: 19.4, target_temp: 22.8, trv_temp: 15.6
2025-01-20 22:03:10.593 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_hvac_mode: climate.trvb1_thermostat from: off to: heat
2025-01-20 22:03:10.593 DEBUG (MainThread) [custom_components.better_thermostat.adapters.generic] better_thermostat None: set_hvac_mode heat
2025-01-20 22:03:10.831 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_temperature: climate.trvb1_thermostat from: 15.5 to: 15.5
2025-01-20 22:03:10.831 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: climate.trvb1_thermostat / check_target_temp / _last: 15.5 - _current: None
2025-01-20 22:03:13.834 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trvb1_thermostat - new setpoint calibration: 19.0 | external_temp: 19.4, target_temp: 22.8, trv_temp: 15.6
2025-01-20 22:03:13.834 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_hvac_mode: climate.trvb1_thermostat from: heat to: off
2025-01-20 22:03:13.834 DEBUG (MainThread) [custom_components.better_thermostat.adapters.generic] better_thermostat None: set_hvac_mode off
2025-01-20 22:03:18.670 DEBUG (MainThread) [custom_components.better_thermostat.utils.helpers] better_thermostat None: climate.trvb1_thermostat / heating_power_valve_position - temp diff: 3.4 - heating power: -0.0051 - expected valve position: 0%
2025-01-20 22:03:18.670 DEBUG (MainThread) [custom_components.better_thermostat.calibration] better_thermostat None: climate.trvb1_thermostat - new setpoint calibration: 15.5 | external_temp: 19.4, target_temp: 22.8, trv_temp: 15.6
2025-01-20 22:03:18.670 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_hvac_mode: climate.trvb1_thermostat from: off to: heat
2025-01-20 22:03:18.670 DEBUG (MainThread) [custom_components.better_thermostat.adapters.generic] better_thermostat None: set_hvac_mode heat
2025-01-20 22:03:20.581 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: TO TRV set_temperature: climate.trvb1_thermostat from: 15.5 to: 15.5
2025-01-20 22:03:20.582 DEBUG (MainThread) [custom_components.better_thermostat.utils.controlling] better_thermostat None: climate.trvb1_thermostat / check_target_temp / _last: 15.5 - _current: None
Additional Information
The text was updated successfully, but these errors were encountered: