github SukramJ/homematicip_local 2.3.3b1

pre-release6 hours ago

What's Changed

Added

  • DpActionNumber support: New AioHomematicActionNumber entity for write-only FLOAT/INTEGER data points (BaseDpActionNumber). Values are stored locally (not sent to device) and persisted in a dedicated storage file (homematicip_local.action_number.{entry_id}), analogous to the existing DpActionSelect pattern. Entities are filtered by DP_ACTION_NUMBER_WHITELIST (currently empty; DURATION_VALUE prepared but commented out).
  • CombinedDataPoint support: New AioHomematicCombinedNumber entity for CombinedDataPointProtocol data points (e.g. CombinedDpTimerAction). These combined data points merge multiple underlying parameters (e.g. timer value + unit) into a single writable number entity with automatic unit conversion. Exposed as EntityCategory.CONFIG number entities with min/max/unit from the combined data point. Sensor platform filters out CombinedDataPointProtocol instances to prevent duplicate read-only entities.
  • 15 new WebSocket commands for the Integration and OpenCCU panel tabs (homematicip_local/integration/* and homematicip_local/ccu/*)

Config Panel

  • Integration dashboard tab: New "Integration" tab in the config panel providing a consolidated view of the integration's operational state:

    • System health with central state and health score
    • Device statistics with per-interface breakdown (total, unreachable, firmware-updatable)
    • Command throttle monitor per interface (interval, queue size, throttled/burst counts)
    • Incident log with severity-colored entries and clear action
    • Cache management (clear all cached data)
  • OpenCCU dashboard tab: New "OpenCCU" tab for CCU-specific information and management:

    • System information (name, model, version, serial, hostname, CCU type, available interfaces)
    • Hub messages (service and alarm message counts)
    • Install mode control for HmIP-RF and BidCos-RF with activation buttons and remaining time display
    • Signal quality table with sortable columns (RSSI, signal strength, battery, reachability per device)
    • Firmware overview table with sortable columns and update-available highlighting
    • CCU backup creation with download to backup directory
  • Tab navigation: The config panel now features a tab bar (Devices / Integration / OpenCCU) for switching between views. Tab state is persisted in the URL hash.

  • Link config editor fix: Fixed false dirty state when opening the link config editor without making changes.

  • HA 2026.3 compatibility: Fixed ha-select compatibility with Home Assistant 2026.3.0+.

Dependencies

Bump aiohomematic to 2026.3.1

  • DpActionNumber data points: New DpActionFloat and DpActionInteger generic data point types for write-only FLOAT/INTEGER parameters. These provide number entities in Home Assistant (with MIN/MAX validation) while remaining write-only at the protocol level. Previously, all write-only numeric parameters were mapped to DpAction (no HA entity). The resolver now maps write-only FLOAT to DpActionFloat and write-only INTEGER to DpActionInteger.
  • DpActionBoolean and DpActionString data points: New DpActionBoolean and DpActionString generic data point types for write-only BOOL/STRING parameters. These complete the DpAction hierarchy so that every CCU write-only parameter type has a type-safe handler. Previously, write-only BOOL and STRING parameters fell through to the generic DpAction fallback with Any value type. DpAction now only handles TYPE=ACTION parameters (triggers without type information).
  • Type-correct custom data point fields: Replaced DpAction with specific types in custom data points where pydevccu paramset data shows a concrete TYPE: MANU_MODE (TYPE=FLOAT) → DpActionFloat, CONTROL_MODE on HmIP (TYPE=INTEGER) → DpActionInteger, DISPLAY_DATA_COMMIT (TYPE=BOOL) → DpActionBoolean, DISPLAY_DATA_STRING/COMBINED_PARAMETER/LEVEL_COMBINED (TYPE=STRING) → DpActionString. DpAction remains only for genuine TYPE=ACTION parameters (AUTO_MODE, BOOST_MODE, COMFORT_MODE, LOWERING_MODE, STOP, OPEN).
  • CombinedDataPoint for timer value+unit pairs: Introduced CombinedDataPoint base class and CombinedDpTimerAction concrete implementation in aiohomematic/model/combined/. This new data point type combines multiple underlying data points (e.g., timer value + unit) into a single writable entity with automatic unit conversion (seconds to S/M/H). Replaced the ephemeral TimerField/TimerAccessor pattern with the CombinedTimerField descriptor. For the IP Siren (HmIP-ASIR), the duration combined data point is exposed as a visible HA number entity with automatic unit conversion, replacing the raw DURATION_VALUE number entity. Applied across all custom data points with timer parameters: lights, sirens, switches, and valves. Removed TimerUnitMixin, OnOffActionMixin, TimerAccessor, and TimerField.
  • CombinedDpHsColor for hue+saturation pairs: New CombinedDpHsColor combined data point that encapsulates HUE + SATURATION into a single tuple[float, float] value with automatic saturation scaling (CCU 0.0–1.0 ↔ HA 0.0–100.0). Added CombinedHsColorField descriptor. Simplified CustomDpIpRGBWLight and CustomDpIpDrgDaliLight by replacing boilerplate hs_color property and turn_on() conversion logic with delegation to the combined data point.
  • Unified field visibility in profile configs: Merged 6 field dictionaries (3 pairs of hidden/visible) in ChannelGroupConfig into 3 dictionaries where each entry carries its own visibility via hidden()/visible() helper functions. Removed visible_fields, visible_channel_fields, and visible_fixed_channel_fields from both ChannelGroupConfig and RebasedChannelGroupConfig.
  • Siren duration unit conversion: CustomDpIpSiren.turn_on() now properly converts the duration value using automatic unit conversion (seconds → minutes → hours) before sending to the device. Previously, the raw duration was sent with the default unit, causing incorrect behavior for large duration values (>16343s).
  • Siren duration: The siren's DURATION_VALUE parameter is now exposed as a visible number entity in Home Assistant, allowing users to set a default duration. turn_on() uses this value as fallback when no explicit duration is provided, fixing the issue where siren.turn_on without parameters activated the siren for 0 seconds.
  • Duration translations: Added German and English translations for the DURATION_VALUE combined data point parameter.
  • Fix scheduler busy-loop at 100% CPU during connection issues: When has_connection_issue was True, the scheduler entered a busy-loop because skipped jobs never advanced their next_run, causing the sleep calculation to compute delay = 0.0. The sleep calculation now only considers jobs eligible to run in the current state, and skipped jobs advance their schedule to prevent a burst of simultaneous execution on recovery.

Don't miss a new homematicip_local release

NewReleases is sending notifications on new releases.