v0.4.7
🛠️ DKNCloud-HASS v0.4.7
✅ Stable release for the 0.4.x line.
Focus: stronger API resilience (new 423 handling, safer JSON parsing), cleaner power idempotency, and guaranteed refresh scheduling after sleep-expiry cleanup and write operations.
🚀 Highlights (since 0.4.6)
-
🧱 Dedicated handling for
/eventsHTTP 423 (“machine not ready”)- Adds explicit handling for backend 423 responses and surfaces user-friendly, translated messaging so transient “not ready” states are understandable and non-disruptive.
-
🧾 Safer response handling
- Avoids JSON parsing when the backend returns an empty
application/jsonresponse (e.g., HTTP 204), preventing avoidable parsing errors.
- Avoids JSON parsing when the backend returns an empty
-
🔌 Smarter power switch idempotency
- Normalizes backend power parsing so the power switch can better detect current state and avoid redundant P1 writes.
-
🔁 Refresh scheduling guaranteed
- Ensures coordinator refresh coroutines are properly scheduled after:
- sleep-expiry cleanup, and
- post-write refresh delays
so the UI reliably reflects the latest backend state.
- Ensures coordinator refresh coroutines are properly scheduled after:
🧾 Detailed changes – 0.4.7 (2026-02-06)
Fixed
- Add dedicated handling for /events HTTP 423 ("machine not ready") with translations.
- Avoid JSON parsing for empty application/json responses (e.g., HTTP 204).
- Normalize backend power parsing in the power switch to avoid redundant P1 writes.
- Ensure coordinator refresh coroutines are scheduled after sleep-expiry cleanup and post-write refresh delays.
What's Changed
- Bump version to 0.4.6 and align number payloads with /devices contract by @eXPerience83 in #70
- Schedule coordinator refreshes via hass.async_create_task by @eXPerience83 in #74
- Handle empty API responses by @eXPerience83 in #75
- Handle HTTP 423 (machine not ready) for /events and add translations by @eXPerience83 in #72
- Fix empty-body detection for unknown content length by @eXPerience83 in #76
- Handle empty JSON responses in API client by @eXPerience83 in #77
Full Changelog: v0.4.6...v0.4.7