# ac_peak_ends — end of the on-peak window, return the house to comfort (both seasons) # # id / entity : ac_peak_ends -> automation.ac_peak_ends_return_to_74 # triggers : 19:00 (id: summer) and 21:00 (id: winter), local time # purpose : Return the AC to 74F after the on-peak window ends. # # Self-selecting by season (peak *ends* at 19:00 summer, 21:00 winter). A trigger # only acts when trigger.id == the current season. # # Summer returns to 74 every day (comfort), matching the original behavior. # Winter is COOLING-ONLY: it only returns to 74 when the thermostat is already in # `cool`, so it never disturbs the gas furnace. # # Setpoints come from the `params` map (shared shape with ac_peak_setback). # # v3 (2026-07-09): unified summer+winter, season params map, winter cooling-only. id: ac_peak_ends alias: AC - Peak ends, return to 74 description: >- v3 (2026-07-09). Returns the AC to 74F after the on-peak window: summer 7pm, winter 9pm. Summer returns daily; winter is cooling-only (never touches gas heat). Managed in git; see AUTOMATIONS.md. mode: single triggers: - trigger: time at: "19:00:00" id: summer - trigger: time at: "21:00:00" id: winter conditions: [] actions: - variables: season: "{{ 'summer' if now().month in [6,7,8,9] else 'winter' }}" cooling: "{{ is_state('climate.t6_pro_z_wave_programmable_thermostat_with_smartstart','cool') }}" params: "{{ {'summer': {'hold': 82, 'ret': 74}, 'winter': {'hold': 82, 'ret': 74}} }}" applies: "{{ trigger.id == season }}" - if: - condition: template value_template: "{{ applies and (season == 'summer' or cooling) }}" then: - action: climate.set_temperature target: entity_id: climate.t6_pro_z_wave_programmable_thermostat_with_smartstart data: temperature: "{{ params[season]['ret'] }}"