v0.4.2 - keep-alive poll (idle-reset test)
DIAGNOSTIC TEST build. Adds a periodic keep-alive: a lightweight AC status request every 4 min while connected, to test whether the controller's ~16-minute idle-reset can be prevented.
Background: day-5 logs showed the controller resets the socket after a tight ~16 min of silence (it goes quiet overnight when nothing changes), and the client sends nothing during those windows. This build keeps traffic flowing.
How to read the result (run a night or two, debug logging on):
- If the disconnects / "became unavailable" events STOP -> the hang was an idle timeout and this is the fix.
- If they continue -> it is an intrinsic controller freeze; we revert to mitigations-only and close the root-cause hunt.
Everything from v0.4.1 (favourites, console temp, dropout fix, graceful auto-recovery) plus the keep-alive poll. See docs/controller-investigation.md.