zha-device-handlers: [Legrand wireless switch product id 7 522 85]
Probleme I used a Legrand 7 522 85 wireless On/Off switch until last week integrated in HA (Home Assistant 2023.1.0) with Sonoff Zigbee 3.0 Dongle Plus-E. The switch fired ZHA event e.g.: device_ieee: 00:04:74:00:00:c1:c3:be, endpoint_id: 1, command: “off” and I was able to use it for automatization. I had to change the battery and reconnect to the system. The switch is reconnected, but fire only “Checking event.” Do not fire any events on push of the buttons. I tried to reconnect several time the reason is the same. I have a Legrand gateway as well and paired to this the switch. In the Legrand system the switch worked. I reset and connected again to HA, the result same, no event fired. Link to the switch: https://vikiwat.com/wireless-switch-netatmo-752285-vallena-life-cream-legrand Link to the Legrand developer site https://developer.legrand.com/documentation/compatible-product/ Wireless Switch On / Off, Cloud type: NLTOO, Product type ZLE18 is declared ZigBee 3.0 compatible product.
Describe the solution you’d like I would like to use again the switch
Signatures
{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=1, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4129, maximum_buffer_size=89, maximum_incoming_transfer_size=63, server_mask=10752, maximum_outgoing_transfer_size=63, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0104",
"in_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x000f",
"0x0020",
"0xfc01"
],
"out_clusters": [
"0x0000",
"0x0003",
"0x0006",
"0x0008",
"0x0019",
"0xfc01"
]
}
},
"manufacturer": " Legrand",
"model": " Remote switch",
"class": "zigpy.device.Device"
}
Diagnostic information
{
"home_assistant": {
"installation_type": "Home Assistant Container",
"version": "2023.1.0",
"dev": false,
"hassio": false,
"virtualenv": false,
"python_version": "3.10.7",
"docker": true,
"arch": "x86_64",
"timezone": "Europe/Budapest",
"os_name": "Linux",
"os_version": "4.4.180+",
"run_as_root": true
},
"custom_components": {
"sonoff": {
"version": "3.3.1",
"requirements": [
"pycryptodome>=3.6.6"
]
},
"hacs": {
"version": "1.29.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"powercalc": {
"version": "v1.2.4",
"requirements": [
"numpy>=1.21.1"
]
}
},
"integration_manifest": {
"domain": "zha",
"name": "Zigbee Home Automation",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/zha",
"requirements": [
"bellows==0.34.5",
"pyserial==3.5",
"pyserial-asyncio==0.6",
"zha-quirks==0.0.90",
"zigpy-deconz==0.19.2",
"zigpy==0.52.3",
"zigpy-xbee==0.16.2",
"zigpy-zigate==0.10.3",
"zigpy-znp==0.9.2"
],
"usb": [
{
"vid": "10C4",
"pid": "EA60",
"description": "*2652*",
"known_devices": [
"slae.sh cc2652rb stick"
]
},
{
"vid": "1A86",
"pid": "55D4",
"description": "*sonoff*plus*",
"known_devices": [
"sonoff zigbee dongle plus v2"
]
},
{
"vid": "10C4",
"pid": "EA60",
"description": "*sonoff*plus*",
"known_devices": [
"sonoff zigbee dongle plus"
]
},
{
"vid": "10C4",
"pid": "EA60",
"description": "*tubeszb*",
"known_devices": [
"TubesZB Coordinator"
]
},
{
"vid": "1A86",
"pid": "7523",
"description": "*tubeszb*",
"known_devices": [
"TubesZB Coordinator"
]
},
{
"vid": "1A86",
"pid": "7523",
"description": "*zigstar*",
"known_devices": [
"ZigStar Coordinators"
]
},
{
"vid": "1CF1",
"pid": "0030",
"description": "*conbee*",
"known_devices": [
"Conbee II"
]
},
{
"vid": "10C4",
"pid": "8A2A",
"description": "*zigbee*",
"known_devices": [
"Nortek HUSBZB-1"
]
},
{
"vid": "0403",
"pid": "6015",
"description": "*zigate*",
"known_devices": [
"ZiGate+"
]
},
{
"vid": "10C4",
"pid": "EA60",
"description": "*zigate*",
"known_devices": [
"ZiGate"
]
},
{
"vid": "10C4",
"pid": "8B34",
"description": "*bv 2010/10*",
"known_devices": [
"Bitron Video AV2010/10"
]
}
],
"codeowners": [
"@dmulcahey",
"@adminiuga",
"@puddly"
],
"zeroconf": [
{
"type": "_esphomelib._tcp.local.",
"name": "tube*"
},
{
"type": "_zigate-zigbee-gateway._tcp.local.",
"name": "*zigate*"
},
{
"type": "_zigstar_gw._tcp.local.",
"name": "*zigstar*"
},
{
"type": "_slzb-06._tcp.local.",
"name": "slzb-06*"
}
],
"dependencies": [
"file_upload"
],
"after_dependencies": [
"onboarding",
"usb",
"zeroconf"
],
"iot_class": "local_polling",
"loggers": [
"aiosqlite",
"bellows",
"crccheck",
"pure_pcapy3",
"zhaquirks",
"zigpy",
"zigpy_deconz",
"zigpy_xbee",
"zigpy_zigate",
"zigpy_znp"
],
"is_built_in": true
},
"data": {
"ieee": "**REDACTED**",
"nwk": 38346,
"manufacturer": " Legrand",
"model": " Remote switch",
"name": " Legrand Remote switch",
"quirk_applied": false,
"quirk_class": "zigpy.device.Device",
"manufacturer_code": 4129,
"power_source": "Battery or Unknown",
"lqi": 200,
"rssi": -50,
"last_seen": "2023-01-15T09:02:55",
"available": true,
"device_type": "EndDevice",
"signature": {
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=1, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4129, maximum_buffer_size=89, maximum_incoming_transfer_size=63, server_mask=10752, maximum_outgoing_transfer_size=63, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
"endpoints": {
"1": {
"profile_id": 260,
"device_type": "0x0104",
"in_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x000f",
"0x0020",
"0xfc01"
],
"out_clusters": [
"0x0000",
"0x0003",
"0x0006",
"0x0008",
"0x0019",
"0xfc01"
]
}
}
},
"active_coordinator": false,
"entities": [
{
"entity_id": "binary_sensor.legrand_remote_switch_binaryinput",
"name": " Legrand Remote switch"
},
{
"entity_id": "button.legrand_remote_switch_identify",
"name": " Legrand Remote switch"
},
{
"entity_id": "sensor.legrand_remote_switch_battery",
"name": " Legrand Remote switch"
}
],
"neighbors": [],
"routes": [],
"endpoint_names": [
{
"name": "DIMMER_SWITCH"
}
],
"user_given_name": null,
"device_reg_id": "deacccf32b613bd0872ee84f705d9c79",
"area_id": "eloszoba",
"cluster_details": {
"1": {
"device_type": {
"name": "DIMMER_SWITCH",
"id": 260
},
"profile_id": 260,
"in_clusters": {
"0x0000": {
"endpoint_attribute": "basic",
"attributes": {
"0x0004": {
"attribute_name": "manufacturer",
"value": " Legrand"
},
"0x0005": {
"attribute_name": "model",
"value": " Remote switch"
}
},
"unsupported_attributes": {}
},
"0x0003": {
"endpoint_attribute": "identify",
"attributes": {},
"unsupported_attributes": {}
},
"0x000f": {
"endpoint_attribute": "binary_input",
"attributes": {
"0x0055": {
"attribute_name": "present_value",
"value": 0
}
},
"unsupported_attributes": {}
},
"0x0020": {
"endpoint_attribute": "poll_control",
"attributes": {
"0x0000": {
"attribute_name": "checkin_interval",
"value": 13200
}
},
"unsupported_attributes": {}
},
"0x0001": {
"endpoint_attribute": "power",
"attributes": {
"0x0020": {
"attribute_name": "battery_voltage",
"value": 28
}
},
"unsupported_attributes": {
"0x0021": {
"attribute_name": "battery_percentage_remaining"
},
"0x0033": {
"attribute_name": "battery_quantity"
},
"0x0031": {
"attribute_name": "battery_size"
}
}
},
"0xfc01": {
"endpoint_attribute": "manufacturer_specific",
"attributes": {},
"unsupported_attributes": {}
}
},
"out_clusters": {
"0x0003": {
"endpoint_attribute": "identify",
"attributes": {},
"unsupported_attributes": {}
},
"0x0006": {
"endpoint_attribute": "on_off",
"attributes": {},
"unsupported_attributes": {}
},
"0x0008": {
"endpoint_attribute": "level",
"attributes": {},
"unsupported_attributes": {}
},
"0x0000": {
"endpoint_attribute": "basic",
"attributes": {},
"unsupported_attributes": {}
},
"0xfc01": {
"endpoint_attribute": "manufacturer_specific",
"attributes": {},
"unsupported_attributes": {}
},
"0x0019": {
"endpoint_attribute": "ota",
"attributes": {},
"unsupported_attributes": {}
}
}
}
}
}
}
Add device log
0xC91F](S26R2ZB): Device seen - marking the device available and resetting counter
[0xC91F](S26R2ZB): Update device availability - device available: True - new availability: True - changed: False
[0xFE3D](TS0011): last_seen is 1984002.010282278 seconds ago and ping attempts have been exhausted, marking the device unavailable
[0xFE3D](TS0011): Update device availability - device available: False - new availability: False - changed: False
[0xF808](01MINIZB): Device seen - marking the device available and resetting counter
[0xF808](01MINIZB): Update device availability - device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2DC8), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=158, profile_id=260, cluster_id=6, data=Serialized[b'\x08\x01\n\x00\x00(\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=132, rssi=-67)
[0x2DC8:1:0x0006] Received ZCL frame: b'\x08\x01\n\x00\x00(\x00'
[0x2DC8:1:0x0006] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=1, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2DC8:1:0x0006] Decoded ZCL frame: OnOff:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int8s, value=0))])
[0x2DC8:1:0x0006] Received command 0x0A (TSN 1): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int8s, value=0))])
[0x2DC8:1:0x0006] Attribute report received: on_off=0
[0x2DC8:1:0x0006] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=1, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2DC8:1:0x0006] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0x2DC8](01MINIZB): Device seen - marking the device available and resetting counter
[0x2DC8](01MINIZB): Update device availability - device available: True - new availability: True - changed: False
[0x59F7](S26R2ZB): Device seen - marking the device available and resetting counter
[0x59F7](S26R2ZB): Update device availability - device available: True - new availability: True - changed: False
[0xA517](SML003): Device seen - marking the device available and resetting counter
[0xA517](SML003): Update device availability - device available: True - new availability: True - changed: False
[0xB30B](S26R2ZB): Device seen - marking the device available and resetting counter
[0xB30B](S26R2ZB): Update device availability - device available: True - new availability: True - changed: False
[0xB593](RDM001): Device seen - marking the device available and resetting counter
[0xB593](RDM001): Update device availability - device available: True - new availability: True - changed: False
[0xD8BF](TS0601): Device seen - marking the device available and resetting counter
[0xD8BF](TS0601): Update device availability - device available: True - new availability: True - changed: False
[0x9DE8](MS01): Device seen - marking the device available and resetting counter
[0x9DE8](MS01): Update device availability - device available: True - new availability: True - changed: False
[0x0FCF](MS01): Device seen - marking the device available and resetting counter
[0x0FCF](MS01): Update device availability - device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xBDB0), 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=1, data=Serialized[b'\x18\r\n \x00 \x1e'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
[0xBDB0:1:0x0001] Received ZCL frame: b'\x18\r\n \x00 \x1e'
[0xBDB0:1:0x0001] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=13, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0xBDB0:1:0x0001] Decoded ZCL frame: PowerConfigurationCluster:Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=30))])
[0xBDB0:1:0x0001] Received command 0x0A (TSN 13): Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=30))])
[0xBDB0:1:0x0001] Attribute report received: battery_voltage=30
[0xBDB0:1:0x0001] Voltage [RAW]:30 [Max]:2.8 [Min]:1.5, Battery Percent: 100.0
[0xA63E](TS0011): Device seen - marking the device available and resetting counter
[0xA63E](TS0011): Update device availability - device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE08E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=66, profile_id=260, cluster_id=6, data=Serialized[b'\x08>\n\x00\x00(\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=136, rssi=-66)
[0xE08E:1:0x0006] Received ZCL frame: b'\x08>\n\x00\x00(\x00'
[0xE08E:1:0x0006] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=62, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0xE08E:1:0x0006] Decoded ZCL frame: OnOff:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int8s, value=0))])
[0xE08E:1:0x0006] Received command 0x0A (TSN 62): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int8s, value=0))])
[0xE08E:1:0x0006] Attribute report received: on_off=0
[0xE08E:1:0x0006] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=62, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0xE08E:1:0x0006] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0xB15F](SML004): Device seen - marking the device available and resetting counter
[0xB15F](SML004): Update device availability - device available: True - new availability: True - changed: False
[0xEB80](DS01): Device seen - marking the device available and resetting counter
[0xEB80](DS01): Update device availability - device available: True - new availability: True - changed: False
[0xAAB9](01MINIZB): Device seen - marking the device available and resetting counter
[0xAAB9](01MINIZB): Update device availability - device available: True - new availability: True - changed: False
Device 0xfefc (00:04:74:00:00:c1:c3:be) joined the network
Device 00:04:74:00:00:c1:c3:be changed id (0x9863 => 0xfefc)
[0xfefc] Scheduling initialization
Tries remaining: 3
[0xfefc] Requesting 'Node Descriptor'
Tries remaining: 2
[0xfefc] Extending timeout for 0x46 request
Device 0xfefc (00:04:74:00:00:c1:c3:be) joined the network
[0xfefc] Scheduling initialization
[0xfefc] Canceling old initialize call
Tries remaining: 3
[0xfefc] Requesting 'Node Descriptor'
Tries remaining: 2
[0xfefc] Extending timeout for 0x48 request
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=64, profile_id=0, cluster_id=2, data=Serialized[b'\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
Received frame on uninitialized device <Device model=None manuf=None nwk=0xFEFC ieee=00:04:74:00:00:c1:c3:be is_initialized=False> from ep 0 to ep 0, cluster 2: b'\x00\x00\x00'
[0xfefc:zdo] ZDO request ZDOCmd.Node_Desc_req: [0x0000]
[0xfefc:zdo] No handler for ZDO request:ZDOCmd.Node_Desc_req([0x0000])
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=65, profile_id=0, cluster_id=32770, data=Serialized[b'F\x00\xfc\xfe\x12@\x80!\x10Y?\x00\x00*?\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=128, rssi=-68)
Received frame on uninitialized device <Device model=None manuf=None nwk=0xFEFC ieee=00:04:74:00:00:c1:c3:be is_initialized=False> from ep 0 to ep 0, cluster 32770: b'F\x00\xfc\xfe\x12@\x80!\x10Y?\x00\x00*?\x00\x00'
[0xfefc:zdo] ZDO request ZDOCmd.Node_Desc_rsp: [<Status.SUCCESS: 0>, 0xFEFC, NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=1, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4129, maximum_buffer_size=89, maximum_incoming_transfer_size=63, server_mask=10752, maximum_outgoing_transfer_size=63, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)]
[0xfefc:zdo] No handler for ZDO request:ZDOCmd.Node_Desc_rsp([<Status.SUCCESS: 0>, 0xFEFC, NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=1, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4129, maximum_buffer_size=89, maximum_incoming_transfer_size=63, server_mask=10752, maximum_outgoing_transfer_size=63, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)])
[0xE08E](01MINIZB): Device seen - marking the device available and resetting counter
[0xE08E](01MINIZB): Update device availability - device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.Broadcast: 15>, address=<BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>), dst_ep=0, source_route=None, extended_timeout=False, tsn=68, profile_id=0, cluster_id=54, data=Serialized[b'\x01\xb4\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=128, rssi=-68)
Received frame on uninitialized device <Device model=None manuf=None nwk=0xFEFC ieee=00:04:74:00:00:c1:c3:be is_initialized=False> from ep 0 to ep 0, cluster 54: b'\x01\xb4\x01'
[0xfefc:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_req: [180, <Bool.true: 1>]
[0x7044](WB01): Device seen - marking the device available and resetting counter
[0x7044](WB01): Update device availability - device available: True - new availability: True - changed: False
[0x80A9](MS01): Device seen - marking the device available and resetting counter
[0x80A9](MS01): Update device availability - device available: True - new availability: True - changed: False
[0xEAAE](MS01): Device seen - marking the device available and resetting counter
[0xEAAE](MS01): Update device availability - device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=70, profile_id=260, cluster_id=0, data=Serialized[b'\x14!\x10\x03\x00\x00\xf0'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
Received frame on uninitialized device <Device model=None manuf=None nwk=0xFEFC ieee=00:04:74:00:00:c1:c3:be is_initialized=False> from ep 1 to ep 1, cluster 0: b'\x14!\x10\x03\x00\x00\xf0'
[0xfefc] Received ZCL while uninitialized on endpoint id 1, cluster 0x0000 id, hdr: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 0>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), manufacturer=4129, tsn=3, command_id=0, *direction=<Direction.Server_to_Client: 0>, *is_reply=False), payload: b'\x00\xf0'
[0xfefc] Uninitialized device command '0' params: Read_Attributes(attribute_ids=[61440])
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.Broadcast: 15>, address=<BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>), dst_ep=0, source_route=None, extended_timeout=False, tsn=71, profile_id=0, cluster_id=19, data=Serialized[b'\x02\xfc\xfe\xbe\xc3\xc1\x00\x00t\x04\x00\x80'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
Device 0xfefc (00:04:74:00:00:c1:c3:be) joined the network
[0xfefc] Scheduling initialization
[0xfefc] Canceling old initialize call
Received frame on uninitialized device <Device model=None manuf=None nwk=0xFEFC ieee=00:04:74:00:00:c1:c3:be is_initialized=False> from ep 0 to ep 0, cluster 19: b'\x02\xfc\xfe\xbe\xc3\xc1\x00\x00t\x04\x00\x80'
[0xfefc:zdo] ZDO request ZDOCmd.Device_annce: [0xFEFC, 00:04:74:00:00:c1:c3:be, 128]
Tries remaining: 3
[0xfefc] Requesting 'Node Descriptor'
Tries remaining: 2
[0xfefc] Extending timeout for 0x4a request
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=72, profile_id=0, cluster_id=32770, data=Serialized[b'J\x00\xfc\xfe\x12@\x80!\x10Y?\x00\x00*?\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
Received frame on uninitialized device <Device model=None manuf=None nwk=0xFEFC ieee=00:04:74:00:00:c1:c3:be is_initialized=False> from ep 0 to ep 0, cluster 32770: b'J\x00\xfc\xfe\x12@\x80!\x10Y?\x00\x00*?\x00\x00'
[0xfefc] Got Node Descriptor: NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=1, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4129, maximum_buffer_size=89, maximum_incoming_transfer_size=63, server_mask=10752, maximum_outgoing_transfer_size=63, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)
[0xfefc] Discovering endpoints
Tries remaining: 3
[0xfefc] Extending timeout for 0x4c request
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=73, profile_id=0, cluster_id=32773, data=Serialized[b'L\x00\xfc\xfe\x01\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
Received frame on uninitialized device <Device model=None manuf=None nwk=0xFEFC ieee=00:04:74:00:00:c1:c3:be is_initialized=False> from ep 0 to ep 0, cluster 32773: b'L\x00\xfc\xfe\x01\x01'
[0xfefc] Discovered endpoints: [1]
[0xfefc] Initializing endpoints [<Endpoint id=1 in=[] out=[] status=<Status.NEW: 0>>]
[0xfefc:1] Discovering endpoint information
Tries remaining: 3
[0xfefc] Extending timeout for 0x4e request
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=74, profile_id=0, cluster_id=32772, data=Serialized[b'N\x00\xfc\xfe \x01\x04\x01\x04\x01\x01\x06\x00\x00\x03\x00\x0f\x00 \x00\x01\x00\x01\xfc\x06\x03\x00\x06\x00\x08\x00\x00\x00\x01\xfc\x19\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
Received frame on uninitialized device <Device model=None manuf=None nwk=0xFEFC ieee=00:04:74:00:00:c1:c3:be is_initialized=False> from ep 0 to ep 0, cluster 32772: b'N\x00\xfc\xfe \x01\x04\x01\x04\x01\x01\x06\x00\x00\x03\x00\x0f\x00 \x00\x01\x00\x01\xfc\x06\x03\x00\x06\x00\x08\x00\x00\x00\x01\xfc\x19\x00'
[0xfefc:1] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=260, device_version=1, input_clusters=[0, 3, 15, 32, 1, 64513], output_clusters=[3, 6, 8, 0, 64513, 25])
[0xFEFC:1:0x0000] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=80, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>, *is_reply=False)
[0xFEFC:1:0x0000] Sending request: Read_Attributes(attribute_ids=[4, 5])
[0xfefc] Extending timeout for 0x50 request
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=75, profile_id=260, cluster_id=0, data=Serialized[b'\x18P\x01\x04\x00\x00B\x1f Legrand\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00B\x1f Remote switch\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
[0xFEFC:1:0x0000] Received ZCL frame: b'\x18P\x01\x04\x00\x00B\x1f Legrand\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00B\x1f Remote switch\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
[0xFEFC:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=80, command_id=1, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0xFEFC:1:0x0000] Decoded ZCL frame: Basic:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0004, status=<Status.SUCCESS: 0>, value=TypeValue(type=CharacterString, value=' Legrand')), ReadAttributeRecord(attrid=0x0005, status=<Status.SUCCESS: 0>, value=TypeValue(type=CharacterString, value=' Remote switch'))])
[0xfefc] Read model ' Remote switch' and manufacturer ' Legrand' from <Endpoint id=1 in=[basic:0x0000, identify:0x0003, binary_input:0x000F, poll_control:0x0020, power:0x0001, manufacturer_specific:0xFC01] out=[identify:0x0003, on_off:0x0006, level:0x0008, basic:0x0000, manufacturer_specific:0xFC01, ota:0x0019] status=<Status.ZDO_INIT: 1>>
[0xfefc] Discovered basic device information for <Device model=' Remote switch' manuf=' Legrand' nwk=0xFEFC ieee=00:04:74:00:00:c1:c3:be is_initialized=True>
Device is initialized <Device model=' Remote switch' manuf=' Legrand' nwk=0xFEFC ieee=00:04:74:00:00:c1:c3:be is_initialized=True>
Checking quirks for Legrand Remote switch (00:04:74:00:00:c1:c3:be)
Considering <class 'zhaquirks.xiaomi.aqara.opple_switch.XiaomiOpple2ButtonSwitchFace2'>
Fail because endpoint list mismatch: {1, 2, 242} {1}
Considering <class 'zhaquirks.xiaomi.aqara.opple_switch.XiaomiOpple2ButtonSwitchFace1'>
Fail because endpoint list mismatch: {1, 2, 41, 42, 242, 51, 21, 31} {1}
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {1}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {1}
Considering <class 'zhaquirks.tuya.ts0201.MoesTemperatureHumidtySensorWithScreen'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {1}
'binary_sensor' component -> 'BinaryInput' using ['binary_input']
'button' component -> 'ZHAIdentifyButton' using ['identify']
'sensor' component -> 'Battery' using ['power']
'sensor' component -> 'RSSISensor' using ['basic']
'sensor' component -> 'LQISensor' using ['basic']
device - 0xfefc:00:04:74:00:00:c1:c3:be entering async_device_initialized - is_new_join: True
device - 0xfefc:00:04:74:00:00:c1:c3:be has joined the ZHA zigbee network
[0xfefc]( Remote switch): started configuration
[0xfefc:ZDO]( Remote switch): 'async_configure' stage succeeded
[0xfefc:1:0x0001]: Performing cluster binding
[0xfefc] Extending timeout for 0x52 request
[0xfefc:1:0x0003]: Configuring cluster attribute reporting
[0xfefc:1:0x0003]: finished channel configuration
[0xfefc:1:0x0000]: Configuring cluster attribute reporting
[0xfefc:1:0x0000]: finished channel configuration
[0xfefc:1:0x000f]: Performing cluster binding
[0xfefc] Extending timeout for 0x54 request
[0xfefc:1:0x0020]: Performing cluster binding
[0xfefc] Extending timeout for 0x56 request
[0xfefc:1:0x0008]: Performing cluster binding
[0xfefc] Extending timeout for 0x58 request
[0xfefc:1:0x0006]: Performing cluster binding
[0xfefc] Extending timeout for 0x5a request
[0xfefc:1:0x0019]: finished channel configuration
Error handling '_save_attribute' event with (00:04:74:00:00:c1:c3:be, 1, 0, 4, ' Legrand') params: FOREIGN KEY constraint failed
Error handling '_save_attribute' event with (00:04:74:00:00:c1:c3:be, 1, 0, 5, ' Remote switch') params: FOREIGN KEY constraint failed
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=76, profile_id=0, cluster_id=32801, data=Serialized[b'R\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
[0xfefc:1:0x0001]: bound 'power' cluster: Status.SUCCESS
[0xfefc:1:0x0001]: Configuring cluster attribute reporting
[0xFEFC:1:0x0001] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=92, command_id=<GeneralCommand.Configure_Reporting: 6>, *direction=<Direction.Server_to_Client: 0>, *is_reply=False)
[0xFEFC:1:0x0001] Sending request: Configure_Reporting(config_records=[AttributeReportingConfig(direction=0, attrid=0x0020, datatype=32, min_interval=3600, max_interval=10800, reportable_change=1), AttributeReportingConfig(direction=0, attrid=0x0021, datatype=32, min_interval=3600, max_interval=10800, reportable_change=1)])
[0xfefc] Extending timeout for 0x5c request
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=77, profile_id=0, cluster_id=32801, data=Serialized[b'T\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
[0xfefc:1:0x000f]: bound 'binary_input' cluster: Status.SUCCESS
[0xfefc:1:0x000f]: Configuring cluster attribute reporting
[0xFEFC:1:0x000f] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=94, command_id=<GeneralCommand.Configure_Reporting: 6>, *direction=<Direction.Server_to_Client: 0>, *is_reply=False)
[0xFEFC:1:0x000f] Sending request: Configure_Reporting(config_records=[AttributeReportingConfig(direction=0, attrid=0x0055, datatype=16, min_interval=30, max_interval=900, reportable_change=1)])
[0xfefc] Extending timeout for 0x5e request
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xFEFC), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=78, profile_id=260, cluster_id=1, data=Serialized[b'\x18\\\x07\x8c\x00 \x00\x86\x00!\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69)
[0xFEFC:1:0x0001] Received ZCL frame: b'\x18\\\x07\x8c\x00 \x00\x86\x00!\x00'
[0xFEFC:1:0x0001] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=92, command_id=7, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0xFEFC:1:0x0001] Decoded ZCL frame: PowerConfiguration:Configure_Reporting_rsp(status_records=[ConfigureReportingResponseRecord(status=<Status.UNREPORTABLE_ATTRIBUTE: 140>, direction=<ReportingDirection.SendReports: 0>, attrid=32), ConfigureReportingResponseRecord(status=<Status.UNSUPPORTED_ATTRIBUTE: 134>, direction=<ReportingDirection.SendReports: 0>, attrid=33)])
[0xfefc:1:0x0001]: Successfully configured reporting for 'set()' on 'power' cluster
[0xfefc:1:0x0001]: Failed to configure reporting for '['battery_voltage', 'battery_percentage_remaining']' on 'power' cluster: [ConfigureReportingResponseRecord(status=<Status.UNREPORTABLE_ATTRIBUTE: 140>, direction=<ReportingDirection.SendReports: 0>, attrid=32), ConfigureReportingResponseRecord(status=<Status.UNSUPPORTED_ATTRIBUTE: 134>, direction=<ReportingDirection.SendReports: 0>, attrid=33)]
[0xfefc:1:0x0001]: finished channel configuration
Additional context Add any other context or screenshots about the feature request here.
About this issue
- Original URL
- State: closed
- Created a year ago
- Comments: 22 (6 by maintainers)
I tried several type before, but I wanted to answer you after I made the test again. I found the info in HA community pages, that the device(s) come back automatically if they are not factory reset. I deleted the switch and did a factory reset with 20 second push on the EZ button. Waited 5 minutes. I started the Add device process. Pushed 1 second the EZ (pairing) button on the switch. Green light started blinking about 10-15 second. I pushed per second the Off button until the process stopped, about 30-40 second. On/Off cluster binded, the switch fire On / Off event 😃 I guess the battery clusters didn’t binded, no battery info 😦 But I’m happy that it works again 😃 Where can I see the the bindings if I missed to save the Binding login? I download the diagnostic data of the device and compared the working and not working variant. They are the same there and there isn’t any infromation about bindings… Thanks for you both!!!
No, I didn’t use the custom quirk. I was able to bind with the standard. “zigpy.device.Device”
Hi! I did what you suggested.
I add the missing “,” at the end of the first device line, with this update the quirk is loaded without crashing. home-assistant_2023-01-16T13-06-30.798Z.log
The device signature lists that the quirk is used. Signature.txt
The switch is as a binary input sensor detected, as before and only fires “Legrand Remote switch Checkin event was fired” No any response on push Off or On buttons. Thanks!