Power Detection Retry Bug Fix
- Fixed issue where client wouldn't retry when power returned
- Changed task lifecycle check from if self._task: to if self._task and not self._task.done():
Power Switch Configuration UI
- Evolved from basic text input to toggle + entity selector
- Safe defaults using vol.UNDEFINED to prevent validation errors
- Proper enable/disable state management
Adaptive Backoff Strategy
- 30s max backoff when no power detection (allows quick retries)
- 300s max backoff when with power detection (respects printer off state)
- Prevents unnecessary connection spam
Reload Reliability
- Added retry logic (3 attempts, 0.5s delays) for config entry reload
- Handles transient OperationNotAllowed errors
Migration Logic
- One-time migration from >v0.7.0 format to v0.7.1
- Detects old power switch config and auto-enables
- Handles three scenarios: had switch → enable, empty → disable, missing → disable