zha-device-handlers: [BUG] IKEA Tradfri E1810 does not send zha events

Describe the bug A couple of months ago I migrated my network from a ConBee2 coordinator to an Elelabs USB coordinator. All devices work fine except the Tradfri switch. It correctly pairs, reports it’s battery state, but does not produce any zha_events when I press buttons. Device triggers also don’t work.

In the same time if I install HASS on another computer and build a new network using the old ConBee2 coordinator - the remote works as expected.

On both setups the devices is handled by zhaquirks.ikea.fivebtnremotezha.IkeaTradfriRemote.

Expected behavior A zha_event is sent every time I press a button on the remote.

Screenshots

Additional context

{
  "node_descriptor": "NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=4476, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=0, *allocate_address=True, *complex_descriptor_available=False, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False, *is_valid=True, *logical_type=<LogicalType.EndDevice: 2>, *user_descriptor_available=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0820",
      "in_clusters": [
        "0x0000",
        "0x0001",
        "0x0003",
        "0x0020",
        "0x1000",
        "0xfc7c"
      ],
      "out_clusters": [
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0019",
        "0x1000"
      ]
    }
  },
  "manufacturer": "IKEA of Sweden",
  "model": "TRADFRI remote control",
  "class": "zhaquirks.ikea.fivebtnremotezha.IkeaTradfriRemote"
}

Please give me some hints on what logs I need to provide. I have relatively big ZigBee network and if I enable debug logging the logs are pretty noisy and it’s hard to find anything in there. Can I somehow get logs related to only one device in the network?

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 21 (20 by maintainers)

Most upvoted comments

I’d need to test it. Ezsp radio have to be subscribed to multicast messages, if there were two coordinator with 0x0000 then maybe it used the wrong one to do those operations

Ok, I figured out the problem. When I was migrating the network to the new coordinator, I removed the integration, but did not remove zha.storage and zigbee.db. For some reason information about the old coordinator was left there and ZHA fthought that it kept working with the old coordinator with it’s old ieee, however I saw 2 coordinators on the ‘Devices’ list.

FIX:

  • I manually removed all occurrences of the old coordinator and it’s ieee from zha.storage
  • I manually replaced all occurrences of old device’s ieee in zigbee.db with the new device’s ieee.

It was a clear guess, but it worked out.

After these manipulations the network started as nothing had changed and the remote started sending zha_events as it should.

@Adminiuga maybe you can explain in two words why this might happen? Maybe it makes sense to update zha documentation and describe the process of migrating networks from one coordinator to another? WDYT?