Skip to content

[ZHA] Fix or remove identify effect on join #58

@TheJulianJES

Description

@TheJulianJES

✅ Issue 1 - fixed

ZHA device configuration can get stuck when joining a new device with the "identify option" enabled: zigpy/zha/zigbee/device.py#L843-L846
This is due to the identify command timing out. Eventually, asyncio.CancelledError is thrown and not catched by ZHA, causing initialization to never finish.

This also means that we're waiting for the identify command to time out, even if this was working correctly. If at all, we should trigger the identify effect in the background and not hold initialization for that, which can take some time if the identify command keeps timing out.

Reference: (cc @abmantis)
https://discord.com/channels/330944238910963714/1346942546714296351/1431708818517135360

EDIT: Issue 1 is fixed by zigpy/zha#553.

❌ Issue 2 - not fixed

There's a general issue where this triggers even for re-joins, e.g. randomly at night due to network/device issues. Causing lights to flash at that time obviously isn't great.

There's a config option for this in the ZHA config UI, but we may want to turn off the config option by default, or possibly remove this whole identification on join entirely, since it doesn't add a lot of value in the first place.

Summary of the issues:

  • join and re-joins both cause identify effect to be triggered
  • we wait for identify effect to be done before finishing device initialization
  • sending identify effect can seemingly cause initialization to become stuck

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions