Replace the three live AC automations in place (same ids -> same entity_ids,
continuous history/traces):
* pre-cool & peak-setback: the workday check moves out of a blocking
`condition` into template logic that falls back to a plain Mon-Fri test when
binary_sensor.workday_sensor is unavailable/unknown. Previously a dead sensor
silently skipped the run.
* pre-cool: weather.get_forecasts now uses continue_on_error, and a
`fc is defined and is mapping` guard falls back to an assumed 88F high (->70F
regular pre-cool) when the forecast hard-errors or returns nothing.
* peak-ends: unchanged behavior (runs daily), documented only.
Add AUTOMATIONS.md (identity model, per-rule spec, failure-mode table, deploy
steps) and deploy.py (pushes automations/*.yaml to the HA config API by id).
Fallbacks verified empirically against the live automations via execution
traces before this commit. Also removed throwaway server-side debug automations
(three TEST spoofs + the ac_flap_1758_1820 experiment).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Snapshot of the three AC peak-shaving automations exactly as they run on the
HA server today, imported via the config API, plus deploy tooling. This is the
baseline the v2 hardening diffs against.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>