Merge pull request #1573 from CCOSTAN/fix/1571-weather-gate-downstairs-cool

Fix #1571 weather gate downstairs cool
This commit is contained in:
Carlo Costanzo
2026-02-09 13:44:15 -05:00
committed by GitHub
3 changed files with 101 additions and 39 deletions

View File

@@ -5,9 +5,10 @@
# -------------------------------------------------------------------
# Alarm Package - Arming helpers, sensors, and alerting.
# Related Issue: 1550
# Related Issue: 1571
# Alarm sensors, customization, and automations for home security.
# -------------------------------------------------------------------
# Notes: Turns HVAC off when doors/windows are open and restores cool mode after closure.
# Notes: Turns HVAC off when doors/windows are open and restores cool mode after closure (weather-gated for downstairs).
######################################################################
homeassistant:
customize_glob:
@@ -292,10 +293,21 @@ automation:
- service: climate.turn_on
data:
entity_id: climate.downstairs
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: cool
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.pirateweather_temperature
below: 75
sequence:
- service: script.send_to_logbook
data:
topic: "CLIMATE"
message: "Skipping downstairs cool mode (outside temp <75F)."
default:
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: cool
#-------------------------------------------#-------------------------------------------
- alias: 'Alarm lights in Living room'

View File

@@ -6,6 +6,7 @@
# Climate Control - Seasonal HVAC automations and sensors.
# Thermostat helpers for upstairs/downstairs comfort.
# -------------------------------------------------------------------
# Related Issue: 1571
######################################################################
# Contact: @CCOSTAN | Entity reference details below
# Entity reference and attribute summaries:
@@ -142,6 +143,28 @@ script:
data:
entity_id: climate.downstairs
preset_mode: 'eco'
- conditions:
- condition: and
conditions:
- condition: state
entity_id: group.family
state: 'home'
- condition: template
value_template: >-
{{ states('sensor.pirateweather_temperature') in ['unknown','unavailable','none',''] }}
sequence:
- service: script.send_to_logbook
data:
topic: "CLIMATE"
message: "Outside temp unavailable; allowing downstairs cool mode (defaulting to 80F)."
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: cool
- service: climate.set_temperature
data:
entity_id: climate.downstairs
temperature: 80
- conditions:
- condition: and
conditions:
@@ -184,9 +207,8 @@ script:
- condition: state
entity_id: group.family
state: 'home'
- condition: numeric_state
entity_id: sensor.pirateweather_temperature
above: 75
- condition: template
value_template: "{{ states('sensor.pirateweather_temperature')|float(-999) >= 75 }}"
sequence:
- service: script.send_to_logbook
data:
@@ -346,10 +368,6 @@ automation:
entity_id: binary_sensor.powerwall_grid_status
state: 'on'
action:
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: cool
- service: script.set_downstairs_target_temp_based_on_conditions
# Set thermostats to eco mode when everyone is away
@@ -372,10 +390,21 @@ automation:
data:
entity_id: climate.downstairs
preset_mode: 'eco'
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: cool
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.pirateweather_temperature
below: 75
sequence:
- service: script.send_to_logbook
data:
topic: "CLIMATE"
message: "Skipping downstairs cool mode (outside temp <75F)."
default:
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: cool
- service: climate.set_temperature
data:
entity_id: climate.upstairs
@@ -408,9 +437,7 @@ automation:
preset_mode: 'none'
- service: climate.set_hvac_mode
data:
entity_id:
- climate.downstairs
- climate.upstairs
entity_id: climate.upstairs
hvac_mode: cool
- service: script.set_downstairs_target_temp_based_on_conditions
- service: climate.set_temperature
@@ -462,18 +489,29 @@ automation:
entity_id: binary_sensor.powerwall_grid_status
state: 'on'
action:
- service: climate.set_preset_mode
data:
entity_id: climate.downstairs
preset_mode: 'none'
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: cool
- service: climate.set_temperature
data:
entity_id: climate.downstairs
temperature: 77
- delay: "00:20:00"
- service: script.set_downstairs_target_temp_based_on_conditions
- delay: "02:00:00" # stops it from being triggered again too soon.
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.pirateweather_temperature
below: 75
sequence:
- service: script.send_to_logbook
data:
topic: "CLIMATE"
message: "Skipping downstairs cool mode (outside temp <75F)."
default:
- service: climate.set_preset_mode
data:
entity_id: climate.downstairs
preset_mode: 'none'
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: cool
- service: climate.set_temperature
data:
entity_id: climate.downstairs
temperature: 77
- delay: "00:20:00"
- service: script.set_downstairs_target_temp_based_on_conditions
- delay: "02:00:00" # stops it from being triggered again too soon.

View File

@@ -5,6 +5,7 @@
# -------------------------------------------------------------------
# Tesla Powerwall - Monitoring and outage automations
# Related Issue: 1550
# Related Issue: 1571
# Powerwall status sensors, outage alerting, and load-shedding helpers.
# -------------------------------------------------------------------
# Notes: Read more https://www.vcloudinfo.com/2018/01/going-green-to-save-some-green-in-2018.html | Existing Issue #272
@@ -350,10 +351,21 @@ automation:
state: 'off'
action:
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: cool
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.pirateweather_temperature
below: 75
sequence:
- service: script.send_to_logbook
data:
topic: "CLIMATE"
message: "Skipping downstairs cool mode (outside temp <75F)."
default:
- service: climate.set_hvac_mode
data:
entity_id: climate.downstairs
hvac_mode: cool
- service: climate.set_hvac_mode
data:
entity_id: climate.upstairs
@@ -366,6 +378,6 @@ automation:
- service: script.notify_engine
data:
title: "Electrical Grid Status {{ (trigger.to_state.state)|replace('True', 'up')|replace('False', 'down') }}."
value1: "All AC systems are set back to normal operations."
value1: "All AC systems are set back to normal operations (downstairs cool may be skipped if outside <75F)."
who: 'family'
group: 'information'