You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
binary_sensor: SmokeDetectorSensor and SmokeDetectionSystemSensor now unsubscribe their service callback in async_will_remove_from_hass; guard ValueError/KeyError in _input_events_handler.
switch: SHCUserDefinedStateSwitch.available property added — was missing (used HA default True even after the UDS was deleted from the SHC).
CI / test quality
Coverage gate ≥ 95 % added to tests.yml (current: 99.28 %, 20/22 files at 100 %). Catches regressions automatically.
All GitHub Actions SHA-pinned for supply-chain hardening; Python 3.12 dropped (HA ≥ 2025.2 requires Python ≥ 3.13); mypy (informational) added.
dependabot.yml — pip ecosystem entry added for weekly dependency alerts.
2939 unit tests total.
Dependabot PR #350 applied inline (homeassistant test floor bumped to ≥ 2026.6.4).
Library (boschshcpy 0.3.20)
session.py: list() copies on _subscribers and _userdefinedstate_callbacks during poll-result iteration — prevents RuntimeError: Set changed size during iteration when a callback unsubscribes mid-loop.
ruff check + format gates added; codebase auto-formatted.
Housekeeping
Issues #340 (color-temp swapped — fixed in 0.7.9), #342 (SWD2 button — Bosch API limitation), and #345 (coroutine error — fixed in 0.7.22) documented and closed.