github SukramJ/homematicip_local 2.1.3b1

pre-release9 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.40

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.

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

  • 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.