github tinkerologie/ha-philips-airpurifier v2026.10.3

2 hours ago

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 connection section 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-airctrl to 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-airctrl 1.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.

Don't miss a new ha-philips-airpurifier release

NewReleases is sending notifications on new releases.