What's Changed
New Features
- HmIP-WRCD Text Display: Full support for the wall-mount remote control with display via NotifyEntity, including services for sending text with icons, colors, sounds, and alignment options
- HmIP-MP3P Sound Player: Full support for the combination signalling device with services for sound playback (play_sound, stop_sound) and LED control (set_sound_led) with colors, brightness, and timing options
- Siren Control: Automatic select entities for siren tone and light pattern selection with full translations (no manual InputHelper setup required)
- Reauthentication: Added reauthentication flow to update expired credentials without removing the integration
- Reconfigure Flow: Quick reconfiguration of connection settings without full re-setup
- Air Quality Sensors: New entity descriptions for DIRT_LEVEL and SMOKE_LEVEL sensors
- Enhanced Diagnostics: Comprehensive system metrics in diagnostics including RPC statistics, event bus metrics, cache performance, health status, and service call analytics
- System Metrics Sensors: New diagnostic sensors for monitoring system health (%), connection latency (ms), and last event age (s) - providing real-time visibility into CCU communication status
Improvements
- Configuration Experience: Enhanced config flow with improved error messages, progress indicators (Step X of Y), and menu-based navigation
- Error Handling: Reduced log flooding during connection issues with improved error handling decorator for entity actions
- Translations: Fixed naming of untranslated entities and improved translation coverage for press events
Bump aiohomematic to 2025.12.53
Observability & Metrics
- Complete Event-Driven Metrics: All components now emit metric events to EventBus instead of maintaining local state
MetricsObserveraggregates latency, counter, gauge, and health metrics in real-time- Type-safe
MetricKeydataclass withMetricKeysfactory for all known metrics emit_latency(),emit_counter(),emit_gauge(),emit_health()functions for easy metric emission- Dedicated
aiohomematic/metrics/module with clean separation of concerns
- Comprehensive System Events: New events for complete system observability
- Connection state changes with reason tracking
- Cache invalidation and refresh events
- Circuit breaker state transitions and trip notifications
- Scheduler task execution and data refresh events
- Request coalescing events for performance monitoring
- Self-Healing Recovery: Automatic data refresh after circuit breaker recovery
- Migrated Components: All core components use emit-only pattern
PingPongCache: Emits RTT latency per interfaceCentralDataCache: Emits cache hit/miss countersCircuitBreaker: Emits success/failure/rejection counters@inspector: Emits service call latency and error counts (global registry deprecated)HealthTracker: Emits client health events
- Hub Metrics Sensors: Three HA-visible sensors for real-time system monitoring:
- System Health (0-100%)
- Connection Latency (ms)
- Last Event Age (seconds since last CCU event)
- RPC Monitoring: Track success/failure rates, latency, and request coalescing effectiveness
- Cache Statistics: View hit rates and sizes across all caches
Connection Reliability
- Improved Reconnection: New state machine architecture for faster, more reliable recovery after CCU restarts
- CircuitBreaker: Automatic protection against repeated connection failures with staged reconnection
- Reduced Log Noise: Less ERROR logging during expected reconnection scenarios
Device Management
- Device Inbox: Accept and rename new devices pending pairing directly from the integration
- Install Mode: Separate install mode control per interface (HmIP-RF and BidCos-RF) with countdown timer
- Backup Support: Create and download CCU system backups, firmware download and update triggers
Climate & Schedules
- Schedule Caching: Faster schedule operations with intelligent caching
- Simple Schedule Format: Easier to read and modify weekly heating schedules
- Schedule Sync: Bidirectional get/set schedule operations with filtered data format
Siren Control
- Visible Alarm Settings: Acoustic and optical alarm selection now available as controllable entities
- Flexible Turn-On: Siren activation uses entity values as defaults when service parameters omitted
Bug Fixes
- Cover/Dimmer Restart: Fixed
is_validreturning False after CCU restart when status is UNKNOWN - Empty Numeric Values: Fixed conversion error when CCU sends empty strings for FLOAT/INTEGER parameters
- RGBW/LSC Auto-Off: Fixed lights turning off unexpectedly when using transition times
- Reconnect Availability: Entities no longer remain unavailable after CCU reconnect
- STATUS Parameters: Fixed handling of integer values from backend for status updates
- Firmware Updates: Fixed firmware data not refreshing after update check
New Device Support
- HmIP-MP3P Kombisignalgeber: Sound player with MP3 playback (channel 2) and RGB LED control (channel 6)
- HmIP-WRCD Text Display: Wall-mount Remote Control with Display - send text, icons, colors, and sounds to the LCD
- DeviceProfileRegistry for centralized device-to-profile mappings
- DpActionSelect data point type for write-only selection parameters
Developer Experience
- Fluent Configuration: New
CentralConfigBuilderwith method chaining and factory presets for CCU/Homegear - Request Tracing: Context variables pattern for request tracking through async call chains with automatic log prefixing
- Type Converters: Extensible
to_homematic_value()/from_homematic_value()using singledispatch pattern
Internal Improvements
- Protocol-based architecture for better testability and decoupling
- Event bus system replacing legacy callback patterns
- Strict type checking throughout codebase
- Translatable log messages and exceptions
- Generic protocols for improved mypy type inference on data point values
- Declarative field descriptors for custom and calculated data points
DelegatedPropertydescriptor for simple property delegation with caching support- Enhanced linter with DP004 path validation for DelegatedProperty definitions
- Store package restructured into
persistent/anddynamic/subpackages for better maintainability - Typed dataclasses (
CachedCommand,PongTracker) replace untyped tuples and dicts - Event-driven test patterns with
EventCapturefixture for behavior verification through events
Full Changelog: 1.91.0b42...1.91.0b43