fan-control: simplify HA dashboard + Lock = freeze-current/algo-off [ci skip]

The dashboard-it Server → Fans view is now minimal: fan speed (% + RPM), an
Override % slider, and a Lock toggle. Lock now means "freeze the current speed,
algorithm off" — a new automation (r730_fan_lock_freeze_current_speed_resume_algo)
snapshots the live target % into Override and sets mode=manual on lock-ON, and
mode=auto on lock-OFF. The host daemon is unchanged (the toggle just drives the
mode it already reads). cool/quiet stay reachable via the entity but are off the
simplified view; the 60-min auto-revert is kept as a dormant safety net. Verified
live: lock ON → mode=manual + Override captured the live 60%; lock OFF → auto.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Viktor Barzin 2026-06-05 13:27:46 +00:00
parent f9376a36ff
commit c059405632
2 changed files with 30 additions and 23 deletions

View file

@ -132,12 +132,15 @@ Delivered ahead of the cron migration (which is Vault-gated) by teaching the
`input_select.r730_fan_mode` (auto/cool/quiet/manual) +
`input_number.r730_fan_manual_pct`. `auto` = the garage-presence curve above;
cool/quiet force that curve; manual holds a fixed %; `CEILING` still overrides.
HA owns the setpoint + a 60-min auto-revert-to-auto automation
(`automation.r730_fan_mode_auto_revert`), which an `input_boolean.r730_fan_lock`
toggle can disable so a deliberate override persists (a "🔒 LOCKED" banner shows
on the view while engaged; the ceiling still wins, and the automation re-checks
the lock after the delay so locking mid-countdown cancels the revert) — the
daemon just polls and actuates.
The **simplified dashboard (2026-06-05)** exposes just three things — fan speed
(%/RPM), an **Override %** slider, and a **Lock** toggle. Lock = "freeze current
speed / algo off": `automation.r730_fan_lock_freeze_current_speed_resume_algo`
snapshots the live target % into Override and sets `mode=manual` on lock-ON, and
`mode=auto` on lock-OFF — the daemon needs no change, the toggle just drives the
mode. `cool`/`quiet` stay reachable via the entity but are off the dashboard. The
60-min `automation.r730_fan_mode_auto_revert` is retained as a dormant safety net
(manual now only happens while locked, which it skips). The daemon just polls and
actuates.
Monitoring + control live on the dashboard-it "Server" view (REST sensors: fan
RPM from the redfish exporter; mode/target-% from the Pushgateway). The same
logic already exists in the Python controller (`r730-fan-control/`) for the