Improve basement climate control

This commit is contained in:
2025-01-25 20:20:08 -05:00
parent 515731fc68
commit f988f1cccc
2 changed files with 62 additions and 48 deletions

View File

@ -363,20 +363,6 @@ input_number:
step: 1 step: 1
unit_of_measurement: °F unit_of_measurement: °F
icon: mdi:thermometer icon: mdi:thermometer
basement_studio_inactive_temp:
name: Basement Studio Inactive Temp
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer
basement_studio_active_temp:
name: Basement Studio Active Temp
min: 50
max: 80
step: 1
unit_of_measurement: °F
icon: mdi:thermometer
climate: climate:
- platform: generic_thermostat - platform: generic_thermostat
@ -390,8 +376,8 @@ climate:
ac_mode: false ac_mode: false
min_cycle_duration: min_cycle_duration:
minutes: 5 minutes: 5
cold_tolerance: 1 cold_tolerance: 2
hot_tolerance: 1 hot_tolerance: 0
initial_hvac_mode: "off" initial_hvac_mode: "off"
precision: 1.0 precision: 1.0

View File

@ -214,23 +214,21 @@ going_upstairs:
below: 32 below: 32
alias: Temperature below freezing alias: Temperature below freezing
then: then:
- action: climate.set_temperature - action: climate.set_preset_mode
metadata: {} metadata: {}
data: data:
hvac_mode: heat preset_mode: frost
temperature: '{{ states(''input_number.basement_studio_inactive_temp'')
| int }}'
target: target:
entity_id: climate.basement_studio_thermostat entity_id: climate.basement_studio_vtherm
alias: Set basement studio heater to inactive temp alias: Set temp to lowest preset
else: else:
- action: climate.set_hvac_mode - alias: Turn basement studio heater off
action: climate.set_hvac_mode
metadata: {} metadata: {}
data: data:
hvac_mode: 'off' hvac_mode: 'off'
target: target:
entity_id: climate.basement_studio_thermostat entity_id: climate.basement_studio_vtherm
alias: Turn basement studio heater off
- if: - if:
- condition: not - condition: not
conditions: conditions:
@ -629,13 +627,13 @@ basement_shutdown:
alias: Basement Shutdown alias: Basement Shutdown
sequence: sequence:
- alias: Turn off any active modes - alias: Turn off any active modes
service: input_boolean.turn_off
data: {} data: {}
target: target:
entity_id: entity_id:
- input_boolean.studio_quiet - input_boolean.studio_quiet
- input_boolean.recliner_mode - input_boolean.recliner_mode
- input_boolean.gaming_mode - input_boolean.gaming_mode
action: input_boolean.turn_off
- if: - if:
- condition: not - condition: not
conditions: conditions:
@ -644,28 +642,61 @@ basement_shutdown:
state: state:
- playing - playing
then: then:
- service: media_player.turn_off - data: {}
data: {}
target: target:
entity_id: media_player.basement_tv entity_id: media_player.basement_tv
action: media_player.turn_off
alias: If TV is not being used, turn it off alias: If TV is not being used, turn it off
- if: - if:
- condition: state - condition: state
entity_id: input_boolean.kallen_computer_updates entity_id: input_boolean.kallen_computer_updates
state: 'off' state: 'off'
then: then:
- service: script.kallen_desktop_shutdown - data: {}
data: {} action: script.kallen_desktop_shutdown
else: else:
- service: script.kallen_desktop_lock - data: {}
data: {} action: script.kallen_desktop_lock
- service: input_boolean.turn_off - data: {}
data: {}
target: target:
entity_id: input_boolean.kallen_computer_updates entity_id: input_boolean.kallen_computer_updates
action: input_boolean.turn_off
alias: Turn off Kallen Desktop unless updates are scheduled alias: Turn off Kallen Desktop unless updates are scheduled
- service: script.text_notify - data: {}
target:
entity_id: fan.basement_fan
action: fan.turn_off
- alias: Basement Studio Climate
if:
- condition: state
entity_id: input_boolean.basement_studio_heat_allowed
state: 'on'
alias: Heat Allowed
then:
- alias: Decide basement studio heater action
if:
- condition: numeric_state
entity_id: weather.iron_nerd_weather_station
attribute: temperature
below: 32
alias: Temperature below freezing
then:
- action: climate.set_preset_mode
metadata: {}
data: data:
preset_mode: frost
target:
entity_id: climate.basement_studio_vtherm
alias: Set temp to lowest preset
else:
- alias: Turn basement studio heater off
action: climate.set_hvac_mode
metadata: {}
data:
hvac_mode: 'off'
target:
entity_id: climate.basement_studio_vtherm
- data:
type: alert type: alert
who: tony who: tony
title: Basement Shutting Down title: Basement Shutting Down
@ -680,46 +711,43 @@ basement_shutdown:
title: Do Nothing title: Do Nothing
alias: Ask about shutting down main computer alias: Ask about shutting down main computer
response_variable: tony_computer response_variable: tony_computer
action: script.text_notify
- wait_for_trigger: - wait_for_trigger:
- platform: state - entity_id:
entity_id:
- binary_sensor.basement_studio_door - binary_sensor.basement_studio_door
to: 'on' to: 'on'
trigger: state
timeout: timeout:
hours: 0 hours: 0
minutes: 5 minutes: 5
seconds: 0 seconds: 0
milliseconds: 0 milliseconds: 0
alias: Wait for the door to open alias: Wait for the door to open
- service: fan.turn_off - data: {}
data: {}
target:
entity_id: fan.basement_fan
- service: light.turn_off
data: {}
target: target:
entity_id: light.basement_lights entity_id: light.basement_lights
alias: Turn off the lights alias: Turn off the lights
action: light.turn_off
- wait_for_trigger: - wait_for_trigger:
- platform: state - entity_id:
entity_id:
- binary_sensor.basement_studio_door - binary_sensor.basement_studio_door
to: 'off' to: 'off'
for: for:
hours: 0 hours: 0
minutes: 0 minutes: 0
seconds: 10 seconds: 10
trigger: state
timeout: timeout:
hours: 0 hours: 0
minutes: 1 minutes: 1
seconds: 0 seconds: 0
milliseconds: 0 milliseconds: 0
alias: Wait for the door to close alias: Wait for the door to close
- service: timer.cancel - data: {}
data: {}
target: target:
entity_id: timer.basement_studio_door_timer entity_id: timer.basement_studio_door_timer
alias: Cancel the door timer since the lights are already off alias: Cancel the door timer since the lights are already off
action: timer.cancel
mode: restart mode: restart
icon: mdi:power icon: mdi:power
adaptive_on_first_floor: adaptive_on_first_floor: