Hey, so I’m a bit of a newb at this stuff, but I’m trying to get up to speed quickly.
Got a couple new Ikea Tradfri wireless dimmer on/off buttons (E1743) and when I added them to ZHA all that’s showing up is the battery status, which is not useful. In the logs I get “No handler for cluster command 0” (also, 1, 5, 7 depending on which button, or long/short press)
Through ZHA I was able to bind the switch to another zigbee device (a plug) and it was working fine. I’m just missing a step where I can get the button presses to be sent into HA as events. Right now they are pretty useless as I want to ultimately control zwave and other devices with them.
Any help on this? (below is the output as I added one of the devices to ZHA
[0x0000:zdo] ZDO request 0x0036: [60, <Bool.false: 0>]
[0x9d79:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=195 command_id=Command.Report_Attributes>
[0x9d79:1:0x0006] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=Bool, value=Bool.false>>]]
[0x9d79:1:0x0006] Attribute report received: on_off=Bool.false
Device 0x4195 (14:b4:57:ff:fe:7b:a5:30) joined the network
[0x4195] Requesting 'Node Descriptor'
[0x4195] Extending timeout for 0x9a request
Device 0x7a4b (14:b4:57:ff:fe:7b:a5:30) joined the network
Device 14:b4:57:ff:fe:7b:a5:30 changed id (0x4195 => 0x7a4b)
Canceling old initialize call
[0x7a4b] Requesting Node Descriptor failed:
[0x7a4b] Discovering endpoints
[0x7a4b] Extending timeout for 0x9c request
[0x7a4b] Requesting 'Node Descriptor'
[0x7a4b] Extending timeout for 0x9e request
Device 0x7a4b (14:b4:57:ff:fe:7b:a5:30) joined the network
Skip initialization for existing device 14:b4:57:ff:fe:7b:a5:30
[0x7a4b:zdo] ZDO request 0x0013: [0x7a4b, 14:b4:57:ff:fe:7b:a5:30, 128]
[0x7a4b] Discovered endpoints: [1]
[0x7a4b:1] Discovering endpoint information
[0x7a4b] Extending timeout for 0xa0 request
[0x7a4b] Node Descriptor: <Optional 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>
[0x7a4b] Discovering endpoints
[0x7a4b] Extending timeout for 0xa2 request
[0x7a4b:1] Discovered endpoint information: <SimpleDescriptor endpoint=1 profile=260 device_type=2080 device_version=1 input_clusters=[0, 1, 3, 9, 32, 4096, 64636] output_clusters=[3, 4, 6, 8, 25, 258, 4096]>
[0x7a4b] Extending timeout for 0xa4 request
[0x7a4b] Discovered endpoints: [1]
[0x7a4b:1] Discovering endpoint information
[0x7a4b] Extending timeout for 0xa6 request
Ignoring message (b'18a401040000420e494b4541206f662053776564656e050000421554524144465249206f6e2f6f666620737769746368') on cluster 0: unknown endpoint or cluster id: 'No cluster ID 0x0000 on (14:b4:57:ff:fe:7b:a5:30, 1)'
[0x7a4b:1] Discovered endpoint information: <SimpleDescriptor endpoint=1 profile=260 device_type=2080 device_version=1 input_clusters=[0, 1, 3, 9, 32, 4096, 64636] output_clusters=[3, 4, 6, 8, 25, 258, 4096]>
[0x7a4b] Extending timeout for 0xa8 request
[0x7a4b:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=0 command_id=1>
[0x7a4b:1:0x0006] ZCL request 0x0001: []
[0x7a4b:1:0x0006] No handler for cluster command 1
[0x7a4b:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=168 command_id=Command.Read_Attributes_rsp>
[0x7a4b:1] Manufacturer: IKEA of Sweden
[0x7a4b:1] Model: TRADFRI on/off switch
Checking quirks for IKEA of Sweden TRADFRI on/off switch (14:b4:57:ff:fe:7b:a5:30)
Considering <class 'zhaquirks.ikea.twobtnremote.IkeaTradfriRemote2Btn'>
Found custom device replacement for 14:b4:57:ff:fe:7b:a5:30: <class 'zhaquirks.ikea.twobtnremote.IkeaTradfriRemote2Btn'>
device - 0x7a4b:14:b4:57:ff:fe:7b:a5:30 entering async_device_initialized - is_new_join: True
device - 0x7a4b:14:b4:57:ff:fe:7b:a5:30 has joined the ZHA zigbee network
[0x7a4b](TRADFRI on/off switch): started configuration
[0x7a4b:ZDO](TRADFRI on/off switch): channel: 'async_configure' stage succeeded
[0x7a4b] Extending timeout for 0xaa request
[0x7a4b] Extending timeout for 0xac request
[0x7a4b] Extending timeout for 0xae request
[0x7a4b:1:0x0000]: bound 'basic' cluster: Status.SUCCESS
[0x7a4b:1:0x0000]: finished channel configuration
[0x7a4b] Extending timeout for 0xb0 request
[0x7a4b:1:0x1000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=174 command_id=65>
[0x7a4b:1:0x0001]: bound 'power' cluster: Status.SUCCESS
[0x7a4b] Extending timeout for 0xb2 request
[0x7a4b:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=2 command_id=0>
[0x7a4b:1:0x0006] ZCL request 0x0000: []
[0x7a4b:1:0x0006] No handler for cluster command 0
[0x7a4b:1:0x1000]: bound 'lightlink' cluster: None
[0x7a4b:1:0x1000]: finished channel configuration
[0x7a4b:1:0x1000]: channel: 'async_configure' stage succeeded
[0x7a4b] Extending timeout for 0xb4 request
[0x7a4b:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=4 command_id=1>
[0x7a4b:1:0x0006] ZCL request 0x0001: []
[0x7a4b:1:0x0006] No handler for cluster command 1
[0x7a4b:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=176 command_id=Command.Read_Attributes_rsp>
[0x7a4b:1:0x0000]: initializing channel: from_cache: False
[0x7a4b:1:0x0000]: channel: 'async_configure' stage succeeded
[0x7a4b:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=178 command_id=Command.Configure_Reporting_rsp>
[0x7a4b] Extending timeout for 0xb6 request
[0x7a4b:1:0x0001]: reporting 'battery_voltage' attr on 'power' cluster: 3600/10800/1: Result: '[[<ConfigureReportingResponseRecord status=Status.SUCCESS>]]'
[0x7a4b:1:0x0006]: bound 'on_off' cluster: Status.SUCCESS
[0x7a4b:1:0x0006]: finished channel configuration
[0x7a4b:1:0x0006]: channel: 'async_configure' stage succeeded
[0x7a4b] Extending timeout for 0xb8 request
[0x7a4b:1:0x0008]: bound 'level' cluster: Status.SUCCESS
[0x7a4b:1:0x0008]: finished channel configuration
[0x7a4b:1:0x0008]: channel: 'async_configure' stage succeeded
[0x7a4b:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=184 command_id=Command.Configure_Reporting_rsp>
[0x7a4b:1:0x0001]: reporting 'battery_percentage_remaining' attr on 'power' cluster: 3600/10800/1: Result: '[[<ConfigureReportingResponseRecord status=Status.SUCCESS>]]'
[0x7a4b:1:0x0001]: finished channel configuration
[0x7a4b:1:0x0001]: channel: 'async_configure' stage succeeded
[0x7a4b](TRADFRI on/off switch): completed configuration
[0x7a4b](TRADFRI on/off switch): stored in registry: ZhaDeviceEntry(name='IKEA of Sweden TRADFRI on/off switch', ieee='14:b4:57:ff:fe:7b:a5:30', last_seen=1583550104.770326)
[0x7a4b](TRADFRI on/off switch): started initialization
[0x7a4b:ZDO](TRADFRI on/off switch): entry loaded from storage: ZhaDeviceEntry(name='IKEA of Sweden TRADFRI on/off switch', ieee='14:b4:57:ff:fe:7b:a5:30', last_seen=1583550104.770326)
[0x7a4b:ZDO](TRADFRI on/off switch): channel: 'async_initialize' stage succeeded
[0x7a4b] Extending timeout for 0xba request
[0x7a4b] Extending timeout for 0xbc request
[0x7a4b:1:0x1000]: initializing channel: from_cache: False
[0x7a4b:1:0x1000]: channel: 'async_initialize' stage succeeded
[0x7a4b:1:0x0006]: initializing channel: from_cache: False
[0x7a4b:1:0x0006]: channel: 'async_initialize' stage succeeded
[0x7a4b:1:0x0008]: initializing channel: from_cache: False
[0x7a4b:1:0x0008]: channel: 'async_initialize' stage succeeded
[0x7a4b:zdo] ZDO request 0x0036: [180, <Bool.true: 1>]
[0x7a4b:1:0x0003] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=7 command_id=1>
[0x7a4b:1:0x0003] ZCL request 0x0001: []
[0x7a4b:1:0x0003] No handler for cluster command 1
[0x7a4b:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=186 command_id=Command.Read_Attributes_rsp>
[0x7a4b:1:0x0000]: initializing channel: from_cache: False
[0x7a4b:1:0x0000]: channel: 'async_initialize' stage succeeded
[0x7a4b:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=188 command_id=Command.Read_Attributes_rsp>
[0x7a4b:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=8 command_id=0>
[0x7a4b:1:0x0006] ZCL request 0x0000: []
[0x7a4b:1:0x0006] No handler for cluster command 0
[0x7a4b] Extending timeout for 0xbe request
[0x7a4b:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=190 command_id=Command.Read_Attributes_rsp>
[0x7a4b] Extending timeout for 0xc0 request
[0x7a4b:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=192 command_id=Command.Read_Attributes_rsp>
[0x7a4b] Extending timeout for 0xc2 request
[0x7a4b:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=9 command_id=1>
Data remains after deserializing ZCL frame
[0x7a4b:1:0x0008] ZCL request 0x0001: [1, 83]
[0x7a4b:1:0x0008] No handler for cluster command 1
[0x7a4b:1:0x0001] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=194 command_id=Command.Read_Attributes_rsp>
[0x7a4b:1:0x0001]: initializing channel: from_cache: False
[0x7a4b:1:0x0001]: channel: 'async_initialize' stage succeeded
[0x7a4b](TRADFRI on/off switch): power source: Battery or Unknown
[0x7a4b](TRADFRI on/off switch): completed initialization
[0x7a4b:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=14 command_id=0>
[0x7a4b:1:0x0006] ZCL request 0x0000: []
[0x7a4b:1:0x0006] No handler for cluster command 0
[0x7a4b] Extending timeout for 0xc4 request
[0x7a4b:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=15 command_id=1>
Data remains after deserializing ZCL frame
[0x7a4b:1:0x0008] ZCL request 0x0001: [1, 83]
[0x7a4b:1:0x0008] No handler for cluster command 1
[0x7a4b:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=16 command_id=7>
[0x7a4b:1:0x0008] ZCL request 0x0007: []
[0x7a4b:1:0x0008] No handler for cluster command 7
[0x7a4b:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=196 command_id=Command.Read_Attributes_rsp>
[0x7a4b:1:0x0000] ZCL request 0x0001: [[<ReadAttributeRecord attrid=4 status=Status.SUCCESS value=IKEA of Sweden>]]
[0x7a4b:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=17 command_id=5>
[0x7a4b:1:0x0008] ZCL request 0x0005: [0, 83]
[0x7a4b:1:0x0008] No handler for cluster command 5
[0x7a4b:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=18 command_id=7>
[0x7a4b:1:0x0008] ZCL request 0x0007: []
[0x7a4b:1:0x0008] No handler for cluster command 7