π 2026.1.1
β¨ Changed
- Added bounded network behavior with tuning constants (connect/read timeouts, retries, exponential backoff with jitter) to make polling more resilient on typical LAN setups.
- Refactored device I/O into a single fetch flow: connect β send request β read minimum required bytes β close.
- Improved connection cleanup with safe close handling and debug logging on close errors.
π Fixed
- Prevented hangs caused by waiting for EOF when the device keeps the TCP connection open (now reads only the minimum response length needed).
- Preserved Home Assistant cancellation behavior by not swallowing
asyncio.CancelledError.
π Notes
- Keeps the existing
scan_intervalthrottling behavior to avoid hammering the device even after failures. - On the first failure, still attempts a MACβIP re-resolve once and persists the resolved IP back to the config entry when available.
Full Changelog: 2026.1.0...2026.1.1