Improve basement climate control
This commit is contained in:
@ -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
|
||||||
|
|
||||||
|
90
scripts.yaml
90
scripts.yaml
@ -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:
|
||||||
|
Reference in New Issue
Block a user