What's Changed
- Bump aiohomematic to 2025.12.13
-Architecture & Internals
- Protocol-based dependency injection - Decoupled CentralUnit via protocol interfaces, extracted coordinators (Device, Client, Hub, Cache, Event)
- Event bus migration - Replaced legacy callback system with modern EventBus pattern
- DeviceProfileRegistry - New central registry for device-to-profile mappings with type-safe dataclasses, replacing distributed ALL_DEVICES dictionaries
- Shared mixins - Added reusable mixins for custom entities (StateChangeTimer, Brightness, Position, GroupState, TimerUnit)
- Split interfaces package - Reorganized interfaces.py into interfaces/ subpackage for maintainability- CLI Enhancements (hmcli)
- Interactive REPL mode - Command history, tab completion, shell completion scripts
- Device discovery commands - list-devices, list-channels, list-parameters, device-info, get/set
- Device Management
- Install mode support - Per-interface install mode with countdown timer, virtual data points
- Device inbox - Accept, rename devices pending pairing
- Rename support - Device and channel renaming via API
- Backup/restore - Create and download CCU system backups
- Reliability & Error Handling
- Retry strategy - RetryStrategy class with exponential backoff for transient errors
- Login rate limiting - Exponential backoff for JSON-RPC authentication
- Resource limits - Prevent unbounded growth of internal collections
- Backend detection - Automatic detection of CCU type (CCU3, RaspberryMatic, Homegear)
- Climate & Schedule
- Schedule support - Get/set climate schedules with caching and validation
- Simple schedule format - Converter for simplified weekday schedule data
- Type Safety
- Strict mypy mode - Full type coverage with strict mode enabled
- Protocol-based typing - HubProtocol, WeekProfileProtocol, model data point protocols
-Internationalization - Translatable exceptions - Exception messages support i18n
- Log message translations - INFO+ level log messages translatable
- CLI Enhancements (hmcli)
- Add CCU backup support with button entity and action (see CCU Backup)
- Add documentation for new device handling (see Adding New Devices)
- CCU backup functionality: New button entity and action for creating and downloading CCU system backups
- Config Flow v2 redesign: Automatic port configuration based on TLS setting, optional custom port configuration, new menu-based Options Flow with four sections (Connection, TLS & Interfaces, Programs &
Sysvars, Advanced Settings) - Reconfigure Flow: Two-step flow for quick updates to connection and TLS settings without full re-setup
- Climate schedule support: New scheduler attributes for climate entities, get/set weekly schedules with caching and validation
- Backend detection: Automatic detection of CCU type (CCU3, RaspberryMatic, Homegear)
- Improved error handling: RetryStrategy with exponential backoff, login rate limiting, automatic port configuration page on connection failure
- Device management: Per-interface install mode support, device inbox for pending pairings, device and channel renaming via API
- Type safety: Strict mypy mode enabled, protocol-based typing throughout
- Internationalization: Translatable exceptions and log messages, translations for press events
- Renamed actions: get_schedule_profile_weekday → get_schedule_weekday, set_schedule_profile_weekday → set_schedule_weekday
Full Changelog: 1.91.0b20...1.91.0b21