mirror of
https://github.com/CCOSTAN/Home-AssistantConfig.git
synced 2025-12-03 11:31:42 +00:00
Add script for dynamic downstairs temperature control in climate.yaml, consolidating existing automation logic into a single sequence. Update README.md to reflect new Nest climate control features and improve device descriptions.
This commit is contained in:
@@ -118,6 +118,52 @@ script:
|
||||
target:
|
||||
entity_id: sensor.upstairs_ac_runtime_since_last_filter_change
|
||||
|
||||
set_downstairs_target_temp_based_on_conditions:
|
||||
alias: Set Downstairs Target Temperature Based on Conditions
|
||||
mode: single
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'not_home'
|
||||
sequence:
|
||||
- service: climate.set_preset_mode
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
preset_mode: 'eco'
|
||||
- conditions:
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'home'
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.pirateweather_temperature
|
||||
above: 92
|
||||
sequence:
|
||||
- service: climate.set_hvac_mode
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
hvac_mode: cool
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
temperature: 78
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'home'
|
||||
sequence:
|
||||
- service: climate.set_hvac_mode
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
hvac_mode: cool
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
temperature: 80
|
||||
|
||||
##############################################################################
|
||||
### AUTOMATIONS - Thermostat schedules, guardrails, and presence/weather logic
|
||||
### Some shutoff automations are also in the ALARM.yaml package when windows/doors are left open.
|
||||
@@ -253,39 +299,7 @@ automation:
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
hvac_mode: cool
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.pirateweather_temperature
|
||||
above: 92
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'home'
|
||||
sequence:
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
temperature: 78
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'home'
|
||||
sequence:
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
temperature: 80
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'not_home'
|
||||
sequence:
|
||||
- service: climate.set_preset_mode
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
preset_mode: 'eco'
|
||||
- service: script.set_downstairs_target_temp_based_on_conditions
|
||||
|
||||
# Set thermostats to eco mode when everyone is away
|
||||
- alias: 'Set Thermostats to Eco When Away'
|
||||
@@ -314,7 +328,7 @@ automation:
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.upstairs
|
||||
temperature: 84
|
||||
temperature: 83
|
||||
|
||||
# Automation: Set Thermostats Back to Cool Mode
|
||||
- alias: 'Set Thermostats to Cool When Home'
|
||||
@@ -347,28 +361,7 @@ automation:
|
||||
- climate.downstairs
|
||||
- climate.upstairs
|
||||
hvac_mode: cool
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.pirateweather_temperature
|
||||
above: 92
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'home'
|
||||
sequence:
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
temperature: 78
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'home'
|
||||
sequence:
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
temperature: 80
|
||||
- service: script.set_downstairs_target_temp_based_on_conditions
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.upstairs
|
||||
@@ -431,46 +424,6 @@ automation:
|
||||
entity_id: climate.downstairs
|
||||
temperature: 77
|
||||
- delay: "00:20:00"
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'not_home'
|
||||
sequence:
|
||||
- service: climate.set_preset_mode
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
preset_mode: 'eco'
|
||||
- conditions:
|
||||
- condition: and
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'home'
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.pirateweather_temperature
|
||||
above: 92
|
||||
sequence:
|
||||
- service: climate.set_hvac_mode
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
hvac_mode: cool
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
temperature: 78
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'home'
|
||||
sequence:
|
||||
- service: climate.set_hvac_mode
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
hvac_mode: cool
|
||||
- service: climate.set_temperature
|
||||
data:
|
||||
entity_id: climate.downstairs
|
||||
temperature: 80
|
||||
- service: script.set_downstairs_target_temp_based_on_conditions
|
||||
- delay: "02:00:00" # stops it from being triggered again too soon.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user