jmcollin78 / versatile_thermostat

A full featured Thermostat for Home Assistant: presets, window, motion, presence and overpowering management
MIT License
346 stars 38 forks source link

Thermostat turns heater on and off as if set temp is higher than current temp, but it isn't #616

Closed jezzaaa closed 3 weeks ago

jezzaaa commented 3 weeks ago

Please read carefuly this instructions and fill this form before writing an issue. It helps me to help you.

Version of the custom_component

6.6.0

Configuration

My VTherm attributes are the following:

hvac_modes:
  - hhvac_modes:
  - heat
  - "off"
min_temp: 7
max_temp: 30
target_temp_step: 0.5
preset_modes:
  - none
  - frost
  - eco
  - comfort
  - boost
current_temperature: 17.9
temperature: 16.5
hvac_action: heating
preset_mode: none
is_on: true
hvac_mode: heat
type: null
is_controlled_by_central_mode: true
last_central_mode: Auto
frost_temp: 16
eco_temp: 19
boost_temp: 23
comfort_temp: 21
frost_away_temp: 0
eco_away_temp: 0
boost_away_temp: 0
comfort_away_temp: 0
power_temp: null
target_temperature_step: 0.5
ext_current_temperature: 4.9
ac_mode: false
current_power: null
current_power_max: null
saved_preset_mode: none
saved_target_temp: 16.5
saved_hvac_mode: null
motion_sensor_entity_id: null
motion_state: null
power_sensor_entity_id: null
max_power_sensor_entity_id: null
overpowering_state: null
presence_sensor_entity_id: null
presence_state: null
window_state: "off"
window_auto_state: "off"
window_bypass_state: false
window_sensor_entity_id: null
window_delay_sec: null
window_auto_enabled: false
window_auto_open_threshold: null
window_auto_close_threshold: null
window_auto_max_duration: null
window_action: window_turn_off
security_delay_min: 60
security_min_on_percent: 0.5
security_default_on_percent: 0.1
last_temperature_datetime: "2024-11-09T06:26:01.750534+11:00"
last_ext_temperature_datetime: "2024-11-09T06:38:07.316543+11:00"
security_state: false
minimal_activation_delay_sec: 10
device_power: 2
mean_cycle_power: 0.64
total_energy: 723.03
last_update_datetime: "2024-11-09T06:44:31.867615+11:00"
timezone: Australia/Sydney
temperature_unit: °C
is_device_active: true
ema_temp: 17.9
is_used_by_central_boiler: false
temperature_slope: -0.2
hvac_off_reason: null
is_over_switch: true
is_inversed: false
keep_alive_sec: 0
underlying_entities:
  - switch.jeremy_s_heater_switch
on_percent: 0.32
power_percent: 32
on_time_sec: 96
off_time_sec: 203
cycle_min: 5
function: tpi
tpi_coef_int: 0.6
tpi_coef_ext: 0.1
friendly_name: Jeremy's Thermostat
supported_features: 401

If it is releveant to regulation performance or optimisation some curves are needed

To have a great curves demonstrating what you think is a problem, please install and configure what is described here: Even better with Plotly to tune your Thermostat

Describe the bug

The set temp is 16.5, the current temp is 17.9, so the heater shouldn't be turning on. But it is going through the on/off heading cycle. This started this morning a few hours ago. Screenshot_20241109-063131 Screenshot_20241109-065441

I'm trying to: have my heater no longer warm when the room is already warm enough

And I expect: the heater to stay off when the room is warmer than the set temperature

But I observe this .... Heater turns on/off in heating cycle of approximately 5 minutes

I read the documentation on the README.md file and I don't find any relevant information about this issue.

Debug log

2024-11-09 06:56:30.293 DEBUG (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Jeremy's Thermostat - Checking new cycle. hvac_mode=heat, security_state=False, preset_mode=none
2024-11-09 06:56:30.293 DEBUG (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Jeremy's Thermostat - Window auto is on, check the alert. last slope is -0.230
2024-11-09 06:56:30.293 DEBUG (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Jeremy's Thermostat - Window auto event is ignored because bypass is ON or window auto detection is disabled
2024-11-09 06:56:30.293 DEBUG (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Jeremy's Thermostat - power not configured. check_overpowering not available
2024-11-09 06:56:30.293 DEBUG (MainThread) [custom_components.versatile_thermostat.base_thermostat] VersatileThermostat-Jeremy's Thermostat - checking security delta_temp=0.0 delta_ext_temp=8.4 mod_cond=True temp_cond=False climate_cond=False switch_cond=False
2024-11-09 06:56:30.293 DEBUG (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-Jeremy's Thermostat-switch.jeremy_s_heater_switch - Starting new cycle hvac_mode=heat on_time_sec=81 off_time_sec=218 force=False
2024-11-09 06:56:30.293 DEBUG (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-Jeremy's Thermostat-switch.jeremy_s_heater_switch - A previous cycle is alredy running and no force -> waits for its end
2024-11-09 06:56:30.294 DEBUG (MainThread) [custom_components.versatile_thermostat.underlyings] VersatileThermostat-Jeremy's Thermostat-switch.jeremy_s_heater_switch - End of cycle (2)
2024-11-09 06:56:30.295 DEBUG (MainThread) [custom_components.versatile_thermostat.thermostat_switch] VersatileThermostat-Jeremy's Thermostat - Calling update_custom_attributes: {'is_on': True, 'hvac_action': <HVACAction.IDLE: 'idle'>, 'hvac_mode': <HVACMode.HEAT: 'heat'>, 
jezzaaa commented 3 weeks ago

error_log.bin.txt

jmcollin78 commented 3 weeks ago

Hello,

You coef_ext is way to high. The default value is 0.01

See explanations here: https://github.com/jmcollin78/versatile_thermostat/blob/main/README.md#the-radiator-heats-up-even-though-the-setpoint-temperature-is-exceeded-or-does-not-heat-up-even-though-the-room-temperature-is-well-below-the-setpoint

and here: https://github.com/jmcollin78/versatile_thermostat/blob/main/README.md#tpi-algorithm

I close the issue because this is not a VTherm issue. Please reopen if I miss something.

jezzaaa commented 3 weeks ago

Thankyou. You are correct. I'm so sorry to have troubled you with this.

I don't remember changing the coef_ext, but I must have done so. Perhaps one day I experimented and later I reverted it by re-typing but missed the zero.

jmcollin78 commented 3 weeks ago

There is a bug in the UI which prevent to type: 0.01. You have to copy/past the value