Added
-
Three configurable, theme-aware Philips dashboard cards built with TypeScript 7 and Lit:
purifier controls and filter health, air quality, and humidity controls. Includes visual
editors, Sections sizing, accessible controls, and automatic versioned module loading. -
Air-quality card shows an overall level with a summary, per-reading level meters,
a 24-hour PM2.5 trend and room humidity/temperature; the purifier card shows the
PM2.5 level and an Air+ style controls panel (power, child lock, mode sheet, display
light, fan speed, light ring and timer). Cards use Home Assistant design tokens for spacing, type and radius. -
Browser interaction tests and CI checks for frontend types, dependencies, and bundle freshness.
-
Connection lifecycle logging for local outages (#172, see also #51): reconnect failures
name the stage (create, status or nudge) and the error type, successful reconnects
report the attempt count and outage length, the watchdog warning reports its interval
and the pushes received, and a silent new observation is logged once. -
A
connectionsection in diagnostics with availability, observation session pushes,
reconnect state, backoff and the stage and type of the last reconnect error.
Changed
- Require Home Assistant 2026.9.0 or later in HACS.
- Update
philips-airctrlto 1.4.0. - The frontend dependency audit in CI fails on moderate or higher severity. It still covers
the whole dependency tree, including the dev toolchain. - The watchdog now checks one interval after the last push instead of on a fixed tick,
so an outage is detected about one interval after the device falls silent rather
than up to two. This improves detection accuracy only; it does not prevent outages.
Fixed
- Devices no longer go unavailable every few minutes because the push subscription
lapses (#172):philips-airctrl1.4.0 renews the CoAP Observe registration every
Max-Age seconds instead of registering it once. The watchdog stays as a safety net. - A replaced or cancelled observation stream can no longer request a reconnect, the old
observer is stopped before a reconnect closes its client, and a client whose status
read failed during reconnect is closed instead of staying open through the backoff. - Disable RSSI/runtime/speed diagnostics for new entity registrations; preserve existing user choices.
- Move custom icons into frontend icon translations and redact identifying names in diagnostics.
- Use Home Assistant entry lifecycle cleanup for CoAP resources, bound shutdown waits,
prevent reconnects after unload, and avoid duplicate setup-failure warnings.