home-assistant/automations/ac_winter_morning_kill.yaml

44 lines
1.8 KiB
YAML
Raw Permalink Normal View History

# ac_winter_morning_kill — stop the AC at the winter morning on-peak start
#
# id / entity : ac_winter_morning_kill -> automation.ac_winter_morning_kill
# trigger : 06:00 local (America/New_York)
# purpose : Winter has a 6-9 AM on-peak. If the AC is running at 6am, stop
# it. (Rare — only the mild May/October days when AC runs.)
#
# Cooling-only and gas-heat-safe: only acts when the thermostat is in `cool`
# mode, so it never turns off the gas furnace. Turns the unit fully OFF (per the
# chosen "stop" behavior). There is intentionally NO auto-resume yet — a resume
# automation can be added later.
#
# Fallback: workday sensor unavailable -> Mon-Fri (weekends/holidays are
# off-peak, so no kill then).
#
# v3 (2026-07-09): new.
id: ac_winter_morning_kill
alias: AC - Winter morning peak kill
description: >-
v3 (2026-07-09). At 6am on winter (Oct-May) work days, turns the thermostat
OFF if it is currently cooling, to avoid the 6-9am winter on-peak. Cooling-only
(never touches gas heat). No auto-resume yet. Managed in git; see
AUTOMATIONS.md.
mode: single
triggers:
- trigger: time
at: "06:00:00"
id: winter
conditions: []
actions:
- variables:
season: "{{ 'summer' if now().month in [6,7,8,9] else 'winter' }}"
is_workday: "{% set wd = states('binary_sensor.workday_sensor') %}{% if wd in ['on','off'] %}{{ wd == 'on' }}{% else %}{{ now().weekday() < 5 }}{% endif %}"
cooling: "{{ is_state('climate.t6_pro_z_wave_programmable_thermostat_with_smartstart','cool') }}"
- if:
- condition: template
value_template: "{{ season == 'winter' and is_workday and cooling }}"
then:
- action: climate.set_hvac_mode
target:
entity_id: climate.t6_pro_z_wave_programmable_thermostat_with_smartstart
data:
hvac_mode: "off"