Skip to content

Fix accessory device registration on newer Home Assistant - #18

Open
aderusha wants to merge 1 commit into
thecodingdad:mainfrom
aderusha:fix/accessory-device-registration
Open

aderusha wants to merge 1 commit into
thecodingdad:mainfrom
aderusha:fix/accessory-device-registration

Conversation

@aderusha

Copy link
Copy Markdown

Fixes #17.

Problem

On HA 2026.9.3, accessory firmware entities can fail to register because the deprecated via_device path raises MissingIntegrationFrame / RuntimeError. A Fire Safety Set v1.5 detected by an S1 consequently has no device in HA, since its firmware entity is its only entity. Related HA report: home-assistant/core#180469.

Change

Register the laser device before platform setup using the existing laser entity metadata, retain its registry ID on the coordinator, and supply via_device_id from both accessory entity classes. Feature-detect the DeviceInfo field to retain legacy linking on older supported HA versions. Existing device identifiers and entity unique IDs remain unchanged.

Validation

  • Three focused regression tests pass against HA 2026.9.3's installed libraries: firmware-only accessory registration metadata, regular accessory parent linking, and legacy API fallback.
  • ha core check passes.
  • Verified on a live S1 after restart: Fire Safety Set v1.5 now registers as a device linked to the S1, firmware V40.203.002.3224.01B01 is reported, and the Smart Air Assist firmware entity also loads. The S1 continues reporting idle. No accessory via_device warnings or update-entity registration errors appeared in the post-restart logs.

Run the regression tests from the repository root in an environment with Home Assistant installed:

python -m unittest discover -s tests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] S1 Fire Safety Set missing: accessory firmware entities fail with deprecated via_device on HA 2026.9

1 participant