-
Notifications
You must be signed in to change notification settings - Fork 725
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Philips RDM002 long press indistinguishable from dial left rotation #3696
Comments
Thanks for looking into this and creating the issue, @fholzer. Of course I'd personally appreciate it if you considered fixing it, since I think you're the expert on this integration now :) I have a question for you. Someone noticed that the step_with_on_off events fired by log presses have "transition_time" param of 8. The similar rotation events appear to me to consistently have a transition_time of 4. Do you have an opinion on whether or not this is a reliable way to discriminate between the two in a blueprint or script until the underlying issue is fixed? Thanks! |
Debug logs, filtered# Dial rotation left
2025-01-10 19:30:54.771 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 30, 54, 771539, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=203, profile_id=260, cluster_id=8, data=Serialized[b'\x01\x1c\x06\x01\x0e\x04\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=220, rssi=-45)
2025-01-10 19:30:54.772 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Received ZCL frame: b'\x01\x1c\x06\x01\x0e\x04\x00'
2025-01-10 19:30:54.772 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x01>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=28, command_id=6, *direction=<Direction.Client_to_Server: 0>)
2025-01-10 19:30:54.772 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame: LevelControl:step_with_on_off(step_mode=<StepMode.Down: 1>, step_size=14, transition_time=4)
--
2025-01-10 19:30:54.780 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 30, 54, 780510, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=204, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10\x1d\x00\x14\x00\x010\x01)\xe2\xff!d\x00)\xe2\xff!d\x00)\xe2\xff!\x90\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=224, rssi=-44)
2025-01-10 19:30:54.780 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10\x1d\x00\x14\x00\x010\x01)\xe2\xff!d\x00)\xe2\xff!d\x00)\xe2\xff!\x90\x01'
2025-01-10 19:30:54.781 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=29, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:30:54.781 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=20, param2=3145984, press_type=1, param4=41, param5=65506)
# Dial rotation right
2025-01-10 19:30:57.166 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 30, 57, 166520, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=205, profile_id=260, cluster_id=8, data=Serialized[b'\x01\x1e\x06\x00\x0e\x04\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=220, rssi=-45)
2025-01-10 19:30:57.167 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Received ZCL frame: b'\x01\x1e\x06\x00\x0e\x04\x00'
2025-01-10 19:30:57.167 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x01>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=30, command_id=6, *direction=<Direction.Client_to_Server: 0>)
2025-01-10 19:30:57.168 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame: LevelControl:step_with_on_off(step_mode=<StepMode.Up: 0>, step_size=14, transition_time=4)
--
2025-01-10 19:30:57.175 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 30, 57, 175599, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=206, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10\x1f\x00\x14\x00\x010\x01)\x1e\x00!d\x00)\x1e\x00!d\x00)\x1e\x00!\x90\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=220, rssi=-45)
2025-01-10 19:30:57.176 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10\x1f\x00\x14\x00\x010\x01)\x1e\x00!d\x00)\x1e\x00!d\x00)\x1e\x00!\x90\x01'
2025-01-10 19:30:57.176 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=31, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:30:57.176 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=20, param2=3145984, press_type=1, param4=41, param5=30)
# Button 1 long press
2025-01-10 19:31:02.052 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 2, 52192, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=207, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10 \x00\x01\x00\x000\x00!\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=232, rssi=-42)
2025-01-10 19:31:02.052 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10 \x00\x01\x00\x000\x00!\x00\x00'
2025-01-10 19:31:02.052 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=32, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:02.053 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=1, param2=3145728, press_type=0, param4=33, param5=0)
--
2025-01-10 19:31:02.822 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 2, 822386, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=208, profile_id=260, cluster_id=8, data=Serialized[b'\x01!\x06\x01\xff\x08\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=232, rssi=-42)
2025-01-10 19:31:02.822 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Received ZCL frame: b'\x01!\x06\x01\xff\x08\x00'
2025-01-10 19:31:02.823 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x01>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=33, command_id=6, *direction=<Direction.Client_to_Server: 0>)
2025-01-10 19:31:02.823 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame: LevelControl:step_with_on_off(step_mode=<StepMode.Down: 1>, step_size=255, transition_time=8)
--
2025-01-10 19:31:02.848 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 2, 848728, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=209, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10"\x00\x01\x00\x000\x01!\x08\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=232, rssi=-42)
2025-01-10 19:31:02.849 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10"\x00\x01\x00\x000\x01!\x08\x00'
2025-01-10 19:31:02.849 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=34, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:02.849 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=1, param2=3145728, press_type=1, param4=33, param5=8)
--
2025-01-10 19:31:03.168 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 3, 168945, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=210, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10#\x00\x01\x00\x000\x03!\x0b\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=232, rssi=-42)
2025-01-10 19:31:03.170 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10#\x00\x01\x00\x000\x03!\x0b\x00'
2025-01-10 19:31:03.170 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=35, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:03.171 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=1, param2=3145728, press_type=3, param4=33, param5=11)
# Button 2 long press
2025-01-10 19:31:09.575 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 9, 575750, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=211, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10$\x00\x02\x00\x000\x00!\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=220, rssi=-45)
2025-01-10 19:31:09.576 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10$\x00\x02\x00\x000\x00!\x00\x00'
2025-01-10 19:31:09.576 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=36, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:09.577 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=2, param2=3145728, press_type=0, param4=33, param5=0)
--
2025-01-10 19:31:10.347 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 10, 347221, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=212, profile_id=260, cluster_id=8, data=Serialized[b'\x01%\x06\x01\xff\x08\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=220, rssi=-45)
2025-01-10 19:31:10.347 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Received ZCL frame: b'\x01%\x06\x01\xff\x08\x00'
2025-01-10 19:31:10.347 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x01>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=37, command_id=6, *direction=<Direction.Client_to_Server: 0>)
2025-01-10 19:31:10.348 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame: LevelControl:step_with_on_off(step_mode=<StepMode.Down: 1>, step_size=255, transition_time=8)
--
2025-01-10 19:31:10.372 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 10, 372777, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=213, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10&\x00\x02\x00\x000\x01!\x08\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=220, rssi=-45)
2025-01-10 19:31:10.373 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10&\x00\x02\x00\x000\x01!\x08\x00'
2025-01-10 19:31:10.373 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=38, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:10.373 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=2, param2=3145728, press_type=1, param4=33, param5=8)
--
2025-01-10 19:31:10.944 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 10, 944803, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=214, profile_id=260, cluster_id=64512, data=Serialized[b"\x1d\x0b\x10'\x00\x02\x00\x000\x03!\r\x00"], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=228, rssi=-43)
2025-01-10 19:31:10.945 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b"\x1d\x0b\x10'\x00\x02\x00\x000\x03!\r\x00"
2025-01-10 19:31:10.946 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=39, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:10.947 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=2, param2=3145728, press_type=3, param4=33, param5=13)
# Button 3 long press
2025-01-10 19:31:18.895 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 18, 895449, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=215, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10(\x00\x03\x00\x000\x00!\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-34)
2025-01-10 19:31:18.896 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10(\x00\x03\x00\x000\x00!\x00\x00'
2025-01-10 19:31:18.896 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=40, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:18.897 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=3, param2=3145728, press_type=0, param4=33, param5=0)
--
2025-01-10 19:31:19.665 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 19, 664988, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=216, profile_id=260, cluster_id=8, data=Serialized[b'\x01)\x06\x01\xff\x08\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-35)
2025-01-10 19:31:19.665 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Received ZCL frame: b'\x01)\x06\x01\xff\x08\x00'
2025-01-10 19:31:19.665 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x01>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=41, command_id=6, *direction=<Direction.Client_to_Server: 0>)
2025-01-10 19:31:19.666 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame: LevelControl:step_with_on_off(step_mode=<StepMode.Down: 1>, step_size=255, transition_time=8)
--
2025-01-10 19:31:19.689 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 19, 689139, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=217, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10*\x00\x03\x00\x000\x01!\x08\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-36)
2025-01-10 19:31:19.689 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10*\x00\x03\x00\x000\x01!\x08\x00'
2025-01-10 19:31:19.689 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=42, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:19.689 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=3, param2=3145728, press_type=1, param4=33, param5=8)
--
2025-01-10 19:31:20.489 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 20, 489157, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=218, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10+\x00\x03\x00\x000\x01!\x10\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-35)
2025-01-10 19:31:20.489 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10+\x00\x03\x00\x000\x01!\x10\x00'
2025-01-10 19:31:20.489 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=43, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:20.489 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=3, param2=3145728, press_type=1, param4=33, param5=16)
--
2025-01-10 19:31:20.529 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 20, 529767, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=219, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10,\x00\x03\x00\x000\x03!\x10\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-35)
2025-01-10 19:31:20.530 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10,\x00\x03\x00\x000\x03!\x10\x00'
2025-01-10 19:31:20.530 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=44, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:20.530 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=3, param2=3145728, press_type=3, param4=33, param5=16)
# Button 4 long press
2025-01-10 19:31:27.584 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 27, 584330, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=220, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10-\x00\x04\x00\x000\x00!\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-36)
2025-01-10 19:31:27.584 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10-\x00\x04\x00\x000\x00!\x00\x00'
2025-01-10 19:31:27.585 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=45, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:27.585 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=4, param2=3145728, press_type=0, param4=33, param5=0)
--
2025-01-10 19:31:28.359 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 28, 359582, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=221, profile_id=260, cluster_id=8, data=Serialized[b'\x01.\x06\x01\xff\x08\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=252, rssi=-37)
2025-01-10 19:31:28.360 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Received ZCL frame: b'\x01.\x06\x01\xff\x08\x00'
2025-01-10 19:31:28.360 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x01>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=46, command_id=6, *direction=<Direction.Client_to_Server: 0>)
2025-01-10 19:31:28.361 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0x0008] Decoded ZCL frame: LevelControl:step_with_on_off(step_mode=<StepMode.Down: 1>, step_size=255, transition_time=8)
--
2025-01-10 19:31:28.382 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 28, 382935, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=222, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10/\x00\x04\x00\x000\x01!\x08\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-36)
2025-01-10 19:31:28.383 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10/\x00\x04\x00\x000\x01!\x08\x00'
2025-01-10 19:31:28.383 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=47, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:28.383 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=4, param2=3145728, press_type=1, param4=33, param5=8)
--
2025-01-10 19:31:29.181 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 29, 181030, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=223, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x100\x00\x04\x00\x000\x01!\x10\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-35)
2025-01-10 19:31:29.181 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x100\x00\x04\x00\x000\x01!\x10\x00'
2025-01-10 19:31:29.182 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=48, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:29.182 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=4, param2=3145728, press_type=1, param4=33, param5=16)
--
2025-01-10 19:31:29.275 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 18, 31, 29, 275227, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=224, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x101\x00\x04\x00\x000\x03!\x11\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=255, rssi=-36)
2025-01-10 19:31:29.275 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x101\x00\x04\x00\x000\x03!\x11\x00'
2025-01-10 19:31:29.276 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=49, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 19:31:29.276 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=4, param2=3145728, press_type=3, param4=33, param5=17) @gtunes-dev yes, I didn't notice this at first, but you're right, the Generally I think there's two approaches to resolve this:
Without having had a look into what changes would be needed in detail, I thinks option 2 would be preferable. What do you think @TheJulianJES? Also, based on these logs, I think param5 should be changed from uint16 to int16, which makes left/right dial rotation result in a negative and a positive number respectively, instead of a number close to 65535 and one close to 0, respectively. With param5 changed to logs# dial left rotation
2025-01-10 20:31:51.126 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 19, 31, 51, 126434, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=247, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10G\x00\x14\x00\x010\x01)\xf1\xff!d\x00)\xf1\xff!d\x00)\xf1\xff!\x90\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=220, rssi=-45)
2025-01-10 20:31:51.126 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10G\x00\x14\x00\x010\x01)\xf1\xff!d\x00)\xf1\xff!d\x00)\xf1\xff!\x90\x01'
2025-01-10 20:31:51.127 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=71, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 20:31:51.127 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=20, param2=3145984, press_type=1, param4=41, param5=-15)
--
2025-01-10 20:31:51.528 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 19, 31, 51, 528430, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=248, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10H\x00\x14\x00\x010\x02)\xf1\xff!\x90\x01)\xe2\xff!\xf4\x01)\xf1\xff!\x90\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=232, rssi=-42)
2025-01-10 20:31:51.528 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10H\x00\x14\x00\x010\x02)\xf1\xff!\x90\x01)\xe2\xff!\xf4\x01)\xf1\xff!\x90\x01'
2025-01-10 20:31:51.528 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=72, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 20:31:51.529 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=20, param2=3145984, press_type=2, param4=41, param5=-15)
--
2025-01-10 20:31:54.299 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 19, 31, 54, 299233, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=251, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10K\x00\x14\x00\x010\x01)Z\xff!d\x00)Z\xff!d\x00)Z\xff!\x90\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=236, rssi=-41)
2025-01-10 20:31:54.299 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10K\x00\x14\x00\x010\x01)Z\xff!d\x00)Z\xff!d\x00)Z\xff!\x90\x01'
2025-01-10 20:31:54.300 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=75, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 20:31:54.300 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=20, param2=3145984, press_type=1, param4=41, param5=-166)
--
2025-01-10 20:31:54.700 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 19, 31, 54, 700472, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=252, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10L\x00\x14\x00\x010\x02)i\xff!\x90\x01)\xc3\xfe!\xf4\x01)i\xff!\x90\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=228, rssi=-43)
2025-01-10 20:31:54.700 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10L\x00\x14\x00\x010\x02)i\xff!\x90\x01)\xc3\xfe!\xf4\x01)i\xff!\x90\x01'
2025-01-10 20:31:54.700 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=76, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 20:31:54.701 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=20, param2=3145984, press_type=2, param4=41, param5=-151)
--
# dial right rotation
2025-01-10 20:32:05.812 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 19, 32, 5, 812139, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=255, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10O\x00\x14\x00\x010\x01)\x0f\x00!d\x00)\x0f\x00!d\x00)\x0f\x00!\x90\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=128, rssi=-68)
2025-01-10 20:32:05.812 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10O\x00\x14\x00\x010\x01)\x0f\x00!d\x00)\x0f\x00!d\x00)\x0f\x00!\x90\x01'
2025-01-10 20:32:05.813 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=79, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 20:32:05.813 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=20, param2=3145984, press_type=1, param4=41, param5=15)
--
2025-01-10 20:32:07.718 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 19, 32, 7, 718056, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=1, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10Q\x00\x14\x00\x010\x01)K\x00!d\x00)K\x00!d\x00)K\x00!\x90\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=180, rssi=-55)
2025-01-10 20:32:07.718 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10Q\x00\x14\x00\x010\x01)K\x00!d\x00)K\x00!d\x00)K\x00!\x90\x01'
2025-01-10 20:32:07.718 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=81, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 20:32:07.719 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=20, param2=3145984, press_type=1, param4=41, param5=75)
--
2025-01-10 20:32:08.112 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 1, 10, 19, 32, 8, 112519, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x514D), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=2, profile_id=260, cluster_id=64512, data=Serialized[b'\x1d\x0b\x10R\x00\x14\x00\x010\x02)\x8b\x02!\x90\x01)\xd6\x02!\xf4\x01)\x8b\x02!\x90\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=188, rssi=-53)
2025-01-10 20:32:08.112 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Received ZCL frame: b'\x1d\x0b\x10R\x00\x14\x00\x010\x02)\x8b\x02!\x90\x01)\xd6\x02!\xf4\x01)\x8b\x02!\x90\x01'
2025-01-10 20:32:08.113 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x1D>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4107, tsn=82, command_id=0, *direction=<Direction.Server_to_Client: 1>)
2025-01-10 20:32:08.113 DEBUG (MainThread) [zigpy.zcl] [0x514D:1:0xfc00] Decoded ZCL frame: PhilipsRdm002RemoteCluster:notification(button=20, param2=3145984, press_type=2, param4=41, param5=651) |
Okay, seems like option 2 isn't that easy after all. To maintain compatibility, any emitted events would need to have |
Bug description
Long-pressing buttons will correctly emit long_press/hold events, but they will also emit LevelControl events. Dial rotation will emit only LevelControl events. Due to the args/params attached to the LevelControl events emitted by button long-press, they are indistinguishable from dial left rotation. Dial right rotation uses different arguments, so can be distinguished. See #2340 (comment) for more details.
Steps to reproduce
zha_event
in dev tools.Expected behavior
Ideally holding a button shouldn't emit LevelControl events.
Screenshots/Video
No response
Device signature
Device signature
Diagnostic information
No response
Logs
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: