Implement control mode selector for smart heat pumps and enhance reset event handling

This commit is contained in:
2026-06-03 21:53:32 +02:00
parent 4571c14e91
commit 6cb86875f1
3 changed files with 159 additions and 9 deletions

View File

@@ -26,15 +26,17 @@ smart_heating_templates_library:
templates_library:
clim_conditions:
local_expressions:
temp_threshold: "sleeping_in_the_room ? 0.5 : 1"
trigger_conditions:
- "not binary_sensor.heatpump_winter_mode and (ext_temperature >= room_temperature or ext_temperature >= target_temperature or cant_open_window) and room_temperature >= ((quick_resume or sleeping_in_the_room)? target_temperature : (target_temperature + 1))"
- "not binary_sensor.heatpump_winter_mode and (ext_temperature >= room_temperature or ext_temperature >= target_temperature or cant_open_window) and room_temperature >= (quick_resume ? target_temperature : (target_temperature + temp_threshold))"
- not binary_sensor.heatpump_winter_mode and self and (ext_temperature >= target_temperature or cant_open_window)
- binary_sensor.heatpump_winter_mode and room_temperature <= (target_temperature - 1) and ext_temperature <= 10
- binary_sensor.heatpump_winter_mode and self and room_temperature < target_temperature
blocking_conditions:
- binary_sensor.is_everybody_sleeping and not sleeping_in_the_room and not stay_on_while_sleeping
- not room_occupancy
- not binary_sensor.someone_home #and not (binary_sensor.someone_in_town and sensor.day_interval == 'Nuit')
- not binary_sensor.someone_home
- window_open
desk_heatpump:
@@ -67,11 +69,17 @@ desk_heatpump:
smart_conditions:
callback_delay: 10 # on the morning it can happen that we ask to start and stop the heat pump immediately afterwards which in result in the heat pump ignoring the second command
template_conditions: <clim_conditions>
template_conditions: <clim_conditions>
control_mode_selector:
sensor: input_select.desk_heatpump_override
reset_events:
- good_morning
- good_bye
quick_resume:
sensor: binary_sensor.desk_heatpump_quick_resume
reset_event: good_morning
reset_events: good_morning
#input_buttons:
# turn_on: input_button.clim_du_bureau_turn_on
@@ -101,7 +109,7 @@ bedroom_heatpump:
auto: binary_sensor.heatpump_winter_mode
quiet: True
target_temperature: sensor.target_temperature_heatpump
target_temperature: sensor.target_temperature_heatpump + 0.5
hvac_mode: "binary_sensor.heatpump_winter_mode ? 'heat' : 'cool'"
fan_mode: sensor.bedroom_heatpump_fan_mode
@@ -111,7 +119,13 @@ bedroom_heatpump:
quick_resume:
sensor: binary_sensor.bedroom_heatpump_quick_resume
reset_event: good_morning
reset_events: good_morning
control_mode_selector:
sensor: input_select.bedroom_heatpump_override
reset_events:
- good_morning
- good_bye
living_room_heatpump:
module: smartheatpump
@@ -142,6 +156,12 @@ living_room_heatpump:
callback_delay: 10 # on the morning it can happen that we ask to start and stop the heat pump immediately afterwards which in result in the heat pump ignoring the second command
template_conditions: <clim_conditions>
control_mode_selector:
sensor: input_select.living_room_heatpump_override
reset_events:
- good_morning
- good_bye
quick_resume:
sensor: binary_sensor.living_room_heatpump_quick_resume
reset_event: good_morning
reset_events: good_morning