github SukramJ/homematicip_local 2.1.3b2

pre-release4 hours ago

What's Changed

Bug Fixes

  • Fix Translation Error When Skipping Backend Detection: Fixed "The intl string context variable 'detected_interfaces' was not provided" error when using the "Skip automatic backend detection" option in the config flow. The interface step now provides a default placeholder value when detection results are not available.
  • Fix Missing device_class for Update Entities: Update entities for device firmware and hub updates now correctly report device_class: firmware. Previously the device_class was not set despite having an entity description rule defined.

Internal

  • Remove Unused UpdateEntityDescription Defaults: Removed UpdateEntityDescription entries for UPDATE and HUB_UPDATE from defaults.py since Update entities don't use the generic entity helper system. The device_class is now set directly on the entity classes.
  • Migrate Event Platform to ChannelEventGroup: Migrated the event platform from individual GenericEvent subscriptions to the new ChannelEventGroupProtocol pattern. Event groups are now virtual data points bound to channels, providing unified subscription management via subscribe_to_data_point_updated(). This simplifies subscription handling (single subscription per entity instead of one per event type) and aligns with the standard CallbackDataPointProtocol pattern.
  • Config Entry Migration v14: Added entity registry migration for event entities to update unique_ids from the old channel-based format (homematicip_local_{channel_unique_id}) to the new event_group-based format (homematicip_local_event_group_homematic.keypress_{channel_unique_id}). This ensures existing event entities are preserved when upgrading from version 2.1.2.

Bump aiohomematic to 2026.1.41

New Features

  • Paramset Description Patching System: Added a generic mechanism to correct faulty paramset_descriptions from the CCU. The system applies device-specific corrections during data ingestion using declarative patch definitions. Initial patch corrects HM-CC-VG-1 channel 1 SET_TEMPERATURE MIN/MAX values (4.5/30.5) instead of the incorrect CCU-provided values.
  • translation_key for Data Points: All data point types now provide a consistent translation_key property for translations. This includes hub sensors, metrics sensors, inbox, install mode, device/system updates, and calculated data points.
  • Startup Resilience for Authentication Errors: Added a 3-stage validation approach for improved startup reliability: TCP pre-flight check validates port availability, client creation & RPC validation verifies backend communication, and retry with exponential backoff handles transient errors before failing. New TimeoutConfig parameters: startup_max_init_attempts (default: 5), startup_init_retry_delay (default: 3s), and startup_max_init_retry_delay (default: 30s).

Changed

  • ChannelEventGroup as Virtual Data Point: Refactored ChannelEventGroup from a helper class to a virtual data point bound to the Channel. Event groups now extend CallbackDataPoint and follow the standard subscription pattern with subscribe_to_data_point_updated(). See migration guide: docs/migrations/channel_event_group_migration_2026_01.md.

Bug Fixes

  • Automatic Reconnection After Startup Failures: Fixed scenarios where the backend was unavailable during Home Assistant startup. The integration previously remained in FAILED state indefinitely. Now the heartbeat timer automatically activates when central transitions to FAILED state during startup, with recovery attempts every 60 seconds (configurable). Port resolution for TCP checks falls back to interface configuration when client doesn't exist.
  • Cache Schema v3: Cache schema bumped to v3 with automatic rebuild when the schema version changes.
  • Legacy Cache Migration for Climate Schedules: Fixed ValidationException: Time 360 is invalid error when starting with cached schedule data. The issue was old cached endtime values stored as numeric strings ("360") instead of integers or time strings. A new helper handles all three formats.
  • Coordinated Cache Clearing on Version Mismatch: Fixed issue where only one cache was cleared on schema version change. Now both device and paramset description caches are cleared together, preventing incomplete rebuilds.
  • Sound Player Soundfile Default Handling: Fixed turn_on() to use the entity's current value or default when soundfile is not provided, instead of always defaulting to "INTERNAL_SOUNDFILE".
  • Backend Detection Timeout Support: Fixed TypeError: ServerProxy.__init__() got an unexpected keyword argument 'timeout'. Introduced custom transport classes for proper socket timeout handling.

Don't miss a new homematicip_local release

NewReleases is sending notifications on new releases.