v0.4.3-a1
Pre-release
Pre-release
🌙 DKNCloud-HASS v0.4.3-alpha1
🧪 Alpha release for the 0.4.x line.
Focus: safer sleep scenary handling (auto-exit + session tracking), backend cleanup retries, clearer logging, and regression tests to keep wake/sleep behavior stable.
🚀 Highlights (since 0.4.2)
-
🛌 Sleep auto-exit before wake actions (opt-in)
- Automatically exits stale sleep scenary before Home Assistant “wake” actions.
- Optionally exposes expired sleep sessions as Home after a configured timeout (opt-in).
-
🧹 Backend cleanup for expired sleep sessions
- Attempts to clear the backend scenary label once per sleep session.
- Retries cleanup after transient failures and only marks a session as “cleaned” when the scenary update succeeds.
-
🧠 More predictable expiry rules
- Sleep timeout expiry is applied only after backend power reports the unit is OFF, reducing unintended wake-related state changes.
-
🧪 Hardening: tests + logs
- Centralized sleep auto-exit logic shared by climate + power switch.
- Improved warning logs with full tracebacks (
exc_info=True). - Added unit tests covering the auto-exit helper and updated test stubs for consistency.
- Deduplicated coordinator refresh bursts after cleanup.
-
📚 Contributor clarity
- CONTRIBUTING notes clarify Python 3.14 tooling requirements and Home Assistant runtime baseline (Python ≥ 3.13.2).
🧾 Detailed changes – 0.4.3-alpha1 (2025-12-25)
Added
- Auto-exit stale sleep scenary before Home Assistant wake actions and expose sleep sessions as Home after the configured timeout when the new opt-in option is enabled.
- Backend cleanup attempt for expired sleep sessions to clear the scenary label once per session.
Changed
- Documented sleep scenary semantics and timeout cleanup behavior alongside the new release version.
- Refined expired sleep scenary cleanup logging to distinguish HTTP errors, timeouts, and unexpected failures.
- Centralized auto-exit sleep handling across climate and power switch entities.
- Improved warning logs for unexpected errors by including full tracebacks (
exc_info=True). - Added unit tests covering the sleep auto-exit helper to prevent regressions.
- Apply sleep timeout expiry only after backend power reports the unit is off.
- Replace Ellipsis placeholders in test stubs with
passfor consistency. - Improve debug logging when auto-exit sleep is skipped due to missing API handle.
- Deduplicate coordinator refresh requests after expired-sleep cleanup.
- Added CONTRIBUTING notes clarifying Python 3.14 tooling requirements and the Home Assistant runtime baseline (Python ≥ 3.13.2).
- Improved sleep session tracking to avoid resetting the cleanup guard flag outside of new sleep sessions.
Fixed
- Persist the Sleep timeout handling option from the options flow so the opt-in feature is stored on the config entry.
- Retry expired-sleep backend cleanup after transient failures by marking the session as cleaned only when the scenary update succeeds.
🗺️ Previous release recap – 0.4.2 (2025-11-24)
Added
- Added French, Portuguese, Italian, and German locale files covering configuration flows, options, exceptions, and connectivity notifications.
- Added a regression test to ensure every translation file mirrors the English keyset so new strings are not left untranslated.
Changed
- Updated integration metadata to version 0.4.2.
Full Changelog (compare):
v0.4.1...v0.4.3-a1