H617A qualification candidate
Experimental H617A controls and failed-application state preservation, rebased on v7.6.2 including #249 GATT recovery and polling fixes.
- Preserve and freshly verify mixed segment colours, relative brightness, master brightness and hidden off-state when putting back the appearance after an Effect Studio application fails.
- Correct static-state certainty after ambiguous writes and mixed segment observations.
- Enable Spectrum/Rolling fixed colour, seven music palettes, Piano gradient, and Hopping background/no-colour. Retain complete known music bodies without claiming unreadable settings were confirmed.
- Add seven native DIY templates (501–507), preserving identity through save/edit/preview/reapply and requiring a positive upload result before activation.
- Add masked segment Kelvin and optional passive light-count diagnostics. Unknown physical IC count still gates geometry-dependent controls.
Evidence and qualification limits
Software gate: 2,760 Python tests passed (79 skipped), 269 frontend tests, 33 browser tests, 132 protocol replays; strict typing, lint, formatting and reproducible generation passed. Independent correctness, APK/Kaitai and fresh Ponytail reviews completed with findings resolved.
New ACK, generalized music-tail and AA0F definitions remain explicitly speculative. ACK/selector confirmation does not establish rendering or resident-payload equality; late same-subtype ACKs cannot be uniquely correlated without a wire transaction ID.
This candidate is for cupboard-skirt H617A HW 3.01.01 / FW 3.02.24 qualification. Installation and automated checks are authorised, including replacement of unreadable resident customisations with a known baseline. Every Home Assistant restart requires fresh owner approval. Visual animations and onboard-microphone sound response await a later owner-observed window. No stable release until qualification passes.
Install this exact release through HACS. Runtime manifest version: 7.7.0rc1; the full tag, target commit and published SHA-256 identify the immutable candidate.