Skip to content
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

Add AduroSmart Eria SceneSwitch #3835

Open
wants to merge 3 commits into
base: dev
Choose a base branch
from
Open

Conversation

Jeroeny
Copy link

@Jeroeny Jeroeny commented Feb 7, 2025

Proposed change

Add support for the AduroSmart Eria SceneSwitch. Currently ZHA in HomeAssistant can couple with the switch, but button presses are logged, no events are emitted to interact with.

About the device: https://adurosmart.com/manuals/remotesceneswitch/81847%20scene%20switch%20manual-EU.pdf

Additional information

Signature
{
  "node_descriptor": {
    "logical_type": 2,
    "complex_descriptor_available": 0,
    "user_descriptor_available": 0,
    "reserved": 0,
    "aps_flags": 0,
    "frequency_band": 8,
    "mac_capability_flags": 128,
    "manufacturer_code": 4653,
    "maximum_buffer_size": 127,
    "maximum_incoming_transfer_size": 100,
    "server_mask": 0,
    "maximum_outgoing_transfer_size": 100,
    "descriptor_capability_field": 0
  },
  "endpoints": {
    "1": {
      "profile_id": "0xc05e",
      "device_type": "0x0810",
      "input_clusters": [
        "0x0000",
        "0x0001",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0300",
        "0x1000",
        "0xfccc"
      ],
      "output_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0x0008",
        "0x0300",
        "0x1000",
        "0xfccc"
      ]
    },
    "2": {
      "profile_id": "0xc05e",
      "device_type": "0x03f2",
      "input_clusters": [
        "0x1000"
      ],
      "output_clusters": [
        "0x1000"
      ]
    }
  },
  "manufacturer": "AduroSmart Eria",
  "model": "ADUROLIGHT_CSC",
  "class": "zigpy.device.Device"
}
Zigbee logs
2025-02-06 11:58:07.183 DEBUG (MainThread) [zigpy.backups] Adding a new backup NetworkBackup(version=1, backup_time=datetime.datetime(2025, 2, 6, 4, 32, 48, 929900, tzinfo=datetime.timezone.utc), network_info=NetworkInfo(extended_pan_id=dd:dd:dd:dd:dd:dd:dd:dd, pan_id=0x1A62, nwk_update_id=0, nwk_manager_id=0x0000, channel=12, channel_mask=<Channels.ALL_CHANNELS: 134215680>, security_level=5, network_key=Key(key=01:03:05:07:09:0b:0d:0f:00:02:04:06:08:0a:0c:0d, tx_counter=206637, rx_counter=0, seq=0, partner_ieee=ff:ff:ff:ff:ff:ff:ff:ff), tc_link_key=Key(key=5a:69:67:42:65:65:41:6c:6c:69:61:6e:63:65:30:39, tx_counter=28672, rx_counter=0, seq=0, partner_ieee=90:35:ea:ff:fe:b9:18:66), key_table=[], children=[00:15:8d:00:05:8c:e1:cb], nwk_addresses={00:15:8d:00:05:8c:e1:cb: 0xAC6C}, stack_specific={'ezsp': {'hashed_tclk': '955ac70c281e3b4617189883315d54b2'}}, metadata={'ezsp': {'stack_version': 12, 'can_burn_userdata_custom_eui64': True, 'can_rewrite_custom_eui64': True, 'flow_control': None}}, source='bellows@0.42.6'), node_info=NodeInfo(nwk=0x0000, ieee=90:35:ea:ff:fe:b9:18:66, logical_type=<LogicalType.Coordinator: 0>, model=None, manufacturer=None, version='7.3.1.0 build 176'))
2025-02-06 11:58:08.237 DEBUG (MainThread) [zigpy.backups] Adding a new backup NetworkBackup(version=1, backup_time=datetime.datetime(2025, 2, 6, 4, 32, 48, 929900, tzinfo=datetime.timezone.utc), network_info=NetworkInfo(extended_pan_id=dd:dd:dd:dd:dd:dd:dd:dd, pan_id=0x1A62, nwk_update_id=0, nwk_manager_id=0x0000, channel=12, channel_mask=<Channels.ALL_CHANNELS: 134215680>, security_level=5, network_key=Key(key=01:03:05:07:09:0b:0d:0f:00:02:04:06:08:0a:0c:0d, tx_counter=206637, rx_counter=0, seq=0, partner_ieee=ff:ff:ff:ff:ff:ff:ff:ff), tc_link_key=Key(key=5a:69:67:42:65:65:41:6c:6c:69:61:6e:63:65:30:39, tx_counter=28672, rx_counter=0, seq=0, partner_ieee=90:35:ea:ff:fe:b9:18:66), key_table=[], children=[00:15:8d:00:05:8c:e1:cb], nwk_addresses={00:15:8d:00:05:8c:e1:cb: 0xAC6C}, stack_specific={'ezsp': {'hashed_tclk': '955ac70c281e3b4617189883315d54b2'}}, metadata={'ezsp': {'stack_version': 12, 'can_burn_userdata_custom_eui64': True, 'can_rewrite_custom_eui64': True, 'flow_control': None}}, source='bellows@0.42.6'), node_info=NodeInfo(nwk=0x0000, ieee=90:35:ea:ff:fe:b9:18:66, logical_type=<LogicalType.Coordinator: 0>, model=None, manufacturer=None, version='7.3.1.0 build 176'))
2025-02-06 12:05:08.045 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=64716, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=39), 'lastHopLqi': 188, 'lastHopRssi': -53, 'sender': 0xAC6C, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x11R\x00\x00\x00\x00'}
2025-02-06 12:05:08.045 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=64716, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=39), 188, -53, 0xAC6C, 255, 255, b'\x11R\x00\x00\x00\x00']
2025-02-06 12:05:08.046 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 6, 11, 5, 8, 46126, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAC6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=39, profile_id=260, cluster_id=64716, data=Serialized[b'\x11R\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=188, rssi=-53)
2025-02-06 12:05:08.046 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Received ZCL frame: b'\x11R\x00\x00\x00\x00'
2025-02-06 12:05:08.046 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x11>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=82, command_id=0, *direction=<Direction.Client_to_Server: 0>)
2025-02-06 12:05:08.046 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Unknown cluster command 0 b'\x00\x00\x00'
2025-02-06 12:05:08.046 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Received command 0x00 (TSN 82): b'\x00\x00\x00'
2025-02-06 12:05:08.046 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] No explicit handler for cluster command 0x00: b'\x00\x00\x00'
2025-02-06 12:05:08.127 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=1, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=40), 'lastHopLqi': 184, 'lastHopRssi': -54, 'sender': 0xAC6C, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x18S\n \x00 \x1d!\x00 \xbe'}
2025-02-06 12:05:08.127 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=1, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=40), 184, -54, 0xAC6C, 255, 255, b'\x18S\n \x00 \x1d!\x00 \xbe']
2025-02-06 12:05:08.127 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 6, 11, 5, 8, 127847, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAC6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=40, profile_id=260, cluster_id=1, data=Serialized[b'\x18S\n \x00 \x1d!\x00 \xbe'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=184, rssi=-54)
2025-02-06 12:05:08.128 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Received ZCL frame: b'\x18S\n \x00 \x1d!\x00 \xbe'
2025-02-06 12:05:08.128 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x18>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=83, command_id=10, *direction=<Direction.Server_to_Client: 1>)
2025-02-06 12:05:08.128 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Decoded ZCL frame: PowerConfiguration:Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=29)), Attribute(attrid=0x0021, value=TypeValue(type=uint8_t, value=190))])
2025-02-06 12:05:08.128 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Received command 0x0A (TSN 83): Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=29)), Attribute(attrid=0x0021, value=TypeValue(type=uint8_t, value=190))])
2025-02-06 12:05:08.128 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Attribute report received: battery_voltage=29, battery_percentage_remaining=190
2025-02-06 12:05:08.129 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0xAC6C:1:0x0001]: cluster_handler[power] attribute_updated - cluster[Power Configuration] attr[battery_voltage] value[29]
2025-02-06 12:05:08.129 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0xAC6C:1:0x0001]: cluster_handler[power] attribute_updated - cluster[Power Configuration] attr[battery_percentage_remaining] value[190]
2025-02-06 12:05:09.680 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=64716, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=41), 'lastHopLqi': 180, 'lastHopRssi': -55, 'sender': 0xAC6C, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x11T\x00\x00\x02\x00'}
2025-02-06 12:05:09.680 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=64716, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=41), 180, -55, 0xAC6C, 255, 255, b'\x11T\x00\x00\x02\x00']
2025-02-06 12:05:09.680 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 6, 11, 5, 9, 680675, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAC6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=41, profile_id=260, cluster_id=64716, data=Serialized[b'\x11T\x00\x00\x02\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=180, rssi=-55)
2025-02-06 12:05:09.680 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Received ZCL frame: b'\x11T\x00\x00\x02\x00'
2025-02-06 12:05:09.681 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x11>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=84, command_id=0, *direction=<Direction.Client_to_Server: 0>)
2025-02-06 12:05:09.681 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Unknown cluster command 0 b'\x00\x02\x00'
2025-02-06 12:05:09.681 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Received command 0x00 (TSN 84): b'\x00\x02\x00'
2025-02-06 12:05:09.681 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] No explicit handler for cluster command 0x00: b'\x00\x02\x00'
2025-02-06 12:05:09.696 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=1, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=42), 'lastHopLqi': 180, 'lastHopRssi': -55, 'sender': 0xAC6C, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x18U\n \x00 \x1d!\x00 \xbe'}
2025-02-06 12:05:09.696 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=1, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=42), 180, -55, 0xAC6C, 255, 255, b'\x18U\n \x00 \x1d!\x00 \xbe']
2025-02-06 12:05:09.696 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 6, 11, 5, 9, 696627, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAC6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=42, profile_id=260, cluster_id=1, data=Serialized[b'\x18U\n \x00 \x1d!\x00 \xbe'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=180, rssi=-55)
2025-02-06 12:05:09.696 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Received ZCL frame: b'\x18U\n \x00 \x1d!\x00 \xbe'
2025-02-06 12:05:09.697 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x18>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=85, command_id=10, *direction=<Direction.Server_to_Client: 1>)
2025-02-06 12:05:09.697 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Decoded ZCL frame: PowerConfiguration:Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=29)), Attribute(attrid=0x0021, value=TypeValue(type=uint8_t, value=190))])
2025-02-06 12:05:09.697 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Received command 0x0A (TSN 85): Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=29)), Attribute(attrid=0x0021, value=TypeValue(type=uint8_t, value=190))])
2025-02-06 12:05:09.697 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Attribute report received: battery_voltage=29, battery_percentage_remaining=190
2025-02-06 12:05:09.697 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0xAC6C:1:0x0001]: cluster_handler[power] attribute_updated - cluster[Power Configuration] attr[battery_voltage] value[29]
2025-02-06 12:05:09.697 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0xAC6C:1:0x0001]: cluster_handler[power] attribute_updated - cluster[Power Configuration] attr[battery_percentage_remaining] value[190]
2025-02-06 12:05:12.988 DEBUG (MainThread) [zha.zigbee.device] [0xAC6C](ADUROLIGHT_CSC): Device seen - marking the device available and resetting counter
2025-02-06 12:05:12.988 DEBUG (MainThread) [zha.zigbee.device] [0xAC6C](ADUROLIGHT_CSC): Update device availability -  device available: True - new availability: True - changed: False
2025-02-06 12:05:17.220 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=64716, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=45), 'lastHopLqi': 200, 'lastHopRssi': -50, 'sender': 0xAC6C, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x11X\x00\x00\x00\x00'}
2025-02-06 12:05:17.220 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=64716, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=45), 200, -50, 0xAC6C, 255, 255, b'\x11X\x00\x00\x00\x00']
2025-02-06 12:05:17.220 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 6, 11, 5, 17, 220717, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAC6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=45, profile_id=260, cluster_id=64716, data=Serialized[b'\x11X\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=200, rssi=-50)
2025-02-06 12:05:17.221 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Received ZCL frame: b'\x11X\x00\x00\x00\x00'
2025-02-06 12:05:17.221 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x11>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=88, command_id=0, *direction=<Direction.Client_to_Server: 0>)
2025-02-06 12:05:17.221 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Unknown cluster command 0 b'\x00\x00\x00'
2025-02-06 12:05:17.221 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Received command 0x00 (TSN 88): b'\x00\x00\x00'
2025-02-06 12:05:17.221 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] No explicit handler for cluster command 0x00: b'\x00\x00\x00'
2025-02-06 12:05:17.226 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=1, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=46), 'lastHopLqi': 200, 'lastHopRssi': -50, 'sender': 0xAC6C, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x18Y\n \x00 \x1d!\x00 \xbe'}
2025-02-06 12:05:17.226 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=1, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=46), 200, -50, 0xAC6C, 255, 255, b'\x18Y\n \x00 \x1d!\x00 \xbe']
2025-02-06 12:05:17.226 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 6, 11, 5, 17, 226708, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAC6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=46, profile_id=260, cluster_id=1, data=Serialized[b'\x18Y\n \x00 \x1d!\x00 \xbe'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=200, rssi=-50)
2025-02-06 12:05:17.226 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Received ZCL frame: b'\x18Y\n \x00 \x1d!\x00 \xbe'
2025-02-06 12:05:17.227 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x18>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=89, command_id=10, *direction=<Direction.Server_to_Client: 1>)
2025-02-06 12:05:17.227 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Decoded ZCL frame: PowerConfiguration:Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=29)), Attribute(attrid=0x0021, value=TypeValue(type=uint8_t, value=190))])
2025-02-06 12:05:17.227 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Received command 0x0A (TSN 89): Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=29)), Attribute(attrid=0x0021, value=TypeValue(type=uint8_t, value=190))])
2025-02-06 12:05:17.227 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Attribute report received: battery_voltage=29, battery_percentage_remaining=190
2025-02-06 12:05:17.227 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0xAC6C:1:0x0001]: cluster_handler[power] attribute_updated - cluster[Power Configuration] attr[battery_voltage] value[29]
2025-02-06 12:05:17.227 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0xAC6C:1:0x0001]: cluster_handler[power] attribute_updated - cluster[Power Configuration] attr[battery_percentage_remaining] value[190]
2025-02-06 12:05:24.617 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=64716, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=47), 'lastHopLqi': 184, 'lastHopRssi': -54, 'sender': 0xAC6C, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x11Z\x00\x00\x03\x00'}
2025-02-06 12:05:24.617 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=64716, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=47), 184, -54, 0xAC6C, 255, 255, b'\x11Z\x00\x00\x03\x00']
2025-02-06 12:05:24.617 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 6, 11, 5, 24, 617753, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAC6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=47, profile_id=260, cluster_id=64716, data=Serialized[b'\x11Z\x00\x00\x03\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=184, rssi=-54)
2025-02-06 12:05:24.618 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Received ZCL frame: b'\x11Z\x00\x00\x03\x00'
2025-02-06 12:05:24.618 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x11>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=90, command_id=0, *direction=<Direction.Client_to_Server: 0>)
2025-02-06 12:05:24.618 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Unknown cluster command 0 b'\x00\x03\x00'
2025-02-06 12:05:24.618 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Received command 0x00 (TSN 90): b'\x00\x03\x00'
2025-02-06 12:05:24.618 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] No explicit handler for cluster command 0x00: b'\x00\x03\x00'
2025-02-06 12:05:24.674 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=1, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=48), 'lastHopLqi': 184, 'lastHopRssi': -54, 'sender': 0xAC6C, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x18[\n \x00 \x1d!\x00 \xbe'}
2025-02-06 12:05:24.674 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=1, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=48), 184, -54, 0xAC6C, 255, 255, b'\x18[\n \x00 \x1d!\x00 \xbe']
2025-02-06 12:05:24.675 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 6, 11, 5, 24, 675048, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAC6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=48, profile_id=260, cluster_id=1, data=Serialized[b'\x18[\n \x00 \x1d!\x00 \xbe'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=184, rssi=-54)
2025-02-06 12:05:24.675 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Received ZCL frame: b'\x18[\n \x00 \x1d!\x00 \xbe'
2025-02-06 12:05:24.675 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x18>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=91, command_id=10, *direction=<Direction.Server_to_Client: 1>)
2025-02-06 12:05:24.675 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Decoded ZCL frame: PowerConfiguration:Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=29)), Attribute(attrid=0x0021, value=TypeValue(type=uint8_t, value=190))])
2025-02-06 12:05:24.675 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Received command 0x0A (TSN 91): Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=29)), Attribute(attrid=0x0021, value=TypeValue(type=uint8_t, value=190))])
2025-02-06 12:05:24.676 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Attribute report received: battery_voltage=29, battery_percentage_remaining=190
2025-02-06 12:05:24.676 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0xAC6C:1:0x0001]: cluster_handler[power] attribute_updated - cluster[Power Configuration] attr[battery_voltage] value[29]
2025-02-06 12:05:24.676 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0xAC6C:1:0x0001]: cluster_handler[power] attribute_updated - cluster[Power Configuration] attr[battery_percentage_remaining] value[190]
2025-02-06 12:05:45.937 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=64716, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=50), 'lastHopLqi': 208, 'lastHopRssi': -48, 'sender': 0xAC6C, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x11]\x00\x00\x01\x00'}
2025-02-06 12:05:45.937 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=64716, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=50), 208, -48, 0xAC6C, 255, 255, b'\x11]\x00\x00\x01\x00']
2025-02-06 12:05:45.937 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 6, 11, 5, 45, 937574, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAC6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=50, profile_id=260, cluster_id=64716, data=Serialized[b'\x11]\x00\x00\x01\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=208, rssi=-48)
2025-02-06 12:05:45.937 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Received ZCL frame: b'\x11]\x00\x00\x01\x00'
2025-02-06 12:05:45.938 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x11>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=93, command_id=0, *direction=<Direction.Client_to_Server: 0>)
2025-02-06 12:05:45.938 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Unknown cluster command 0 b'\x00\x01\x00'
2025-02-06 12:05:45.938 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] Received command 0x00 (TSN 93): b'\x00\x01\x00'
2025-02-06 12:05:45.938 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0xfccc] No explicit handler for cluster command 0x00: b'\x00\x01\x00'
2025-02-06 12:05:45.953 DEBUG (MainThread) [bellows.ezsp.protocol] Received command incomingMessageHandler: {'type': <EmberIncomingMessageType.INCOMING_UNICAST: 0>, 'apsFrame': EmberApsFrame(profileId=260, clusterId=1, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=51), 'lastHopLqi': 204, 'lastHopRssi': -49, 'sender': 0xAC6C, 'bindingIndex': 255, 'addressIndex': 255, 'messageContents': b'\x18^\n \x00 \x1d!\x00 \xbe'}
2025-02-06 12:05:45.953 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=1, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=51), 204, -49, 0xAC6C, 255, 255, b'\x18^\n \x00 \x1d!\x00 \xbe']
2025-02-06 12:05:45.953 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2025, 2, 6, 11, 5, 45, 953375, tzinfo=datetime.timezone.utc), priority=0, src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xAC6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=51, profile_id=260, cluster_id=1, data=Serialized[b'\x18^\n \x00 \x1d!\x00 \xbe'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=204, rssi=-49)
2025-02-06 12:05:45.953 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Received ZCL frame: b'\x18^\n \x00 \x1d!\x00 \xbe'
2025-02-06 12:05:45.953 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x18>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=94, command_id=10, *direction=<Direction.Server_to_Client: 1>)
2025-02-06 12:05:45.954 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Decoded ZCL frame: PowerConfiguration:Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=29)), Attribute(attrid=0x0021, value=TypeValue(type=uint8_t, value=190))])
2025-02-06 12:05:45.954 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Received command 0x0A (TSN 94): Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=29)), Attribute(attrid=0x0021, value=TypeValue(type=uint8_t, value=190))])
2025-02-06 12:05:45.954 DEBUG (MainThread) [zigpy.zcl] [0xAC6C:1:0x0001] Attribute report received: battery_voltage=29, battery_percentage_remaining=190
2025-02-06 12:05:45.954 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0xAC6C:1:0x0001]: cluster_handler[power] attribute_updated - cluster[Power Configuration] attr[battery_voltage] value[29]
2025-02-06 12:05:45.954 DEBUG (MainThread) [zha.zigbee.cluster_handlers] [0xAC6C:1:0x0001]: cluster_handler[power] attribute_updated - cluster[Power Configuration] attr[battery_percentage_remaining] value[190]
2025-02-06 12:05:54.989 DEBUG (MainThread) [zha.zigbee.device] [0xAC6C](ADUROLIGHT_CSC): Device seen - marking the device available and resetting counter
2025-02-06 12:05:54.989 DEBUG (MainThread) [zha.zigbee.device] [0xAC6C](ADUROLIGHT_CSC): Update device availability -  device available: True - new availability: True - changed: False

Checklist

  • The changes are tested and work correctly
  • pre-commit checks pass / the code has been formatted using Black
  • Tests have been added to verify that the new code works

Logs of button click:

2025-02-07 16:41:08.386 DEBUG (MainThread) [zigpy.zcl] [0x8AAF:1:0xfccc] Received command 0x00 (TSN 36): b'\x00\x02\x00'
2025-02-07 16:41:08.386 DEBUG (MainThread) [zha] Emitting event zha_event with data ZHAEvent(device_ieee=00:15:8d:00:05:8c:e1:cb, unique_id='00:15:8d:00:05:8c:e1:cb', data={'unique_id': '00:15:8d:00:05:8c:e1:cb:1:0xfccc', 'endpoint_id': 1, 'cluster_id': 64716, 'command': 'button_3_remote_button_short_press', 'args': {'button': 'button_3', 'press_type': 'remote_button_short_press'}, 'params': {}}, event_type='zha_event', event='zha_event') (1 listeners)

image

@Jeroeny Jeroeny force-pushed the adurosmart-eria branch 3 times, most recently from ec7cad8 to 8971869 Compare February 7, 2025 12:56
Copy link

codecov bot commented Feb 7, 2025

Codecov Report

Attention: Patch coverage is 40.38462% with 31 lines in your changes missing coverage. Please review.

Project coverage is 90.68%. Comparing base (8b92f69) to head (87d7b7f).

Files with missing lines Patch % Lines
zhaquirks/aduro/adurosmart_eria.py 40.38% 31 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #3835      +/-   ##
==========================================
- Coverage   90.93%   90.68%   -0.25%     
==========================================
  Files         326      327       +1     
  Lines       10591    10643      +52     
==========================================
+ Hits         9631     9652      +21     
- Misses        960      991      +31     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant