What's Changed
New Features
- Binary Sensor Entities: Added entity descriptions for new binary sensors:
- HmIP-SRH & HM-Sec-RHS: Added
WINDOW_OPENbinary sensor for rotary handle sensors (window open detection) - HmIP-SWSD: Added
SMOKE_ALARMandINTRUSION_ALARMbinary sensors for smoke/intrusion detector
- HmIP-SRH & HM-Sec-RHS: Added
Documentation
- README Shortened: Reduced README.md from ~1960 lines to ~140 lines. Detailed documentation moved to the new documentation site at sukramj.github.io/aiohomematic. README now contains quick start links, installation instructions, and references to full documentation.
Bug Fixes
- Fix SSDP Import for Home Assistant 2025.2+: Updated
SsdpServiceInfoimport in tests from deprecatedhomeassistant.components.ssdpto new locationhomeassistant.helpers.service_info.ssdp.
Internal
- Type Safety Improvements: Added
@overridedecorator to 100+ methods across all entity platforms to explicitly mark methods overriding parent class methods. AddedFinalannotation to 15EVENT_*constants inconst.py. These changes improve code clarity and enable better static analysis.
Bump aiohomematic to 2026.1.53
New Features
- HmIP-WRC6-230 Support (2026.1.53): Added support for HmIP-WRC6-230 (Wall-mount Remote Control 6-button 230V) as a fixed color light device.
- Derived Binary Sensors (2026.1.52): A registry-based system now enables creation of binary sensors derived from enum data points. New calculated parameters include
INTRUSION_ALARM,SMOKE_ALARM, andWINDOW_OPEN. Examples: HmIP-SRH/HM-Sec-RHS window handle sensors now provide aWINDOW_OPENbinary sensor (activated when TILTED or OPEN), and HmIP-SWSD smoke detectors provideINTRUSION_ALARMandSMOKE_ALARMbinary sensors (activated when alarm active). - Enhanced Data Point Validity (2026.1.52): Comprehensive validation for data points now includes type checking, range validation, and proper None handling. Added
has_valid_value_typeandis_value_in_rangeproperties to BaseParameterDataPoint. STATUS parameter events are automatically subscribed and processed. Type-specific validation rules for each parameter type (FLOAT, INTEGER, BOOL, ENUM, etc.) with warning logs for out-of-range values received from CCU. - Contract Tests for Regression Prevention (2026.1.51): Added extensive contract testing infrastructure with 500+ tests specifically designed to prevent regressions during AI-assisted refactoring. Coverage includes backend capabilities, state machines, connection recovery, event systems, lifecycle methods, enums, configuration classes, exception hierarchies, protocol interfaces, hub entities, subscription APIs, and device/channel protocols.
Changed
- Pydantic Model Conversions: Multiple configuration classes migrated to Pydantic
BaseModelwith frozen immutability includingTimeoutConfig,InterfaceConfig,CentralConfig,DeviceConfig,ProfileConfig, andBackendCapabilities. - Type Safety Improvements: Added
@uniquedecorator to 70+ enum classes to prevent accidental duplicate values,@overridedecorator to explicitly mark overridden methods, andFinalannotations to key constants.
Bug Fixes
- Fix Client Reconnection from INITIALIZED State: Fixed an issue where clients stuck in INITIALIZED state couldn't be reconnected. The state machine now permits
INITIALIZED → DISCONNECTEDtransitions enabling recovery. - Fix JSON Parsing Control Characters: Fixed
JSONDecodeErrorby sanitizing JSON-RPC responses, escaping control characters (U+0000 to U+001F) to proper\uXXXXsequences.