github SukramJ/homematicip_local 2.2.3b1

pre-release6 hours ago

What's Changed

Bug Fixes

  • Fix State Restoration for Calculated Sensors: Fixed an issue where calculated sensor entities (e.g., OPERATING_VOLTAGE_LEVEL) were not restored after Home Assistant restart. The problem occurred because CalculatedDataPoint entities reported is_valid=True (source data points refreshed from cache) even when value=None (no computed value yet), which prevented state restoration. The restore logic now also triggers when value is None, ensuring calculated sensors display their last known value until fresh data arrives.

Internal

  • Type Safety Improvements: Added @override decorator to 100+ methods across all entity platforms to explicitly mark methods overriding parent class methods. Added Final annotation to 15 EVENT_* constants in const.py. These changes improve code clarity and enable better static analysis.

Bump aiohomematic to 2026.1.51

New Features

  • Contract Tests for Regression Prevention: 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 BaseModel with frozen immutability including TimeoutConfig, InterfaceConfig, CentralConfig, DeviceConfig, ProfileConfig, and BackendCapabilities.
  • Type Safety Improvements: Added @unique decorator to 70+ enum classes to prevent accidental duplicate values, @override decorator to explicitly mark overridden methods, and Final annotations 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 → DISCONNECTED transitions enabling recovery.
  • Fix JSON Parsing Control Characters: Fixed JSONDecodeError by sanitizing JSON-RPC responses, escaping control characters (U+0000 to U+001F) to proper \uXXXX sequences.

Don't miss a new homematicip_local release

NewReleases is sending notifications on new releases.