No description
Find a file
jm 7a0d75d9db Add TOU winter peak-shaving; parameterize by season (v3)
Pepco MD TOU-P has different on-peak windows by season: summer (Jun-Sep)
14:00-19:00, winter (Oct-May) 06:00-09:00 and 17:00-21:00. Heat is gas, so
winter electric peak logic is cooling-only.

* pre-cool: bounded to summer (Jun-Sep); winter has no pre-cool.
* peak-setback (hold) and peak-ends (return): unified across seasons via a
  season self-select (month -> season; triggers carry id: summer/winter and act
  only when trigger.id == season) plus a params map for setpoints. Summer forces
  cool + 82 / returns 74 daily; winter sets 82 / returns 74 ONLY when already in
  cool mode, so it never disturbs the gas furnace.
* new ac_winter_morning_kill: 06:00 winter work days, if in cool mode set
  hvac_mode off to dodge the 6-9am winter peak. No auto-resume yet (planned).

Decision logic verified as a truth table via the template engine across
summer/winter x cooling x workday before commit. Deployed in place (existing
ids unchanged); new id ac_winter_morning_kill added.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 22:04:16 -04:00
automations Add TOU winter peak-shaving; parameterize by season (v3) 2026-07-09 22:04:16 -04:00
.gitignore Import live AC automations (v1 baseline) 2026-07-09 21:01:08 -04:00
AUTOMATIONS.md Add TOU winter peak-shaving; parameterize by season (v3) 2026-07-09 22:04:16 -04:00
deploy.py Import live AC automations (v1 baseline) 2026-07-09 21:01:08 -04:00
README.md Import live AC automations (v1 baseline) 2026-07-09 21:01:08 -04:00

get my home assistant token by

ha_token=$(pass show home-assistant/192.168.128.3/jm/api) # it asks me to touch the yubikey. server: 192.168.128.3

I want you to add an automation to set the AC thermostat to 85 at 17:58, 90 at 17:59, 85 at 18:00, 90 at 18:01 and so on until 18:20