zha-device-handlers: [BUG] Group binding fails for Hue Dimmer Switch
Describe the bug Hue Dimmer Switch fails to bind properly to an existing group.
To Reproduce Steps to reproduce the behavior:
- Add Hue Dimmer Switch
- Go to Hue Dimmer Switch device management page
- Under “Group Binding” select a pre-existing group. In my case “Living Room Lights” which has only bulbs as members.
- Select all clusters
- Click “Bind Group”
Expected behavior Dimmer switch should bind properly to the group and control the lights in the group (OnOff, LevelControl)
Additional context Here is the device info:
Philips RWL020
RWL020
by Philips
IEEE: 00:17:88:01:06:70:2a:dc
Nwk: 0x1cb7
Device Type: EndDevice
LQI: 191
RSSI: -70
Last Seen: 2020-04-15T23:58:52
Power Source: Battery or Unknown
Quirk: zhaquirks.philips.rwl021.PhilipsRWL021
Here are logs from when I attempt to bind:
[0x1cb7: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=5 command_id=1>
[0x1cb7:1:0x0006] ZCL request 0x0001: []
[0x1cb7:1:0x0006] No handler for cluster command 1
[0x1cb7:zdo] processing 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 0 to group: 0x0002
[0x1cb7:zdo] processing 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 4 to group: 0x0002
[0x1cb7:zdo] processing 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 3 to group: 0x0002
[0x1cb7:zdo] processing 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 8 to group: 0x0002
[0x1cb7:zdo] processing 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 6 to group: 0x0002
[0x1cb7:zdo] processing 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 2, cluster: 25 to group: 0x0002
[0x1cb7:zdo] processing 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 5 to group: 0x0002
[0x1cb7] Extending timeout for 0x61 request
[0x1cb7] Extending timeout for 0x62 request
[0x1cb7] Extending timeout for 0x63 request
[0x1cb7] Extending timeout for 0x64 request
[0x1cb7] Extending timeout for 0x65 request
[0x1cb7] Extending timeout for 0x66 request
[0x1cb7] Extending timeout for 0x67 request
[0x1cb7:zdo] 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 0 to group: 0x0002 completed: [<Status.TABLE_FULL: 140>]
[0x1cb7:zdo] 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 4 to group: 0x0002 completed: [<Status.TABLE_FULL: 140>]
[0x1cb7:zdo] 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 3 to group: 0x0002 completed: [<Status.TABLE_FULL: 140>]
[0x1cb7:zdo] 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 8 to group: 0x0002 completed: [<Status.SUCCESS: 0>]
[0x1cb7:zdo] 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 6 to group: 0x0002 failed:
[0x1cb7:zdo] 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 2, cluster: 25 to group: 0x0002 completed: [<Status.TABLE_FULL: 140>]
[0x1cb7:zdo] 0x1cb7: Bind_req 00:17:88:01:06:70:2a:dc, ep: 1, cluster: 5 to group: 0x0002 failed:
Here is what happens when I then try to use the buttons on the remote (in order):
[0x1cb7: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=15 command_id=1>
[0x1cb7:1:0x0006] ZCL request 0x0001: []
[0x1cb7:1:0x0006] No handler for cluster command 1
[0x1cb7: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=14 command_id=2>
[0x1cb7:1:0x0008] ZCL request 0x0002: [0, 30, 9]
[0x1cb7:1:0x0008] No handler for cluster command 2
[0x1cb7: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=2>
[0x1cb7:1:0x0008] ZCL request 0x0002: [1, 30, 9]
[0x1cb7:1:0x0008] No handler for cluster command 2
[0x1cb7: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=17 command_id=64>
[0x1cb7:1:0x0006] ZCL request 0x0040: [0, 0]
[0x1cb7:1:0x0006] No handler for cluster command 64
Happy to help troubleshoot however I can.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 1
- Comments: 36 (23 by maintainers)
@dmulcahey this hack allows Coordinator bind/unbind 🤷 I’m open to better ideas ~~https://github.com/Adminiuga/home-assistant/commit/6a507e111385b02d5c3226ef81f9bc6dbd766a05~~
Check the draft PR instead https://github.com/home-assistant/core/pull/42854
@Adminiuga this worked!
After that I did bind the switch to a group and can now control them directly!
Thank you for your help. Would be great to be able to do it directly from UI as you suggested. Also, an entry in the documentation could definitely help, happy to submit a PR if pointed in the right direction
@Adminiuga You have 110% right with the unbinding and i have posted one issue in HA for implanting the the coordinator in clustermanameng for open for binding / unbinding the coordinator and its working all times i have trying it. I was thinking its belong in the HA part not in the zigpy then its one ZHA GUI future therefore the issue in HA. https://github.com/home-assistant/core/issues/41665#issue-718865602
pip3 install git+https://github.com/zigpy/zha-device-handlers@dev#zhaquirks==0.45.0