zigpy / zha-device-handlers

ZHA device handlers bridge the functionality gap created when manufacturers deviate from the ZCL specification, handling deviations and exceptions by parsing custom messages to and from Zigbee devices.
Apache License 2.0
721 stars 669 forks source link

[Device Support Request] _TZE200_rmymn92d #3269

Open andy116996 opened 1 month ago

andy116996 commented 1 month ago

Problem description

Hi, Apologies, I am new to HA and do not have a programming background.
I have a "_TZE200_rmymn92d", "TS0601" covers motor (model number BCM100DE-TYZ(R)) that I can add to Home Assistant through ZHA however no attributes are available for it. I have tried adding it to the ts0601_cover.py quirk (I have tried adding to all sections of this quirk) however this is for some reason not working. The quirk itself is not even being applied to the device. based on this I am not sure if it is quirk issue or some other issue that is stopping the quirk being applied to the device. I have one other different device (energy meter) that does get the quirk applied thus I think ZHA toolkit is installed correctly. Any help would be appreciated. Thanks in advance.

Solution description

I would like the blind motor to be controllable through HA

Screenshots/Video

Screenshots/Video [Paste/upload your media here]

image

Device signature

Device signature ```json [Paste the device signature here] ```

{ "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, allocate_address=True, is_alternate_pan_coordinator=False, is_coordinator=False, is_end_device=False, is_full_function_device=True, is_mains_powered=True, is_receiver_on_when_idle=True, is_router=True, *is_security_capable=False)", "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0051", "input_clusters": [ "0x0000", "0x0004", "0x0005", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] }, "242": { "profile_id": "0xa1e0", "device_type": "0x0061", "input_clusters": [], "output_clusters": [ "0x0021" ] } }, "manufacturer": "_TZE200_rmymn92d", "model": "TS0601", "class": "zigpy.device.Device" }

Diagnostic information

Diagnostic information ```json [Paste the diagnostic information here] ```

{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.7.3", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.4", "docker": true, "arch": "x86_64", "timezone": "Australia/Sydney", "os_name": "Linux", "os_version": "6.6.33-haos", "supervisor": "2024.06.2", "host_os": "Home Assistant OS 12.4", "docker_version": "26.1.4", "chassis": "vm", "run_as_root": true }, "custom_components": { "mass": { "documentation": "https://music-assistant.io", "version": "2024.6.2", "requirements": [ "music-assistant==2.0.6" ] }, "extended_openai_conversation": { "documentation": "https://github.com/jekalmin/extended_openai_conversation", "version": "1.0.3", "requirements": [ "openai~=1.3.8" ] }, "hacs": { "documentation": "https://hacs.xyz/docs/configuration/start", "version": "1.34.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "pfsense": { "documentation": "https://github.com/travisghansen/hass-pfsense", "version": "0.1.0", "requirements": [ "mac-vendor-lookup>=0.1.11" ] }, "zha_toolkit": { "documentation": "https://github.com/mdeweerd/zha-toolkit", "version": "v1.1.10", "requirements": [ "pytz" ] }, "rinnaitouch": { "documentation": "https://github.com/funtastix/rinnaitouch", "version": "0.12.14", "requirements": [ "pyrinnaitouch>=0.12.14" ] }, "yamaha_ynca": { "documentation": "https://github.com/mvdwetering/yamaha_ynca", "version": "7.9.0", "requirements": [ "ynca==5.15.0" ] }, "localtuya": { "documentation": "https://github.com/rospogrigio/localtuya/", "version": "5.2.1", "requirements": [] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "after_dependencies": [ "onboarding", "usb" ], "codeowners": [ "dmulcahey", "adminiuga", "puddly", "TheJulianJES" ], "config_flow": true, "dependencies": [ "file_upload" ], "documentation": "https://www.home-assistant.io/integrations/zha", "iot_class": "local_polling", "loggers": [ "aiosqlite", "bellows", "crccheck", "pure_pcapy3", "zhaquirks", "zigpy", "zigpy_deconz", "zigpy_xbee", "zigpy_zigate", "zigpy_znp", "universal_silabs_flasher" ], "requirements": [ "bellows==0.39.1", "pyserial==3.5", "zha-quirks==0.0.117", "zigpy-deconz==0.23.2", "zigpy==0.64.1", "zigpy-xbee==0.20.1", "zigpy-zigate==0.12.1", "zigpy-znp==0.12.2", "universal-silabs-flasher==0.0.20", "pyserial-asyncio-fast==0.11" ], "usb": [ { "vid": "10C4", "pid": "EA60", "description": "2652", "known_devices": [ "slae.sh cc2652rb stick" ] }, { "vid": "10C4", "pid": "EA60", "description": "slzb-07", "known_devices": [ "smlight slzb-07" ] }, { "vid": "1A86", "pid": "55D4", "description": "sonoffplus", "known_devices": [ "sonoff zigbee dongle plus v2" ] }, { "vid": "10C4", "pid": "EA60", "description": "sonoffplus", "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": "0403", "pid": "6015", "description": "conbee", "known_devices": [ "Conbee III" ] }, { "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" ] } ], "zeroconf": [ { "type": "_esphomelib._tcp.local.", "name": "tube" }, { "type": "_zigate-zigbee-gateway._tcp.local.", "name": "zigate" }, { "type": "_zigstar_gw._tcp.local.", "name": "zigstar" }, { "type": "_uzg-01._tcp.local.", "name": "uzg-01" }, { "type": "_slzb-06._tcp.local.", "name": "slzb-06" }, { "type": "_xzg._tcp.local.", "name": "xzg" }, { "type": "_czc._tcp.local.", "name": "czc" } ], "is_built_in": true }, "setup_times": { "null": { "setup": 6.750399916199967e-05 }, "f96557f7f218cdb7f6b793a0b10a57c8": { "wait_import_platforms": -0.00015790900215506554, "wait_base_component": -0.0005363319942262024, "config_entry_setup": 14.989450733999547 } }, "data": { "ieee": "REDACTED", "nwk": 57867, "manufacturer": "_TZE200_rmymn92d", "model": "TS0601", "name": "_TZE200_rmymn92d TS0601", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "quirk_id": null, "manufacturer_code": 4417, "power_source": "Mains", "lqi": 104, "rssi": -74, "last_seen": "2024-07-23T13:57:58", "available": true, "device_type": "Router", "signature": { "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, allocate_address=True, is_alternate_pan_coordinator=False, is_coordinator=False, is_end_device=False, is_full_function_device=True, is_mains_powered=True, is_receiver_on_when_idle=True, is_router=True, is_security_capable=False)", "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0051", "input_clusters": [ "0x0000", "0x0004", "0x0005", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] }, "242": { "profile_id": "0xa1e0", "device_type": "0x0061", "input_clusters": [], "output_clusters": [ "0x0021" ] } }, "manufacturer": "_TZE200_rmymn92d", "model": "TS0601" }, "active_coordinator": false, "entities": [ { "entity_id": "update.tze200_rmymn92d_ts0601_firmware", "name": "_TZE200_rmymn92d TS0601" } ], "neighbors": [], "routes": [], "endpoint_names": [ { "name": "SMART_PLUG" }, { "name": "PROXY_BASIC" } ], "user_given_name": null, "device_reg_id": "8d79981fd3463b84ba7821729412fc6e", "area_id": null, "cluster_details": { "1": { "device_type": { "name": "SMART_PLUG", "id": 81 }, "profile_id": 260, "in_clusters": { "0x0004": { "endpoint_attribute": "groups", "attributes": {}, "unsupported_attributes": {} }, "0x0005": { "endpoint_attribute": "scenes", "attributes": {}, "unsupported_attributes": {} }, "0xef00": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} }, "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0001": { "attribute_name": "app_version", "value": 70 }, "0x0004": { "attribute_name": "manufacturer", "value": "_TZE200_rmymn92d" }, "0x0005": { "attribute_name": "model", "value": "TS0601" } }, "unsupported_attributes": {} } }, "out_clusters": { "0x0019": { "endpoint_attribute": "ota", "attributes": { "0x0002": { "attribute_name": "current_file_version", "value": 70 } }, "unsupported_attributes": {} }, "0x000a": { "endpoint_attribute": "time", "attributes": {}, "unsupported_attributes": {} } } }, "242": { "device_type": { "name": "PROXY_BASIC", "id": 97 }, "profile_id": 41440, "in_clusters": {}, "out_clusters": { "0x0021": { "endpoint_attribute": "green_power", "attributes": {}, "unsupported_attributes": {} } } } } } }

Logs

Logs ```python [Paste the logs here] ```

Custom quirk

Custom quirk ```python [Paste your custom quirk here] ```

Additional information

No response

andy116996 commented 1 month ago

Log output from ZHA for adding the device

Received frame on uninitialized device from ep 1 to ep 1, cluster 61184: Serialized[b'\t5\x11\x00\x0c@'] [0xf11e] Received ZCL while uninitialized on endpoint id 1, cluster 0xef00 id, hdr: ZCLHeader(frame_control=FrameControl<0x09>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=0, reserved=0, is_cluster=True, is_general=False), tsn=53, command_id=17, direction=<Direction.Server_to_Client: 1>), payload: b'\x00\x0c@' Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 39, 232645, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), 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=61184, data=Serialized[b'\x196\x01\x00\x00\x03\x02\x00\x04\x00\x00\x002'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) Received frame on uninitialized device from ep 1 to ep 1, cluster 61184: Serialized[b'\x196\x01\x00\x00\x03\x02\x00\x04\x00\x00\x002'] [0xf11e] Received ZCL while uninitialized on endpoint id 1, cluster 0xef00 id, hdr: ZCLHeader(frame_control=FrameControl<0x19>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, is_cluster=True, is_general=False), tsn=54, command_id=1, direction=<Direction.Server_to_Client: 1>), payload: b'\x00\x00\x03\x02\x00\x04\x00\x00\x002' Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 39, 431194, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), 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=61184, data=Serialized[b'\t5\x11\x00\x0c@'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) Received frame on uninitialized device from ep 1 to ep 1, cluster 61184: Serialized[b'\t5\x11\x00\x0c@'] [0xf11e] Received ZCL while uninitialized on endpoint id 1, cluster 0xef00 id, hdr: ZCLHeader(frame_control=FrameControl<0x09>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=0, reserved=0, is_cluster=True, is_general=False), tsn=53, command_id=17, direction=<Direction.Server_to_Client: 1>), payload: b'\x00\x0c@' Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 39, 632285, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), 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=61184, data=Serialized[b'\t5\x11\x00\x0c@'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) Received frame on uninitialized device from ep 1 to ep 1, cluster 61184: Serialized[b'\t5\x11\x00\x0c@'] [0xf11e] Received ZCL while uninitialized on endpoint id 1, cluster 0xef00 id, hdr: ZCLHeader(frame_control=FrameControl<0x09>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=0, reserved=0, is_cluster=True, is_general=False), tsn=53, command_id=17, direction=<Direction.Server_to_Client: 1>), payload: b'\x00\x0c@' Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 39, 832099, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), 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=61184, data=Serialized[b'\t5\x11\x00\x0c@'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) Received frame on uninitialized device from ep 1 to ep 1, cluster 61184: Serialized[b'\t5\x11\x00\x0c@'] [0xf11e] Received ZCL while uninitialized on endpoint id 1, cluster 0xef00 id, hdr: ZCLHeader(frame_control=FrameControl<0x09>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=0, reserved=0, is_cluster=True, is_general=False), tsn=53, command_id=17, direction=<Direction.Server_to_Client: 1>), payload: b'\x00\x0c@' Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 34104, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), 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=61184, data=Serialized[b'\t5\x11\x00\x0c@'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69) Received frame on uninitialized device from ep 1 to ep 1, cluster 61184: Serialized[b'\t5\x11\x00\x0c@'] [0xf11e] Received ZCL while uninitialized on endpoint id 1, cluster 0xef00 id, hdr: ZCLHeader(frame_control=FrameControl<0x09>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=0, reserved=0, is_cluster=True, is_general=False), tsn=53, command_id=17, direction=<Direction.Server_to_Client: 1>), payload: b'\x00\x0c@' Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 333542, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), 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=10, data=Serialized[b'\x007\x00\x07\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69) Received frame on uninitialized device from ep 1 to ep 1, cluster 10: Serialized[b'\x007\x00\x07\x00'] [0xf11e] Received ZCL while uninitialized on endpoint id 1, cluster 0x000a id, hdr: ZCLHeader(frame_control=FrameControl<0x00>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, is_cluster=False, is_general=True), tsn=55, command_id=0, direction=<Direction.Client_to_Server: 0>), payload: b'\x07\x00' [0xf11e] Uninitialized device command '0' params: Read_Attributes(attribute_ids=[7]) Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 533459, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), 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=10, data=Serialized[b'\x007\x00\x07\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) Received frame on uninitialized device from ep 1 to ep 1, cluster 10: Serialized[b'\x007\x00\x07\x00'] [0xf11e] Received ZCL while uninitialized on endpoint id 1, cluster 0x000a id, hdr: ZCLHeader(frame_control=FrameControl<0x00>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, is_cluster=False, is_general=True), tsn=55, command_id=0, direction=<Direction.Client_to_Server: 0>), payload: b'\x07\x00' [0xf11e] Uninitialized device command '0' params: Read_Attributes(attribute_ids=[7]) [0xf11e] Got Node Descriptor: NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, allocate_address=True, is_alternate_pan_coordinator=False, is_coordinator=False, is_end_device=False, is_full_function_device=True, is_mains_powered=True, is_receiver_on_when_idle=True, is_router=True, is_security_capable=False) [0xf11e] Discovering endpoints Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 643821, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=220, profile_id=0, cluster_id=32770, data=Serialized[b'\x02\x00\x1e\xf1\x01@\x8eA\x11BB\x00\x00B\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69) Received frame on uninitialized device from ep 0 to ep 0, cluster 32770: Serialized[b'\x02\x00\x1e\xf1\x01@\x8eA\x11BB\x00\x00B\x00\x00'] [0xf11e] Filtering duplicate packet Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 688091, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=221, profile_id=0, cluster_id=32773, data=Serialized[b'\x03\x00\x1e\xf1\x02\x01\xf2'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) Received frame on uninitialized device from ep 0 to ep 0, cluster 32773: Serialized[b'\x03\x00\x1e\xf1\x02\x01\xf2'] [0xf11e] Discovered endpoints: [1, 242] [0xf11e] Initializing endpoints [<Endpoint id=1 in=[] out=[] status=<Status.NEW: 0>>, <Endpoint id=242 in=[] out=[] status=<Status.NEW: 0>>] [0xf11e:1] Discovering endpoint information Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 743251, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=222, profile_id=0, cluster_id=32772, data=Serialized[b'\x04\x00\x1e\xf1\x14\x01\x04\x01Q\x00\x01\x04\x04\x00\x05\x00\x00\xef\x00\x00\x02\x19\x00\n\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69) Received frame on uninitialized device from ep 0 to ep 0, cluster 32772: Serialized[b'\x04\x00\x1e\xf1\x14\x01\x04\x01Q\x00\x01\x04\x04\x00\x05\x00\x00\xef\x00\x00\x02\x19\x00\n\x00'] 0x0644: Device seen - marking the device available and resetting counter 0x0644: Update device availability - device available: True - new availability: True - changed: False [0xf11e:1] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=81, device_version=1, input_clusters=[4, 5, 61184, 0], output_clusters=[25, 10]) Unknown cluster 0xEF00 [0xf11e:242] Discovering endpoint information Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 751376, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), 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=10, data=Serialized[b'\x007\x00\x07\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=124, rssi=-69) Received frame on uninitialized device from ep 1 to ep 1, cluster 10: Serialized[b'\x007\x00\x07\x00'] [0xf11e] Received ZCL while uninitialized on endpoint id 1, cluster 0x000a id, hdr: ZCLHeader(frame_control=FrameControl<0x00>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, is_cluster=False, is_general=True), tsn=55, command_id=0, direction=<Direction.Client_to_Server: 0>), payload: b'\x07\x00' [0xf11e] Uninitialized device command '0' params: Read_Attributes(attribute_ids=[7]) Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 796859, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=224, profile_id=0, cluster_id=32772, data=Serialized[b'\x05\x00\x1e\xf1\n\xf2\xe0\xa1a\x00\x00\x00\x01!\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) Received frame on uninitialized device from ep 0 to ep 0, cluster 32772: Serialized[b'\x05\x00\x1e\xf1\n\xf2\xe0\xa1a\x00\x00\x00\x01!\x00'] [0xf11e:242] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=242, profile=41440, device_type=97, device_version=0, input_clusters=[], output_clusters=[33]) [0xF11E:1:0x0000] Sending request header: ZCLHeader(frame_control=FrameControl<0x00>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, is_cluster=False, is_general=True), tsn=6, command_id=<GeneralCommand.Read_Attributes: 0>, direction=<Direction.Client_to_Server: 0>) [0xF11E:1:0x0000] Sending request: Read_Attributes(attribute_ids=[4, 5]) 0xA7ED: Device seen - marking the device available and resetting counter 0xA7ED: Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 897900, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=225, profile_id=260, cluster_id=0, data=Serialized[b'\x18\x06\x01\x04\x00\x00B\x10_TZE200_rmymn92d\x05\x00\x00B\x06TS0601'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) [0xF11E:1:0x0000] Received ZCL frame: b'\x18\x06\x01\x04\x00\x00B\x10_TZE200_rmymn92d\x05\x00\x00B\x06TS0601' [0xF11E:1:0x0000] 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=6, command_id=1, direction=<Direction.Server_to_Client: 1>) [0xF11E:1:0x0000] Decoded ZCL frame: Basic:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0004, status=<Status.SUCCESS: 0>, value=TypeValue(type=CharacterString, value='_TZE200_rmymn92d')), ReadAttributeRecord(attrid=0x0005, status=<Status.SUCCESS: 0>, value=TypeValue(type=CharacterString, value='TS0601'))]) [0xf11e] Read model 'TS0601' and manufacturer '_TZE200_rmymn92d' from <Endpoint id=1 in=[groups:0x0004, scenes:0x0005, None:0xEF00, basic:0x0000] out=[ota:0x0019, time:0x000A] status=<Status.ZDO_INIT: 1>> [0xf11e] Discovered basic device information for Device is initialized Checking quirks for _TZE200_rmymn92d TS0601 (a4:c1:38:24:26:14:31:b6) Considering <class 'ts0601_cover.TuyaMoesCover0601'> Fail because endpoint list mismatch: {1} {1, 242} Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'> Fail because endpoint list mismatch: {232, 230} {1, 242} Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'> Fail because endpoint list mismatch: {232, 230} {1, 242} Considering <class 'zhaquirks.tuya.ts0201.MoesTemperatureHumidtySensorWithScreen'> Fail because endpoint list mismatch: {1} {1, 242} Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'> Fail because endpoint list mismatch: {1} {1, 242} Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'> Fail because endpoint list mismatch: {1} {1, 242} Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'> Fail because endpoint list mismatch: {1} {1, 242} Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'> Fail because endpoint list mismatch: {11, 13} {1, 242} Creating cluster handler for cluster id: 4 class: <class 'homeassistant.components.zha.core.cluster_handlers.general.GroupsClusterHandler'> Creating cluster handler for cluster id: 5 class: <class 'homeassistant.components.zha.core.cluster_handlers.general.ScenesClusterHandler'> Creating cluster handler for cluster id: 61184 class: <class 'homeassistant.components.zha.core.cluster_handlers.manufacturerspecific.TuyaClusterHandler'> Creating cluster handler for cluster id: 0 class: <class 'homeassistant.components.zha.core.cluster_handlers.general.BasicClusterHandler'> Discovering entities for endpoint: a4:c1:38:24:26:14:31:b6-1 'sensor' platform -> 'RSSISensor' using ['basic'] 'sensor' platform -> 'LQISensor' using ['basic'] 'update' platform -> 'ZHAFirmwareUpdateEntity' using ['ota'] Discovering entities for endpoint: a4:c1:38:24:26:14:31:b6-242 0xF11E: starting availability checks - interval: 70 Discovering entities for device: a4:c1:38:24:26:14:31:b6-_TZE200_rmymn92d TS0601 Attempting to discover quirks v2 entities for device: a4:c1:38:24:26:14:31:b6-_TZE200_rmymn92d TS0601 Device: a4:c1:38:24:26:14:31:b6-_TZE200_rmymn92d TS0601 is not a quirks v2 device - skipping discover_quirks_v2_entities device - 0xF11E:a4:c1:38:24:26:14:31:b6 entering async_device_initialized - is_new_join: True device - 0xF11E:a4:c1:38:24:26:14:31:b6 has joined the ZHA zigbee network 0xF11E: started configuration 0xF11E:ZDO: 'async_configure' stage succeeded [0xF11E:1:0x0000]: Configuring cluster attribute reporting [0xF11E:1:0x0000]: finished cluster handler configuration [0xF11E:1:0xef00]: Performing cluster binding [0xF11E:1:0x0019]: finished cluster handler configuration [0xF11E:1:0x0019]: finished cluster handler configuration Error handling '_save_attribute' event with (a4:c1:38:24:26:14:31:b6, 1, <ClusterType.Server: 0>, 0, 4, '_TZE200_rmymn92d', datetime.datetime(2024, 7, 23, 10, 42, 40, 902262, tzinfo=datetime.timezone.utc)) params: FOREIGN KEY constraint failed Error handling '_save_attribute' event with (a4:c1:38:24:26:14:31:b6, 1, <ClusterType.Server: 0>, 0, 5, 'TS0601', datetime.datetime(2024, 7, 23, 10, 42, 40, 902287, tzinfo=datetime.timezone.utc)) params: FOREIGN KEY constraint failed Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 938322, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=226, profile_id=260, cluster_id=10, data=Serialized[b'\x007\x00\x07\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) [0xF11E:1:0x000a] Received ZCL frame: b'\x007\x00\x07\x00' [0xF11E:1:0x000a] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x00>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=0, reserved=0, is_cluster=False, is_general=True), tsn=55, command_id=0, direction=<Direction.Client_to_Server: 0>) [0xF11E:1:0x000a] Decoded ZCL frame: Time:Read_Attributes(attribute_ids=[7]) [0xF11E:1:0x000a] Received command 0x00 (TSN 55): Read_Attributes(attribute_ids=[7]) [0xF11E:1:0x000a] Sending reply header: ZCLHeader(frame_control=FrameControl<0x18>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, is_cluster=False, is_general=True), tsn=55, command_id=<GeneralCommand.Read_Attributes_rsp: 1>, direction=<Direction.Server_to_Client: 1>) [0xF11E:1:0x000a] Sending reply: Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0007, status=<Status.SUCCESS: 0>, value=TypeValue(type=LocalTime, value=775082560))]) Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 40, 990115, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=227, profile_id=0, cluster_id=32801, data=Serialized[b'\x07\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) [0xF11E:1:0xef00]: bound 'None' cluster: Status.SUCCESS [0xF11E:1:0xef00]: Configuring cluster attribute reporting [0xF11E:1:0xef00]: finished cluster handler configuration [0xF11E:1:0x0000]: 'async_configure' stage succeeded [0xF11E:1:0xef00]: 'async_configure' stage succeeded [0xF11E:1:0x0019]: 'async_configure' stage succeeded [0xF11E:1:0x0019]: 'async_configure' stage succeeded 0xF11E: completed configuration 0xF11E: started initialization 0xF11E:ZDO: 'async_initialize' stage succeeded [0xF11E:1:0x0000]: initializing cluster handler: from_cache: False [0xF11E:1:0x0000]: finished cluster handler initialization [0xF11E:1:0xef00]: initializing cluster handler: from_cache: False [0xF11E:1:0xef00]: finished cluster handler initialization [0xF11E:1:0x0019]: initializing cluster handler: from_cache: False [0xF11E:1:0x0019]: initializing cached cluster handler attributes: ['current_file_version'] [0xF11E:1:0x0019]: Reading attributes in chunks: ['current_file_version'] [0xF11E:1:0x0019] Sending request header: ZCLHeader(frame_control=FrameControl<0x18>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 1>, disable_default_response=1, reserved=0, is_cluster=False, is_general=True), tsn=8, command_id=<GeneralCommand.Read_Attributes: 0>, direction=<Direction.Server_to_Client: 1>) [0xF11E:1:0x0019] Sending request: Read_Attributes(attribute_ids=[2]) Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 41, 61410, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=228, profile_id=260, cluster_id=25, data=Serialized[b'\x10\x08\x01\x02\x00\x00#F\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) [0xF11E:1:0x0019] Received ZCL frame: b'\x10\x08\x01\x02\x00\x00#F\x00\x00\x00' [0xF11E:1:0x0019] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x10>(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 0>, disable_default_response=1, reserved=0, is_cluster=False, is_general=True), tsn=8, command_id=1, direction=<Direction.Client_to_Server: 0>) [0xF11E:1:0x0019] Decoded ZCL frame: Ota:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0002, status=<Status.SUCCESS: 0>, value=TypeValue(type=uint32_t, value=70))]) [0xF11E:1:0x0019]: cluster_handler[ota] attribute_updated - cluster[Ota] attr[current_file_version] value[70] [0xF11E:1:0x0019]: finished cluster handler initialization [0xF11E:1:0x0019]: initializing cluster handler: from_cache: False [0xF11E:1:0x0019]: initializing cached cluster handler attributes: ['current_file_version'] [0xF11E:1:0x0019]: Reading attributes in chunks: ['current_file_version'] [0xF11E:1:0x0019]: finished cluster handler initialization [0xF11E:1:0x0000]: 'async_initialize' stage succeeded [0xF11E:1:0xef00]: 'async_initialize' stage succeeded [0xF11E:1:0x0019]: 'async_initialize' stage succeeded [0xF11E:1:0x0019]: 'async_initialize' stage succeeded 0xF11E: power source: Mains 0xF11E: completed initialization 0x67BE: Device seen - marking the device available and resetting counter 0x67BE: Update device availability - device available: True - new availability: True - changed: False 0xAA96: Device seen - marking the device available and resetting counter 0xAA96: Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 42, 230777, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=229, profile_id=260, cluster_id=61184, data=Serialized[b'\t8\x02\x00\x00\x05\x01\x00\x01\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) [0xF11E:1:0xef00] Received ZCL frame: b'\t8\x02\x00\x00\x05\x01\x00\x01\x00' [0xF11E:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl<0x09>(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 1>, disable_default_response=0, reserved=0, is_cluster=True, is_general=False), tsn=56, command_id=2, *direction=<Direction.Server_to_Client: 1>) [0xF11E:1:0xef00] Unknown cluster command 2 b'\x00\x00\x05\x01\x00\x01\x00' [0xF11E:1:0xef00] Received command 0x02 (TSN 56): b'\x00\x00\x05\x01\x00\x01\x00' [0xF11E:1:0xef00] No explicit handler for cluster command 0x02: b'\x00\x00\x05\x01\x00\x01\x00' Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 42, 432856, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=230, profile_id=260, cluster_id=61184, data=Serialized[b'\t8\x02\x00\x00\x05\x01\x00\x01\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=116, rssi=-71) [0xf11e] Filtering duplicate packet Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 42, 632193, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=231, profile_id=260, cluster_id=61184, data=Serialized[b'\t8\x02\x00\x00\x05\x01\x00\x01\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=116, rssi=-71) [0xf11e] Filtering duplicate packet 0x02D1: Device seen - marking the device available and resetting counter 0x02D1: Update device availability - device available: True - new availability: True - changed: False Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 42, 832326, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=232, profile_id=260, cluster_id=61184, data=Serialized[b'\t8\x02\x00\x00\x05\x01\x00\x01\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=116, rssi=-71) [0xf11e] Filtering duplicate packet Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 7, 23, 10, 42, 43, 34757, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xF11E), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=233, profile_id=260, cluster_id=61184, data=Serialized[b'\t8\x02\x00\x00\x05\x01\x00\x01\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=120, rssi=-70) [0xf11e] Filtering duplicate packet