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
683 stars 636 forks source link

[Device Support Request] RTX Zigbee Tuya ZIR aka. TS1201 #1687

Open sobkas opened 1 year ago

sobkas commented 1 year ago

Is your feature request related to a problem? Please describe. Adding support for Tuya TS1201 link: https://allegro.pl/oferta/uniwersalny-pilot-ir-tuya-zigbee-smart-remote-360-11845030905

Describe the solution you'd like Everything is described at https://github.com/Koenkk/zigbee2mqtt/issues/11633

Device signature ```yaml { "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=, *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": 260, "device_type": "0xf000", "in_clusters": [ "0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0xe004", "0xed00" ], "out_clusters": [ "0x000a", "0x0019" ] }, "242": { "profile_id": 41440, "device_type": "0x0061", "in_clusters": [], "out_clusters": [ "0x0021" ] } }, "manufacturer": "_TZ3290_7v1k4vufotpowp9z", "model": "TS1201", "class": "zigpy.device.Device" } ```
Diagnostic information ```yaml { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2022.8.1", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.10.5", "docker": true, "arch": "x86_64", "timezone": "Europe/Warsaw", "os_name": "Linux", "os_version": "5.15.55", "supervisor": "2022.07.0", "host_os": "Home Assistant OS 8.4", "docker_version": "20.10.14", "chassis": "vm", "run_as_root": true }, "custom_components": {}, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/zha", "requirements": [ "bellows==0.31.2", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.78", "zigpy-deconz==0.18.0", "zigpy==0.48.0", "zigpy-xbee==0.15.0", "zigpy-zigate==0.9.0", "zigpy-znp==0.8.1" ], "usb": [ { "vid": "10C4", "pid": "EA60", "description": "*2652*", "known_devices": [ "slae.sh cc2652rb stick" ] }, { "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*" } ], "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": 8650, "manufacturer": "_TZ3290_7v1k4vufotpowp9z", "model": "TS1201", "name": "_TZ3290_7v1k4vufotpowp9z TS1201", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "manufacturer_code": 4098, "power_source": "Mains", "lqi": 99, "rssi": null, "last_seen": "2022-08-09T15:39:04", "available": true, "device_type": "Router", "signature": { "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=, *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": 260, "device_type": "0xf000", "in_clusters": [ "0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0xe004", "0xed00" ], "out_clusters": [ "0x000a", "0x0019" ] }, "242": { "profile_id": 41440, "device_type": "0x0061", "in_clusters": [], "out_clusters": [ "0x0021" ] } } }, "active_coordinator": false, "entities": [ { "entity_id": "button.uniwersalny_pilot_identifybutton", "name": "_TZ3290_7v1k4vufotpowp9z TS1201" }, { "entity_id": "switch.uniwersalny_pilot_switch", "name": "_TZ3290_7v1k4vufotpowp9z TS1201" } ], "neighbors": [], "endpoint_names": [ { "name": "undefined_0xf000" }, { "name": "unknown 97 device_type of 0xa1e0 profile id" } ], "user_given_name": "Uniwersalny pilot ", "device_reg_id": "1fea9570578603f815e8598267a40c96", "area_id": "salon", "cluster_details": { "1": { "device_type": { "name": "undefined_0xf000", "id": 61440 }, "profile_id": 260, "in_clusters": { "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0004": { "attribute_name": "manufacturer", "value": "_TZ3290_7v1k4vufotpowp9z" }, "0x0005": { "attribute_name": "model", "value": "TS1201" } }, "unsupported_attributes": {} }, "0x0004": { "endpoint_attribute": "groups", "attributes": {}, "unsupported_attributes": {} }, "0x0005": { "endpoint_attribute": "scenes", "attributes": {}, "unsupported_attributes": {} }, "0x0003": { "endpoint_attribute": "identify", "attributes": {}, "unsupported_attributes": {} }, "0xed00": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} }, "0xe004": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} }, "0x0006": { "endpoint_attribute": "on_off", "attributes": { "0x0000": { "attribute_name": "on_off", "value": 1 } }, "unsupported_attributes": { "0x4003": { "attribute_name": "start_up_on_off" } } } }, "out_clusters": { "0x0019": { "endpoint_attribute": "ota", "attributes": {}, "unsupported_attributes": {} }, "0x000a": { "endpoint_attribute": "time", "attributes": {}, "unsupported_attributes": {} } } }, "242": { "device_type": { "name": "unknown", "id": 97 }, "profile_id": 41440, "in_clusters": {}, "out_clusters": { "0x0021": { "endpoint_attribute": "green_power", "attributes": {}, "unsupported_attributes": {} } } } } } } ```
ferehcarb commented 1 year ago

@ranton1990 , fixed with this commit

Any idea how to get long presses working at all?

Not really, maybe the IR code is too long for the IR blaster device, i don't know the max size of the buffer but surely there is a limit. Maybe you can try to hide the IR leds from your remote when you start to press the button, start IR learning on the device and unhide leds just before release the button.

Manbearpig92 commented 1 year ago

@ferehcarb I checked all in those drop down menus and I couldn't find it. That was the only attribute that actually had drop down items.

ferehcarb commented 1 year ago

@ferehcarb I checked all in those drop down menus and I couldn't find it. That was the only attribute that actually had drop down items.

Can you paste here your device signature ?

ferehcarb commented 1 year ago

@ferehcarb

I am unfortunately unable to get to the physical device and it's found on my network but unable to connect. I can access the logs but do you just need the IEEE and NWK?

No, I need the manufacturer code, like here and here . If your manufacturer code is not in the list, it won't work. The code is in the signature tab: image

ranton1990 commented 1 year ago

@ranton1990 do you have a link to the one you have?

Should be this one: https://de.aliexpress.com/item/1005005230661089.html

antfurn commented 1 year ago

Hi, does anyone know if there a reason why the zha_toolkit : attr_read command can't read the 'learned' IR code:

Logger: custom_components.zha_toolkit.zcl_attr
Source: custom_components/zha_toolkit/zcl_attr.py:303
Integration: 🧰 ZHA Toolkit (documentation, issues)
First occurred: 22:23:48 (2 occurrences)
Last logged: 22:28:14

Result: [ReadAttributeRecord(attrid=0x0000)] - Attribute 0 not in read ({0: 'DUAjlBEoAigCXQJ9Bl0CQAdAA8ALQAcDfQYoAoABgAuAD8ALAV0CgAsBXQKAAwUoAigCXQLAAwR9Bl0CKGABQAeAAwJ9BijgAAMBKAJADwldAt6cQCO5CCgC'}, [ReadAttributeRecord(attrid=0x0000)])

More details in the issue I raised here: https://github.com/mdeweerd/zha-toolkit/issues/157

ferehcarb commented 1 year ago

Hi, does anyone know if there a reason why the zha_toolkit : attr_read command can't read the 'learned' IR code: ....

More details in the issue I raised here: mdeweerd/zha-toolkit#157

Hi, I think the answer is in this comment, if you test the change and it's ok, tell it me, I'll update the code.

antfurn commented 1 year ago

Yes, mdeweerd suggested change works for me.

image

ferehcarb commented 1 year ago

Yes, mdeweerd suggested change works for me.

Quirk updated, thank you for the report.

Manbearpig92 commented 1 year ago

@ferehcarb

I am unfortunately unable to get to the physical device and it's found on my network but unable to connect. I can access the logs but do you just need the IEEE and NWK?

No, I need the manufacturer code, like here and here . If your manufacturer code is not in the list, it won't work. The code is in the signature tab: image

Signature ```yaml "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=, *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": 260, "device_type": "0xf000", "in_clusters": [ "0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0xe004", "0xed00" ], "out_clusters": [ "0x000a", "0x0019" ] }, "242": { "profile_id": 41440, "device_type": "0x0061", "in_clusters": [], "out_clusters": [ "0x0021" ] } }, "manufacturer": "_TZ3290_acv1iuslxi3shaaj", "model": "TS1201", "class": "zigpy.device.Device ```
ferehcarb commented 1 year ago

@Manbearpig92 quirk updated, give it a try.

LeVraiRoiDHyrule commented 1 year ago

Hi, I just got a Zigbee IR blaster but I'm lost with all these messages. I have a TS1201 too. In "Manage Zigbee Device", all I have is this: image image

Here is the signature I have:

{
  "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.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, 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": 260,
      "device_type": "0xf000",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0xe004",
        "0xed00"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "242": {
      "profile_id": 41440,
      "device_type": "0x0061",
      "in_clusters": [],
      "out_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "_TZ3290_7v1k4vufotpowp9z",
  "model": "TS1201",
  "class": "zigpy.device.Device"
}

I can't find how to get IR controls to appear. I was using Zigbee2MQTT before and it was working. Could someone help me please ? How can I add more "clusters" ?

ferehcarb commented 1 year ago

I can't find how to get IR controls to appear. I was using Zigbee2MQTT before and it was working. Could someone help me please ? How can I add more "clusters" ?

Hi, in the signature you've got: "class": "zigpy.device.Device", it should be "class": "ts1201.ZosungIRBlaster" I think the custom quirk is not used. Have you configured the path for custom quirks and put the file in the right place (ts1201.py) ? Something like this in configuration.yaml:

zha:
  custom_quirks_path: /config/custom_zha_quirks/

The custom quirk is not yet integrated to zha, so you need to put it in your config.

LeVraiRoiDHyrule commented 1 year ago

Thanks a lot for the explaination, I've just added the file, and rebooted.

I now have the following in my list: image

But I don't have any ZosungIRBlaster, is that normal ? I've choosed ZosungIRControl for now. Is there further configuration to do ?

EDIT: Ok apparently ts1201.ZosungIRBlaster quirk is correctly applied. Thanks a lot. But is there more things to do to have controls from the HA UI ? I would like to be able to send codes from a button on HA, or being able to send codes within automations.

ferehcarb commented 1 year ago

Ok apparently ts1201.ZosungIRBlaster quirk is correctly applied. Thanks a lot. But is there more things to do to have controls from the HA UI ? I would like to be able to send codes from a button on HA, or being able to send codes within automations.

Read the thread, you've got an example in this comment.

Manbearpig92 commented 1 year ago

@ferehcarb I'm not sure if I am doing something incorrectly but i cant get my IR blaster to send a mute command to my soundbar. a few questions i have:

  1. do i need to bind my blaster to my skyconnect? my ir blaster shows up on my zigbee network and says its connected but there is no bridge from the blaster to the sky connect unlike the other devices i have.
  2. i put in a hexidecimal code (mute) into the IRLearn and issued the ZigBee command. Is this necessary or will writing a script with the example in the comment above do what i just did?
LeVraiRoiDHyrule commented 1 year ago

Ok apparently ts1201.ZosungIRBlaster quirk is correctly applied. Thanks a lot. But is there more things to do to have controls from the HA UI ? I would like to be able to send codes from a button on HA, or being able to send codes within automations.

Read the thread, you've got an example in this comment.

Hi, I just tried the script and it works very well. Thanks a lot for your help and your work, it's amazing.

I am curious if there is a tool to quickly create scripts like this ? I'm looking to have all the buttons for all my remotes and devices within HA, and use this sort of lovelace cards to control my devices : https://community.home-assistant.io/t/how-do-i-actually-make-a-tv-remote-control-work-well-in-the-gui/212392 . But did someone make a manager for it ? Maybe something similar to Logitech Harmony software ?

Have a great day

ferehcarb commented 1 year ago

@ferehcarb I'm not sure if I am doing something incorrectly but i cant get my IR blaster to send a mute command to my soundbar. a few questions i have:

1. do i need to bind my blaster to my skyconnect? my ir blaster shows up on my zigbee network and says its connected but there is no bridge from the blaster to the sky connect unlike the other devices i have.

Sorry, I don't known how the skyconnect works.

2. i put in a hexidecimal code (mute) into the IRLearn and issued the ZigBee command. Is this necessary or will writing a script with the example in the comment above do what i just did?

Which code did you put ? You've to put the learned code from the blaster. First you send an IRLearn command, push your remote's button and then you can read the code with the attribute last_learned_ir_code.

theolondon commented 1 year ago

Neither me, I wasn't know what it was 2 months ago ;-) I pushed a new version with your device signature, give it a try.

Thanks this new quirk worked for me as well.

RED4911 commented 1 year ago

I want to make commands for the air conditioner. Tell me how to do this, and where to add the script file?

kukukk commented 1 year ago

As I mentioned before, I am using this device and it works with this custom quirk: https://www.ebay.com/itm/275310058694

Before I switched to this device I used a NodeMCU to generate infra signals using the IRremoteESP8266 library. E.g to turn on/off my Samsung TV I used the sendSAMSUNG() method (https://github.com/crankyoldgit/IRremoteESP8266/blob/master/src/ir_Samsung.cpp#L95) to send this code: E0E040BF.

Can you, please, explain how could I transform this code for this quirk?

ferehcarb commented 1 year ago

Can you, please, explain how could I transform this code for this quirk?

You can't, the quirk has only one mode: learn an IR code from a remote and replay it. It seems that the official tuya app has other modes but the protocol hasn't been reverse ingeneered.

markrossington commented 1 year ago

Anyone know if this would ever be merged into the main branch?

PyjamasBeforeChrist commented 1 year ago

@ferehcarb - thanks so much for making this quirk. New to HA and with a bit of playing got my MEOS UFO-R11 working to control my Air Con perfectly. Per migration into the main branch is there a way to make a Learn Code and Send Last Learnt Code UI button appear out of the box to encourage us newbies :) I would have given up without finding this thread. Cheers

TheBlueKingLP commented 1 year ago

Not sure if this is the right place to post.

What is the format of the Base64 code string? Is it possible to generate the Base64 from information such as these? The following is taken from flipper zero .ir file

type: parsed
protocol: NEC
address: 80 00 00 00
command: 01 00 00 00

OR I believe the data represents the on-time and off-time of the IR LED

frequency: 38000
duty_cycle: 0.330000
data: 3500 1750 435 435 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 1300 435 1300 435 435 435 435 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 1300 435 435 435 435 435 435 435 435 435 435 435 3500 3500 1750 435 435 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 1300 435 1300 435 435 435 435 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 1300 435 1300 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 435 435 435 435 1300 435 435 435 1300 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 1300 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 1300 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 435 435 435 435 1300 435 435 435 435 435 435 435 1300 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 435 1300 435 435 435 1300 435 1300 435 1300 435 435 435 435 435 1300 435 
nasser83 commented 11 months ago

can someone please help me with this error ? i get the blue light, when i click ON on remote control i get the green V but in the logs i see this

Logger: homeassistant.core Source: custom_zha_quirks/ts1201.py:114 First occurred: 5:09:25 PM (1 occurrences) Last logged: 5:09:25 PM

Error executing service: <ServiceCall zha.issue_zigbee_cluster_command (c:01H5FGGSA2RX4T2FC2465TEGYS): ieee=18:7a:3e:ff:fe:16:27:ff, endpoint_id=1, cluster_id=57348, cluster_type=in, command=1, command_type=server, params=on_off=true> Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/zigpy/device.py", line 317, in request return await req.result

grigorye commented 11 months ago

First of all, @ferehcarb, thanks for the PR!

I was able to learn the codes via "manage Zigbee device" UI. But for some reason sending those via the IRsend command from the very same UI has no effect (I do see that it attempts to send it though, in the logs, the example below sends BS4jaREvAuAXAQGMBuAVA0ABwCNAAUAL4AMB4AMPwAtAB8ADCWSdLiOoCC8C code)...

Does anyone have a clue?

$ grep -E '(zig)|(zha)' /Users/eg/Desktop/ufo-11.log
2023-08-06 13:23:37.155 DEBUG (MainThread) [zigpy_znp.api] Received command: ZDO.SrcRtgInd.Callback(DstAddr=0x1D9C, Relays=[])
2023-08-06 13:23:37.160 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=10463625, TSN=0, Data=b'\x09\x3A\x02\x00\x7E\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:37.160 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t:\x02\x00~m\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:37.161 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\t:\x02\x00~m\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:37.162 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=58, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:37.163 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=126, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:37.164 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 58): set_data_response(data=TuyaCommand(status=0, tsn=126, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:37.166 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=58, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:37.167 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:37.168 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=58, profile_id=260, cluster_id=61184, data=Serialized[b'\x18:\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:37.169 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=58, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x3A\x0B\x02\x00')
2023-08-06 13:23:37.187 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:37.228 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=58)
2023-08-06 13:23:37.439 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=1, SrcAddr=0xE554, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=60, SecurityUse=<Bool.false: 0>, TimeStamp=10479501, TSN=0, Data=b'\x18\x6E\x0A\x20\x00\x20\x19', MacSrcAddr=0x1D9C, MsgResultRadius=27)
2023-08-06 13:23:37.440 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE554), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1, data=Serialized[b'\x18n\n \x00 \x19'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=60, rssi=None)
2023-08-06 13:23:37.441 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Received ZCL frame: b'\x18n\n \x00 \x19'
2023-08-06 13:23:37.442 DEBUG (MainThread) [zigpy.zcl] [0xE554: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), tsn=110, command_id=10, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:37.443 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Decoded ZCL frame: PowerConfiguration:Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=25))])
2023-08-06 13:23:37.444 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Received command 0x0A (TSN 110): Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=25))])
2023-08-06 13:23:37.444 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Attribute report received: battery_voltage=25
2023-08-06 13:23:37.448 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=1, SrcAddr=0xE554, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=54, SecurityUse=<Bool.false: 0>, TimeStamp=10479685, TSN=0, Data=b'\x18\x6E\x0A\x20\x00\x20\x19', MacSrcAddr=0x1D9C, MsgResultRadius=27)
2023-08-06 13:23:37.449 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE554), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1, data=Serialized[b'\x18n\n \x00 \x19'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=54, rssi=None)
2023-08-06 13:23:37.449 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Received ZCL frame: b'\x18n\n \x00 \x19'
2023-08-06 13:23:37.450 DEBUG (MainThread) [zigpy.zcl] [0xE554: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), tsn=110, command_id=10, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:37.451 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Decoded ZCL frame: PowerConfiguration:Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=25))])
2023-08-06 13:23:37.452 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Received command 0x0A (TSN 110): Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=25))])
2023-08-06 13:23:37.452 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Attribute report received: battery_voltage=25
2023-08-06 13:23:37.658 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=1, SrcAddr=0xE554, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=51, SecurityUse=<Bool.false: 0>, TimeStamp=10495409, TSN=0, Data=b'\x18\x6E\x0A\x20\x00\x20\x19', MacSrcAddr=0x1D9C, MsgResultRadius=27)
2023-08-06 13:23:37.659 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE554), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1, data=Serialized[b'\x18n\n \x00 \x19'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=51, rssi=None)
2023-08-06 13:23:37.660 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Received ZCL frame: b'\x18n\n \x00 \x19'
2023-08-06 13:23:37.661 DEBUG (MainThread) [zigpy.zcl] [0xE554: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), tsn=110, command_id=10, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:37.662 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Decoded ZCL frame: PowerConfiguration:Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=25))])
2023-08-06 13:23:37.662 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Received command 0x0A (TSN 110): Report_Attributes(attribute_reports=[Attribute(attrid=0x0020, value=TypeValue(type=uint8_t, value=25))])
2023-08-06 13:23:37.663 DEBUG (MainThread) [zigpy.zcl] [0xE554:1:0x0001] Attribute report received: battery_voltage=25
2023-08-06 13:23:38.739 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=54, SecurityUse=<Bool.false: 0>, TimeStamp=10562923, TSN=0, Data=b'\x09\x3B\x02\x00\x7F\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:38.740 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t;\x02\x00\x7fm\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=54, rssi=None)
2023-08-06 13:23:38.740 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\t;\x02\x00\x7fm\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:38.741 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=59, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:38.743 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=127, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:38.744 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 59): set_data_response(data=TuyaCommand(status=0, tsn=127, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:38.746 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=59, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:38.747 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:38.748 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=59, profile_id=260, cluster_id=61184, data=Serialized[b'\x18;\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:38.749 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=59, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x3B\x0B\x02\x00')
2023-08-06 13:23:38.767 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:38.801 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=59)
2023-08-06 13:23:39.459 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xB287](TS011F): Attempting to checkin with device - missed checkins: 2
2023-08-06 13:23:39.460 DEBUG (MainThread) [zigpy.zcl] [0xB287: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), tsn=90, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
2023-08-06 13:23:39.461 DEBUG (MainThread) [zigpy.zcl] [0xB287:1:0x0000] Sending request: Read_Attributes(attribute_ids=[4])
2023-08-06 13:23:39.462 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xB287), dst_ep=1, source_route=None, extended_timeout=False, tsn=90, profile_id=260, cluster_id=0, data=Serialized[b'\x00Z\x00\x04\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:39.465 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0xB287), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=0, TSN=90, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x00\x5A\x00\x04\x00')
2023-08-06 13:23:39.483 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:39.580 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=90)
2023-08-06 13:23:39.582 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 1 of 5 (NONE)
2023-08-06 13:23:40.334 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=54, SecurityUse=<Bool.false: 0>, TimeStamp=10662632, TSN=0, Data=b'\x09\x3C\x02\x00\x80\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:40.335 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t<\x02\x00\x80m\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=54, rssi=None)
2023-08-06 13:23:40.336 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\t<\x02\x00\x80m\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:40.337 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=60, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:40.338 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=128, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:40.339 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 60): set_data_response(data=TuyaCommand(status=0, tsn=128, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:40.342 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=60, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:40.342 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:40.343 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=60, profile_id=260, cluster_id=61184, data=Serialized[b'\x18<\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:40.344 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=60, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x3C\x0B\x02\x00')
2023-08-06 13:23:40.362 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:40.388 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=60)
2023-08-06 13:23:41.084 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0xB287), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=0, TSN=90, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x00\x5A\x00\x04\x00')
2023-08-06 13:23:41.102 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.198 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=90)
2023-08-06 13:23:41.200 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 2 of 5 (LastGoodRoute)
2023-08-06 13:23:41.441 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=54, SecurityUse=<Bool.false: 0>, TimeStamp=10731821, TSN=0, Data=b'\x09\x3D\x02\x00\x81\x6B\x02\x00\x04\x00\x00\x02\x6C', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:41.442 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t=\x02\x00\x81k\x02\x00\x04\x00\x00\x02l'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=54, rssi=None)
2023-08-06 13:23:41.443 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\t=\x02\x00\x81k\x02\x00\x04\x00\x00\x02l'
2023-08-06 13:23:41.444 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=61, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.445 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=129, datapoints=[TuyaDatapointData(dp=107, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x02l', *payload=620))]))
2023-08-06 13:23:41.446 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 61): set_data_response(data=TuyaCommand(status=0, tsn=129, datapoints=[TuyaDatapointData(dp=107, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x02l', *payload=620))]))
2023-08-06 13:23:41.449 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=61, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.450 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.450 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=61, profile_id=260, cluster_id=61184, data=Serialized[b'\x18=\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:41.452 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=61, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x3D\x0B\x02\x00')
2023-08-06 13:23:41.469 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.490 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=61)
2023-08-06 13:23:41.507 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=54, SecurityUse=<Bool.false: 0>, TimeStamp=10735936, TSN=0, Data=b'\x09\x3E\x02\x00\x82\x6A\x02\x00\x04\x00\x00\x00\x08', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:41.508 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t>\x02\x00\x82j\x02\x00\x04\x00\x00\x00\x08'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=54, rssi=None)
2023-08-06 13:23:41.508 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\t>\x02\x00\x82j\x02\x00\x04\x00\x00\x00\x08'
2023-08-06 13:23:41.509 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=62, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.511 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=130, datapoints=[TuyaDatapointData(dp=106, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x08', *payload=8))]))
2023-08-06 13:23:41.512 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 62): set_data_response(data=TuyaCommand(status=0, tsn=130, datapoints=[TuyaDatapointData(dp=106, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x08', *payload=8))]))
2023-08-06 13:23:41.515 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=62, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.515 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.516 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=62, profile_id=260, cluster_id=61184, data=Serialized[b'\x18>\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:41.518 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=62, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x3E\x0B\x02\x00')
2023-08-06 13:23:41.518 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x1B04](ti.router): Device seen - marking the device available and resetting counter
2023-08-06 13:23:41.519 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x1B04](ti.router): Update device availability -  device available: True - new availability: True - changed: False
2023-08-06 13:23:41.536 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.559 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x63A5](MS01): Device seen - marking the device available and resetting counter
2023-08-06 13:23:41.559 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x63A5](MS01): Update device availability -  device available: True - new availability: True - changed: False
2023-08-06 13:23:41.593 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=62)
2023-08-06 13:23:41.597 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=10740260, TSN=0, Data=b'\x09\x3F\x02\x00\x83\x6C\x02\x00\x04\x00\x00\x00\x64', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:41.597 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t?\x02\x00\x83l\x02\x00\x04\x00\x00\x00d'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:41.598 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\t?\x02\x00\x83l\x02\x00\x04\x00\x00\x00d'
2023-08-06 13:23:41.599 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=63, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.601 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=131, datapoints=[TuyaDatapointData(dp=108, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00d', *payload=100))]))
2023-08-06 13:23:41.602 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 63): set_data_response(data=TuyaCommand(status=0, tsn=131, datapoints=[TuyaDatapointData(dp=108, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00d', *payload=100))]))
2023-08-06 13:23:41.605 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=63, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.606 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.606 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=63, profile_id=260, cluster_id=61184, data=Serialized[b'\x18?\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:41.608 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=63, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x3F\x0B\x02\x00')
2023-08-06 13:23:41.625 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.647 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=63)
2023-08-06 13:23:41.665 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=10745842, TSN=0, Data=b'\x09\x40\x02\x00\x84\x6F\x02\x00\x04\x00\x00\x00\x01', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:41.666 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t@\x02\x00\x84o\x02\x00\x04\x00\x00\x00\x01'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:41.667 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\t@\x02\x00\x84o\x02\x00\x04\x00\x00\x00\x01'
2023-08-06 13:23:41.668 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=64, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.669 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=132, datapoints=[TuyaDatapointData(dp=111, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x01', *payload=1))]))
2023-08-06 13:23:41.670 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 64): set_data_response(data=TuyaCommand(status=0, tsn=132, datapoints=[TuyaDatapointData(dp=111, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x01', *payload=1))]))
2023-08-06 13:23:41.673 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=64, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.674 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.675 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=64, profile_id=260, cluster_id=61184, data=Serialized[b'\x18@\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:41.676 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=64, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x40\x0B\x02\x00')
2023-08-06 13:23:41.694 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.702 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestSrcRtg.Req(DstAddr=0xB287, DstEndpoint=1, SrcEndpoint=1, ClusterId=0, TSN=90, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, SourceRoute=[0x6FCF, 0x1B04], Data=b'\x00\x5A\x00\x04\x00')
2023-08-06 13:23:41.716 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=64)
2023-08-06 13:23:41.740 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestSrcRtg.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.745 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=10750153, TSN=0, Data=b'\x09\x41\x02\x00\x85\x6E\x02\x00\x04\x00\x00\x00\x96', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:41.745 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tA\x02\x00\x85n\x02\x00\x04\x00\x00\x00\x96'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:41.746 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tA\x02\x00\x85n\x02\x00\x04\x00\x00\x00\x96'
2023-08-06 13:23:41.747 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=65, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.749 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=133, datapoints=[TuyaDatapointData(dp=110, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x96', *payload=150))]))
2023-08-06 13:23:41.750 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 65): set_data_response(data=TuyaCommand(status=0, tsn=133, datapoints=[TuyaDatapointData(dp=110, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x96', *payload=150))]))
2023-08-06 13:23:41.753 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=65, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.754 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.755 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=65, profile_id=260, cluster_id=61184, data=Serialized[b'\x18A\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:41.756 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=65, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x41\x0B\x02\x00')
2023-08-06 13:23:41.786 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.816 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=65)
2023-08-06 13:23:41.841 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_CHANNEL_ACCESS_FAILURE: 225>, Endpoint=1, TSN=90)
2023-08-06 13:23:41.843 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_CHANNEL_ACCESS_FAILURE: 225>), retry attempt 3 of 5 (LastGoodRoute)
2023-08-06 13:23:41.845 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=10756286, TSN=0, Data=b'\x09\x42\x02\x00\x86\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:41.846 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tB\x02\x00\x86m\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:41.847 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tB\x02\x00\x86m\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:41.847 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=66, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.849 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=134, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:41.850 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 66): set_data_response(data=TuyaCommand(status=0, tsn=134, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:41.852 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=66, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.852 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.853 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=66, profile_id=260, cluster_id=61184, data=Serialized[b'\x18B\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:41.855 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=66, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x42\x0B\x02\x00')
2023-08-06 13:23:41.872 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.893 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=66)
2023-08-06 13:23:41.911 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=54, SecurityUse=<Bool.false: 0>, TimeStamp=10761187, TSN=0, Data=b'\x09\x43\x02\x00\x87\x69\x04\x00\x01\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:41.912 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tC\x02\x00\x87i\x04\x00\x01\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=54, rssi=None)
2023-08-06 13:23:41.912 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tC\x02\x00\x87i\x04\x00\x01\x00'
2023-08-06 13:23:41.913 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=67, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.915 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=135, datapoints=[TuyaDatapointData(dp=105, data=TuyaData(dp_type=<TuyaDPType.ENUM: 4>, function=0, raw=b'\x00', *payload=<enum8.undefined_0x00: 0>))]))
2023-08-06 13:23:41.916 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 67): set_data_response(data=TuyaCommand(status=0, tsn=135, datapoints=[TuyaDatapointData(dp=105, data=TuyaData(dp_type=<TuyaDPType.ENUM: 4>, function=0, raw=b'\x00', *payload=<enum8.undefined_0x00: 0>))]))
2023-08-06 13:23:41.918 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=67, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:41.919 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.920 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=67, profile_id=260, cluster_id=61184, data=Serialized[b'\x18C\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:41.921 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=67, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x43\x0B\x02\x00')
2023-08-06 13:23:41.939 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:41.971 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=67)
2023-08-06 13:23:42.137 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=10775290, TSN=0, Data=b'\x09\x44\x02\x00\x88\x68\x02\x00\x04\x00\x00\x00\x9B', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:42.138 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tD\x02\x00\x88h\x02\x00\x04\x00\x00\x00\x9b'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:42.138 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tD\x02\x00\x88h\x02\x00\x04\x00\x00\x00\x9b'
2023-08-06 13:23:42.139 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=68, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:42.141 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=136, datapoints=[TuyaDatapointData(dp=104, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x9b', *payload=155))]))
2023-08-06 13:23:42.142 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 68): set_data_response(data=TuyaCommand(status=0, tsn=136, datapoints=[TuyaDatapointData(dp=104, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x9b', *payload=155))]))
2023-08-06 13:23:42.149 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=68, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:42.150 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:42.150 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=68, profile_id=260, cluster_id=61184, data=Serialized[b'\x18D\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:42.152 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=68, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x44\x0B\x02\x00')
2023-08-06 13:23:42.170 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:42.192 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=68)
2023-08-06 13:23:42.586 DEBUG (MainThread) [homeassistant.components.zha.websocket_api] Get bindable devices: source_ieee: [38:5b:44:ff:fe:37:67:d9], bindable devices: [[{'ieee': '00:12:4b:00:26:d1:66:70', 'nwk': 0x0000, 'manufacturer': 'Texas Instruments', 'model': 'CC1352/CC2652, Z-Stack 3.30+ (build 20210708)', 'name': 'Texas Instruments CC1352/CC2652, Z-Stack 3.30+ (build 20210708)', 'quirk_applied': False, 'quirk_class': 'zigpy_znp.zigbee.device.ZNPCoordinator', 'manufacturer_code': 0, 'power_source': 'Mains', 'lqi': None, 'rssi': None, 'last_seen': '2023-08-06T13:20:59', 'available': True, 'device_type': 'Coordinator', 'signature': {'node_descriptor': 'NodeDescriptor(logical_type=<LogicalType.Coordinator: 0>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AlternatePanCoordinator|FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 143>, manufacturer_code=0, maximum_buffer_size=80, maximum_incoming_transfer_size=160, server_mask=11265, maximum_outgoing_transfer_size=160, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=True, *is_coordinator=True, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=False, *is_security_capable=False)', 'endpoints': {2: {'profile_id': '0xc05e', 'device_type': '0x0820', 'input_clusters': ['0x0000'], 'output_clusters': []}, 1: {'profile_id': '0x0104', 'device_type': '0x0400', 'input_clusters': ['0x0000', '0x0006', '0x000a', '0x0019', '0x0501'], 'output_clusters': ['0x0001', '0x0020', '0x0500', '0x0502']}}, 'manufacturer': 'Texas Instruments', 'model': 'CC1352/CC2652, Z-Stack 3.30+ (build 20210708)'}, 'active_coordinator': True, 'entities': [], 'neighbors': [{'device_type': 'EndDevice', 'rx_on_when_idle': 'Off', 'relationship': 'Child', 'extended_pan_id': '06:4f:9d:20:76:a0:dc:b3', 'ieee': '4b:00:25:00:40:62:f9:e6', 'nwk': '0x0012', 'permit_joining': 'Unknown', 'depth': '1', 'lqi': '170'}, {'device_type': 'EndDevice', 'rx_on_when_idle': 'Off', 'relationship': 'Child', 'extended_pan_id': '06:4f:9d:20:76:a0:dc:b3', 'ieee': '38:18:42:ed:b2:a7:0d:ea', 'nwk': '0xA4C1', 'permit_joining': 'Unknown', 'depth': '1', 'lqi': '170'}, {'device_type': 'Router', 'rx_on_when_idle': 'Unknown', 'relationship': 'Sibling', 'extended_pan_id': '06:4f:9d:20:76:a0:dc:b3', 'ieee': 'a4:c1:38:63:51:99:c1:2a', 'nwk': '0x1D9C', 'permit_joining': 'Unknown', 'depth': '255', 'lqi': '50'}, {'device_type': 'Router', 'rx_on_when_idle': 'Unknown', 'relationship': 'Sibling', 'extended_pan_id': '06:4f:9d:20:76:a0:dc:b3', 'ieee': '00:12:4b:00:26:b6:a0:1d', 'nwk': '0x6FCF', 'permit_joining': 'Unknown', 'depth': '255', 'lqi': '95'}, {'device_type': 'Router', 'rx_on_when_idle': 'Unknown', 'relationship': 'Sibling', 'extended_pan_id': '06:4f:9d:20:76:a0:dc:b3', 'ieee': 'a4:c1:38:64:18:e3:75:48', 'nwk': '0xD623', 'permit_joining': 'Unknown', 'depth': '255', 'lqi': '87'}, {'device_type': 'Router', 'rx_on_when_idle': 'Unknown', 'relationship': 'Sibling', 'extended_pan_id': '06:4f:9d:20:76:a0:dc:b3', 'ieee': 'a4:c1:38:af:e0:b4:e8:21', 'nwk': '0xA468', 'permit_joining': 'Unknown', 'depth': '255', 'lqi': '55'}, {'device_type': 'Router', 'rx_on_when_idle': 'Unknown', 'relationship': 'Sibling', 'extended_pan_id': '06:4f:9d:20:76:a0:dc:b3', 'ieee': '00:12:4b:00:26:b8:69:75', 'nwk': '0x1B04', 'permit_joining': 'Unknown', 'depth': '255', 'lqi': '0'}], 'routes': [{'dest_nwk': '0xBF94', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0xD623'}, {'dest_nwk': '0x1B04', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0x6FCF'}, {'dest_nwk': '0x1D9C', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0xA468'}, {'dest_nwk': '0xC894', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0xA468'}, {'dest_nwk': '0x0DEA', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0xD623'}, {'dest_nwk': '0xA468', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0xA468'}, {'dest_nwk': '0x6FCF', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0x6FCF'}, {'dest_nwk': '0xFDB7', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0xA468'}, {'dest_nwk': '0xD623', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0xD623'}, {'dest_nwk': '0x0649', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0xA468'}, {'dest_nwk': '0x5D45', 'route_status': 'Active', 'memory_constrained': False, 'many_to_one': False, 'route_record_required': False, 'next_hop': '0xD623'}], 'endpoint_names': [{'name': 'CONTROLLER'}, {'name': 'IAS_CONTROL'}], 'user_given_name': None, 'device_reg_id': '467b6a1c32ae0065f11c29f7258c3f0e', 'area_id': 'closet'}]]
2023-08-06 13:23:42.594 DEBUG (MainThread) [homeassistant.components.zha.websocket_api] Requested attributes for: cluster_id: 0, cluster_type: 'in', endpoint_id: 1, response: [{'id': 19, 'name': 'alarm_mask'}, {'id': 1, 'name': 'app_version'}, {'id': 65533, 'name': 'cluster_revision'}, {'id': 6, 'name': 'date_code'}, {'id': 18, 'name': 'device_enabled'}, {'id': 20, 'name': 'disable_local_config'}, {'id': 8, 'name': 'generic_device_class'}, {'id': 9, 'name': 'generic_device_type'}, {'id': 3, 'name': 'hw_version'}, {'id': 16, 'name': 'location_desc'}, {'id': 4, 'name': 'manufacturer'}, {'id': 12, 'name': 'manufacturer_version_details'}, {'id': 5, 'name': 'model'}, {'id': 17, 'name': 'physical_env'}, {'id': 7, 'name': 'power_source'}, {'id': 10, 'name': 'product_code'}, {'id': 14, 'name': 'product_label'}, {'id': 11, 'name': 'product_url'}, {'id': 65534, 'name': 'reporting_status'}, {'id': 13, 'name': 'serial_number'}, {'id': 2, 'name': 'stack_version'}, {'id': 16384, 'name': 'sw_build_id'}, {'id': 0, 'name': 'zcl_version'}]
2023-08-06 13:23:42.733 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=10812574, TSN=0, Data=b'\x09\x45\x02\x00\x89\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:42.734 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tE\x02\x00\x89m\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:42.735 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tE\x02\x00\x89m\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:42.736 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=69, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:42.737 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=137, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:42.738 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 69): set_data_response(data=TuyaCommand(status=0, tsn=137, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:42.741 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=69, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:42.741 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:42.742 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=69, profile_id=260, cluster_id=61184, data=Serialized[b'\x18E\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:42.744 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=69, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x45\x0B\x02\x00')
2023-08-06 13:23:42.761 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:42.805 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=69)
2023-08-06 13:23:43.345 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestSrcRtg.Req(DstAddr=0xB287, DstEndpoint=1, SrcEndpoint=1, ClusterId=0, TSN=90, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, SourceRoute=[0x6FCF, 0x1B04], Data=b'\x00\x5A\x00\x04\x00')
2023-08-06 13:23:43.363 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestSrcRtg.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:43.447 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=90)
2023-08-06 13:23:43.449 DEBUG (MainThread) [zigpy_znp.api] Sending request: ZDO.ExtRouteDisc.Req(Dst=0xB287, Options=<RouteDiscoveryOptions.UNICAST: 0>, Radius=30)
2023-08-06 13:23:43.465 DEBUG (MainThread) [zigpy_znp.api] Received command: ZDO.ExtRouteDisc.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:43.918 DEBUG (MainThread) [homeassistant.components.zha.websocket_api] Requested commands for: cluster_id: 0, cluster_type: 'in', endpoint_id: 1, response: [{'type': 'server', 'id': 0, 'name': 'reset_fact_default', 'schema': []}]
2023-08-06 13:23:44.330 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=10912394, TSN=0, Data=b'\x09\x46\x02\x00\x8A\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:44.331 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tF\x02\x00\x8am\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:44.331 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tF\x02\x00\x8am\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:44.332 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=70, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:44.334 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=138, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:44.335 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 70): set_data_response(data=TuyaCommand(status=0, tsn=138, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:44.337 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=70, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:44.338 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:44.339 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=70, profile_id=260, cluster_id=61184, data=Serialized[b'\x18F\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:44.340 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=70, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x46\x0B\x02\x00')
2023-08-06 13:23:44.358 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:44.379 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=70)
2023-08-06 13:23:44.766 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 4 of 5 (RouteDiscovery|LastGoodRoute)
2023-08-06 13:23:45.269 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0xB287), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=0, TSN=90, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x00\x5A\x00\x04\x00')
2023-08-06 13:23:45.287 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:45.397 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=90)
2023-08-06 13:23:45.399 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 5 of 5 (RouteDiscovery|LastGoodRoute|IEEEAddress)
2023-08-06 13:23:45.537 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xA7AA](DS01): Attempting to checkin with device - missed checkins: 2
2023-08-06 13:23:45.538 DEBUG (MainThread) [zigpy.zcl] [0xA7AA: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), tsn=91, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>)
2023-08-06 13:23:45.539 DEBUG (MainThread) [zigpy.zcl] [0xA7AA:1:0x0000] Sending request: Read_Attributes(attribute_ids=[4])
2023-08-06 13:23:45.540 DEBUG (MainThread) [zigpy.device] [0xa7aa] Extending timeout for 0x5b request
2023-08-06 13:23:45.540 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xA7AA), dst_ep=1, source_route=None, extended_timeout=True, tsn=91, profile_id=260, cluster_id=0, data=Serialized[b'\x00[\x00\x04\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:45.541 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0xA7AA), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=0, TSN=91, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x00\x5B\x00\x04\x00')
2023-08-06 13:23:45.559 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:45.575 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x5D45](TS0201): Device seen - marking the device available and resetting counter
2023-08-06 13:23:45.575 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x5D45](TS0201): Update device availability -  device available: True - new availability: True - changed: False
2023-08-06 13:23:45.646 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=91)
2023-08-06 13:23:45.647 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 1 of 5 (NONE)
2023-08-06 13:23:45.936 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=11012747, TSN=0, Data=b'\x09\x47\x02\x00\x8B\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:45.937 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tG\x02\x00\x8bm\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:45.938 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tG\x02\x00\x8bm\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:45.939 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=71, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:45.940 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=139, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:45.941 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 71): set_data_response(data=TuyaCommand(status=0, tsn=139, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:45.944 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=71, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:45.944 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:45.945 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=71, profile_id=260, cluster_id=61184, data=Serialized[b'\x18G\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:45.947 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=71, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x47\x0B\x02\x00')
2023-08-06 13:23:45.965 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:45.987 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=71)
2023-08-06 13:23:46.127 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=11024682, TSN=0, Data=b'\x09\x48\x02\x00\x8C\x68\x02\x00\x04\x00\x00\x00\x99', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:46.128 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tH\x02\x00\x8ch\x02\x00\x04\x00\x00\x00\x99'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:46.129 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tH\x02\x00\x8ch\x02\x00\x04\x00\x00\x00\x99'
2023-08-06 13:23:46.129 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=72, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:46.131 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=140, datapoints=[TuyaDatapointData(dp=104, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x99', *payload=153))]))
2023-08-06 13:23:46.132 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 72): set_data_response(data=TuyaCommand(status=0, tsn=140, datapoints=[TuyaDatapointData(dp=104, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x99', *payload=153))]))
2023-08-06 13:23:46.138 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=72, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:46.139 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:46.140 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=72, profile_id=260, cluster_id=61184, data=Serialized[b'\x18H\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:46.141 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=72, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x48\x0B\x02\x00')
2023-08-06 13:23:46.159 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:46.180 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=72)
2023-08-06 13:23:47.150 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0xA7AA), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=0, TSN=91, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x00\x5B\x00\x04\x00')
2023-08-06 13:23:47.168 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:47.254 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=91)
2023-08-06 13:23:47.255 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 2 of 5 (LastGoodRoute)
2023-08-06 13:23:47.317 DEBUG (MainThread) [homeassistant.components.zha.websocket_api] Requested commands for: cluster_id: 57348, cluster_type: 'in', endpoint_id: 1, response: [{'type': 'server', 'id': 1, 'name': 'IRLearn', 'schema': [{'type': 'select', 'options': [('false', 'false'), ('true', 'true')], 'name': 'on_off', 'required': True}]}, {'type': 'server', 'id': 2, 'name': 'IRSend', 'schema': [{'type': 'string', 'name': 'code', 'required': True}]}, {'type': 'server', 'id': 0, 'name': 'data', 'schema': [{'type': 'string', 'name': 'data', 'required': True}]}]
2023-08-06 13:23:47.524 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=11111972, TSN=0, Data=b'\x09\x49\x02\x00\x8D\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:47.525 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tI\x02\x00\x8dm\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:47.525 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tI\x02\x00\x8dm\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:47.526 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=73, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:47.528 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=141, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:47.529 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 73): set_data_response(data=TuyaCommand(status=0, tsn=141, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:47.533 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=73, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:47.534 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:47.534 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=73, profile_id=260, cluster_id=61184, data=Serialized[b'\x18I\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:47.536 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=73, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x49\x0B\x02\x00')
2023-08-06 13:23:47.553 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:47.569 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xC894](TS0201): Device seen - marking the device available and resetting counter
2023-08-06 13:23:47.569 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0xC894](TS0201): Update device availability -  device available: True - new availability: True - changed: False
2023-08-06 13:23:47.576 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=73)
2023-08-06 13:23:47.758 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestSrcRtg.Req(DstAddr=0xA7AA, DstEndpoint=1, SrcEndpoint=1, ClusterId=0, TSN=91, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, SourceRoute=[0xB287], Data=b'\x00\x5B\x00\x04\x00')
2023-08-06 13:23:47.775 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestSrcRtg.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:47.866 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=91)
2023-08-06 13:23:47.868 DEBUG (MainThread) [zigpy_znp.api] Sending request: ZDO.ExtRouteDisc.Req(Dst=0xA7AA, Options=<RouteDiscoveryOptions.UNICAST: 0>, Radius=30)
2023-08-06 13:23:47.884 DEBUG (MainThread) [zigpy_znp.api] Received command: ZDO.ExtRouteDisc.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:49.131 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=57, SecurityUse=<Bool.false: 0>, TimeStamp=11211731, TSN=0, Data=b'\x09\x4A\x02\x00\x8E\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:49.132 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tJ\x02\x00\x8em\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=57, rssi=None)
2023-08-06 13:23:49.133 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tJ\x02\x00\x8em\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:49.134 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=74, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:49.135 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=142, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:49.136 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 74): set_data_response(data=TuyaCommand(status=0, tsn=142, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:49.139 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=74, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:49.140 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:49.140 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=74, profile_id=260, cluster_id=61184, data=Serialized[b'\x18J\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:49.142 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=74, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x4A\x0B\x02\x00')
2023-08-06 13:23:49.160 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:49.186 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 3 of 5 (RouteDiscovery|LastGoodRoute)
2023-08-06 13:23:49.187 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=74)
2023-08-06 13:23:49.482 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x698D](MS01): Device seen - marking the device available and resetting counter
2023-08-06 13:23:49.482 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x698D](MS01): Update device availability -  device available: True - new availability: True - changed: False
2023-08-06 13:23:49.688 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0xA7AA), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=0, TSN=91, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x00\x5B\x00\x04\x00')
2023-08-06 13:23:49.706 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:49.799 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.MAC_NO_ACK: 233>, Endpoint=1, TSN=91)
2023-08-06 13:23:49.800 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Unsuccessful request status code: <Status.MAC_NO_ACK: 233>), retry attempt 4 of 5 (RouteDiscovery|LastGoodRoute|IEEEAddress)
2023-08-06 13:23:50.303 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.IEEE: 3>, address=00:12:4b:00:25:19:5e:0f), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=0, TSN=91, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x00\x5B\x00\x04\x00')
2023-08-06 13:23:50.310 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.NWK_INVALID_REQUEST: 194>)
2023-08-06 13:23:50.311 DEBUG (MainThread) [zigpy_znp.zigbee.application] Request failed (Expected SRSP response AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>), got AF.DataRequestExt.Rsp(Status=<Status.NWK_INVALID_REQUEST: 194>)), retry attempt 5 of 5 (RouteDiscovery|LastGoodRoute|IEEEAddress)
2023-08-06 13:23:50.716 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=51, SecurityUse=<Bool.false: 0>, TimeStamp=11311495, TSN=0, Data=b'\x09\x4B\x02\x00\x8F\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:50.717 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tK\x02\x00\x8fm\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=51, rssi=None)
2023-08-06 13:23:50.718 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tK\x02\x00\x8fm\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:50.718 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=75, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:50.720 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=143, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:50.721 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 75): set_data_response(data=TuyaCommand(status=0, tsn=143, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:50.723 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=75, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:50.724 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:50.725 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=75, profile_id=260, cluster_id=61184, data=Serialized[b'\x18K\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:50.726 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=75, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x4B\x0B\x02\x00')
2023-08-06 13:23:50.744 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:50.783 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=75)
2023-08-06 13:23:50.975 DEBUG (MainThread) [homeassistant.components.zha.core.helpers] Converted ZCL schema field(code) value from: BS4jaREvAuAXAQGMBuAVA0ABwCNAAUAL4AMB4AMPwAtAB8ADCWSdLiOoCC8C to: BS4jaREvAuAXAQGMBuAVA0ABwCNAAUAL4AMB4AMPwAtAB8ADCWSdLiOoCC8C
2023-08-06 13:23:50.975 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xe004] irMsg to send: {"key_num":1,"delay":300,"key1":{"num":1,"freq":38000,"type":1,"key_code":"BS4jaREvAuAXAQGMBuAVA0ABwCNAAUAL4AMB4AMPwAtAB8ADCWSdLiOoCC8C"}}
2023-08-06 13:23:50.975 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x1914](TS1201): Issued cluster command: cluster_id: [57348] cluster_type: [in] endpoint_id: [1] command: [2] command_type: [server] args: [None] params: [{'code': 'BS4jaREvAuAXAQGMBuAVA0ABwCNAAUAL4AMB4AMPwAtAB8ADCWSdLiOoCC8C'}] manufacturer: [None]
2023-08-06 13:23:50.976 DEBUG (MainThread) [homeassistant.components.zha.websocket_api] Issued command for: cluster_id: [57348] cluster_type: [in] endpoint_id: [1] command: [2] command_type: [server] args: [None] params: [{'code': 'BS4jaREvAuAXAQGMBuAVA0ABwCNAAUAL4AMB4AMPwAtAB8ADCWSdLiOoCC8C'}] manufacturer: [None]
2023-08-06 13:23:50.977 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4098, tsn=92, command_id=0, *direction=<Direction.Server_to_Client: 0>)
2023-08-06 13:23:50.978 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Sending request: receive_ir_frame_00(seq=3, length=138, unk1=0, clusterid=57348, unk2=1, cmd=2, unk3=0)
2023-08-06 13:23:50.978 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1914), dst_ep=1, source_route=None, extended_timeout=False, tsn=92, profile_id=260, cluster_id=60672, data=Serialized[b'\x05\x02\x10\\\x00\x03\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x04\xe0\x01\x02\x00\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:50.980 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1914), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=60672, TSN=92, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x05\x02\x10\x5C\x00\x03\x00\x8A\x00\x00\x00\x00\x00\x00\x00\x04\xE0\x01\x02\x00\x00')
2023-08-06 13:23:51.000 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:52.311 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x1D9C, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=54, SecurityUse=<Bool.false: 0>, TimeStamp=11411188, TSN=0, Data=b'\x09\x4C\x02\x00\x90\x6D\x02\x00\x04\x00\x00\x00\x00', MacSrcAddr=0x1D9C, MsgResultRadius=29)
2023-08-06 13:23:52.312 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tL\x02\x00\x90m\x02\x00\x04\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=54, rssi=None)
2023-08-06 13:23:52.313 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received ZCL frame: b'\tL\x02\x00\x90m\x02\x00\x04\x00\x00\x00\x00'
2023-08-06 13:23:52.314 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=76, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:52.316 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Decoded ZCL frame: TuyaMmwRadarCluster:set_data_response(data=TuyaCommand(status=0, tsn=144, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:52.316 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Received command 0x02 (TSN 76): set_data_response(data=TuyaCommand(status=0, tsn=144, datapoints=[TuyaDatapointData(dp=109, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x00\x00', *payload=0))]))
2023-08-06 13:23:52.319 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] 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), tsn=76, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:52.320 DEBUG (MainThread) [zigpy.zcl] [0x1D9C:1:0xef00] Sending reply: Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:52.321 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1D9C), dst_ep=1, source_route=None, extended_timeout=False, tsn=76, profile_id=260, cluster_id=61184, data=Serialized[b'\x18L\x0b\x02\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:52.322 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1D9C), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=76, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x4C\x0B\x02\x00')
2023-08-06 13:23:52.341 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:52.442 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=92)
2023-08-06 13:23:52.443 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=76)
2023-08-06 13:23:52.447 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=60672, SrcAddr=0x1914, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=90, SecurityUse=<Bool.false: 0>, TimeStamp=11415410, TSN=0, Data=b'\x0C\x02\x10\x5C\x0B\x00\x00', MacSrcAddr=0x6FCF, MsgResultRadius=27)
2023-08-06 13:23:52.447 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1914), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=60672, data=Serialized[b'\x0c\x02\x10\\\x0b\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=90, rssi=None)
2023-08-06 13:23:52.448 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Received ZCL frame: b'\x0c\x02\x10\\\x0b\x00\x00'
2023-08-06 13:23:52.449 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=True, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), manufacturer=4098, tsn=92, command_id=11, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:52.450 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Decoded ZCL frame: ZosungIRTransmit:Default_Response(command_id=0, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:52.450 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Received command 0x0B (TSN 92): Default_Response(command_id=0, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:52.453 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=60672, SrcAddr=0x1914, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=90, SecurityUse=<Bool.false: 0>, TimeStamp=11418856, TSN=0, Data=b'\x01\x35\x01\x00\x03\x00\x8A\x00\x00\x00\x00\x00\x00\x00\x04\xE0\x01\x02\x00\x00', MacSrcAddr=0x6FCF, MsgResultRadius=27)
2023-08-06 13:23:52.455 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1914), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=60672, data=Serialized[b'\x015\x01\x00\x03\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x04\xe0\x01\x02\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=90, rssi=None)
2023-08-06 13:23:52.456 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Received ZCL frame: b'\x015\x01\x00\x03\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x04\xe0\x01\x02\x00\x00'
2023-08-06 13:23:52.457 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=53, command_id=1, *direction=<Direction.Server_to_Client: 0>)
2023-08-06 13:23:52.458 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Decoded ZCL frame: ZosungIRTransmit:receive_ir_frame_01(zero=0, seq=3, length=138, unk1=0, clusterid=57348, unk2=1, cmd=2, unk3=0)
2023-08-06 13:23:52.458 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Received command 0x01 (TSN 53): receive_ir_frame_01(zero=0, seq=3, length=138, unk1=0, clusterid=57348, unk2=1, cmd=2, unk3=0)
2023-08-06 13:23:52.459 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Send default response
2023-08-06 13:23:52.459 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] IR-Message-Code01 received, sequence: 3
2023-08-06 13:23:52.459 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] msg to send: {"key_num":1,"delay":300,"key1":{"num":1,"freq":38000,"type":1,"key_code":"BS4jaREvAuAXAQGMBuAVA0ABwCNAAUAL4AMB4AMPwAtAB8ADCWSdLiOoCC8C"}}
2023-08-06 13:23:52.461 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] 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), tsn=53, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>)
2023-08-06 13:23:52.462 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Sending reply: Default_Response(command_id=1, status=<Status.SUCCESS: 0>)
2023-08-06 13:23:52.463 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1914), dst_ep=1, source_route=None, extended_timeout=False, tsn=53, profile_id=260, cluster_id=60672, data=Serialized[b'\x185\x0b\x01\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:52.464 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1914), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=60672, TSN=53, Options=<TransmitOptions.ACK_REQUEST|SUPPRESS_ROUTE_DISC_NETWORK: 48>, Radius=0, Data=b'\x18\x35\x0B\x01\x00')
2023-08-06 13:23:52.470 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:52.601 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=53)
2023-08-06 13:23:52.618 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=60672, SrcAddr=0x1914, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=90, SecurityUse=<Bool.false: 0>, TimeStamp=11430430, TSN=0, Data=b'\x11\x36\x02\x03\x00\x00\x00\x00\x00\x40', MacSrcAddr=0x6FCF, MsgResultRadius=27)
2023-08-06 13:23:52.619 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1914), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=60672, data=Serialized[b'\x116\x02\x03\x00\x00\x00\x00\x00@'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=90, rssi=None)
2023-08-06 13:23:52.620 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Received ZCL frame: b'\x116\x02\x03\x00\x00\x00\x00\x00@'
2023-08-06 13:23:52.621 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 0>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=54, command_id=2, *direction=<Direction.Server_to_Client: 0>)
2023-08-06 13:23:52.622 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Decoded ZCL frame: ZosungIRTransmit:receive_ir_frame_02(seq=3, position=0, maxlen=64)
2023-08-06 13:23:52.622 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Received command 0x02 (TSN 54): receive_ir_frame_02(seq=3, position=0, maxlen=64)
2023-08-06 13:23:52.623 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] hdr.command_id == 0x02 ; msgcrc=74 ; position=0 ; msgpart={"key_num":1,"delay":300,"key1":{"num":1,"freq":38000,"type":1,"
2023-08-06 13:23:52.624 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=93, command_id=3, *direction=<Direction.Server_to_Client: 0>)
2023-08-06 13:23:52.625 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Sending request: receive_ir_frame_03(zero=0, seq=3, position=0, msgpart=b'{"key_num":1,"delay":300,"key1":{"num":1,"freq":38000,"type":1,"', msgpartcrc=74)
2023-08-06 13:23:52.625 DEBUG (MainThread) [zigpy.device] [0x1914] Extending timeout for 0x5d request
2023-08-06 13:23:52.626 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1914), dst_ep=1, source_route=None, extended_timeout=True, tsn=93, profile_id=260, cluster_id=60672, data=Serialized[b'\x01]\x03\x00\x03\x00\x00\x00\x00\x00@{"key_num":1,"delay":300,"key1":{"num":1,"freq":38000,"type":1,"J'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:52.627 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1914), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=60672, TSN=93, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x01\x5D\x03\x00\x03\x00\x00\x00\x00\x00\x40\x7B\x22\x6B\x65\x79\x5F\x6E\x75\x6D\x22\x3A\x31\x2C\x22\x64\x65\x6C\x61\x79\x22\x3A\x33\x30\x30\x2C\x22\x6B\x65\x79\x31\x22\x3A\x7B\x22\x6E\x75\x6D\x22\x3A\x31\x2C\x22\x66\x72\x65\x71\x22\x3A\x33\x38\x30\x30\x30\x2C\x22\x74\x79\x70\x65\x22\x3A\x31\x2C\x22\x4A')
2023-08-06 13:23:52.651 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2023-08-06 13:23:52.658 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=93)
2023-08-06 13:23:53.367 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=60672, SrcAddr=0x1914, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=90, SecurityUse=<Bool.false: 0>, TimeStamp=11477237, TSN=0, Data=b'\x11\x37\x02\x03\x00\x00\x00\x00\x00\x40', MacSrcAddr=0x6FCF, MsgResultRadius=27)
2023-08-06 13:23:53.368 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1914), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=60672, data=Serialized[b'\x117\x02\x03\x00\x00\x00\x00\x00@'], tx_options=<TransmitOptions.NONE: 0>, radius=27, non_member_radius=0, lqi=90, rssi=None)
2023-08-06 13:23:53.369 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Received ZCL frame: b'\x117\x02\x03\x00\x00\x00\x00\x00@'
2023-08-06 13:23:53.370 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 0>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False), tsn=55, command_id=2, *direction=<Direction.Server_to_Client: 0>)
2023-08-06 13:23:53.371 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Decoded ZCL frame: ZosungIRTransmit:receive_ir_frame_02(seq=3, position=0, maxlen=64)
2023-08-06 13:23:53.371 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Received command 0x02 (TSN 55): receive_ir_frame_02(seq=3, position=0, maxlen=64)
2023-08-06 13:23:53.372 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] hdr.command_id == 0x02 ; msgcrc=74 ; position=0 ; msgpart={"key_num":1,"delay":300,"key1":{"num":1,"freq":38000,"type":1,"
2023-08-06 13:23:53.373 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=94, command_id=3, *direction=<Direction.Server_to_Client: 0>)
2023-08-06 13:23:53.374 DEBUG (MainThread) [zigpy.zcl] [0x1914:1:0xed00] Sending request: receive_ir_frame_03(zero=0, seq=3, position=0, msgpart=b'{"key_num":1,"delay":300,"key1":{"num":1,"freq":38000,"type":1,"', msgpartcrc=74)
2023-08-06 13:23:53.374 DEBUG (MainThread) [zigpy.device] [0x1914] Extending timeout for 0x5e request
2023-08-06 13:23:53.375 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1914), dst_ep=1, source_route=None, extended_timeout=True, tsn=94, profile_id=260, cluster_id=60672, data=Serialized[b'\x01^\x03\x00\x03\x00\x00\x00\x00\x00@{"key_num":1,"delay":300,"key1":{"num":1,"freq":38000,"type":1,"J'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2023-08-06 13:23:53.376 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x1914), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=60672, TSN=94, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x01\x5E\x03\x00\x03\x00\x00\x00\x00\x00\x40\x7B\x22\x6B\x65\x79\x5F\x6E\x75\x6D\x22\x3A\x31\x2C\x22\x64\x65\x6C\x61\x79\x22\x3A\x33\x30\x30\x2C\x22\x6B\x65\x79\x31\x22\x3A\x7B\x22\x6E\x75\x6D\x22\x3A\x31\x2C\x22\x66\x72\x65\x71\x22\x3A\x33\x38\x30\x30\x30\x2C\x22\x74\x79\x70\x65\x22\x3A\x31\x2C\x22\x4A')
rk9qn3j commented 11 months ago

@grigorye I don't know if it is related, but I had trouble learning codes initially. I got it all working (sending and receiving) by setting on_off to true.

image

This was fairly simple to implement, but doesn't (at least for me) seems to be stable.. :neutral_face: It just randomly stops working and spits out:

Logger: zigpy_deconz.uart
Source: custom_zha_quirks/ts1201.py:305
First occurred: 18:35:35 (13 occurrences)
Last logged: 18:35:56

Unexpected error handling the frame
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/zigpy_deconz/uart.py", line 84, in data_received
    self._api.data_received(frame)
  File "/usr/local/lib/python3.11/site-packages/zigpy_deconz/api.py", line 373, in data_received
    getattr(self, f"_handle_{command.name}")(data)
  File "/usr/local/lib/python3.11/site-packages/zigpy_deconz/api.py", line 505, in _handle_aps_data_indication
    self._app.handle_rx(
  File "/usr/local/lib/python3.11/site-packages/zigpy_deconz/zigbee/application.py", line 460, in handle_rx
    self.packet_received(
  File "/usr/local/lib/python3.11/site-packages/zigpy/application.py", line 1006, in packet_received
    self.handle_message(
  File "/usr/local/lib/python3.11/site-packages/zigpy/application.py", line 522, in handle_message
    return sender.handle_message(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/zigpy/device.py", line 367, in handle_message
    self.endpoints[src_ep].handle_message(
  File "/usr/local/lib/python3.11/site-packages/zigpy/endpoint.py", line 235, in handle_message
    handler(hdr, args, dst_addressing=dst_addressing)
  File "/usr/local/lib/python3.11/site-packages/zigpy/zcl/__init__.py", line 424, in handle_message
    self.handle_cluster_request(hdr, args, dst_addressing=dst_addressing)
  File "/config/custom_zha_quirks/ts1201.py", line 305, in handle_cluster_request
    irmsg = self.endpoint.device.ir_msg_to_send[seq]
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^
KeyError: 3

I get a feeling that this seems to be "more stable"/the issue is not occurring just after restarting Home Assistant for some reason.. 😕

Vince92500 commented 10 months ago

you made my day ! thx

rk9qn3j commented 10 months ago

I still have issues with this and trying to narrow it down, but with somewhat success. I can't say for sure, but I think the problem might be my somewhat rapid automation used to switch source on the TV. The automation below does the following:

  1. Presses the Source button once.
  2. Then presses down 9 times, with a slight delay of 1 second between the IR commands (I have tried to increase the delay, by half a second or 1 second, but the issue is still there).
  3. Finishing off by pressing the OK button, which selects the current selected HDMI source.

My theory goes that the device (perhaps more specific the battery-operated model) is meant to send a single command for e.g. change mode on an air conditioner, turn on the stereo amplifier etc, but when several commands are introduced in a row, it doesn't keep up and stops working (for a while).

alias: Living room - Change TV source to gaming console
description: ""
trigger: []
condition: []
mode: single
action:
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: input_text.tv_source
            state: HDMI4
          - condition: device
            type: is_on
            device_id: e17b4a09a31ef45ae5fb212b75f65d7c
            entity_id: 4cf89d24d396a0ee2b20e1b1078864af
            domain: switch
    then:
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              B7IRshE5AoQG4AED4AsB4Bsf4BcB4AND4AcLB+23shGyETkC4AMX4AsB4Bsf4BcB4AND4AQLAgY5Ag==
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              CK8RrxEJArsGZyADgAcBCQJAA+ADAQFnAsAbQAcBZwLgAQNAAUAP4AcXwBPgAxdAC+ADA0AjQANAEwcPuK8RrxEJAkALwANAG+AHA8AbQAfgBxtAD+ALF0ATQANAH0ADQAvgAwMLZwIJAmcCCQK7BgkC
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              CK8RrxEJArsGZyADgAcBCQJAA+ADAQFnAsAbQAcBZwLgAQNAAUAP4AcXwBPgAxdAC+ADA0AjQANAEwcPuK8RrxEJAkALwANAG+AHA8AbQAfgBxtAD+ALF0ATQANAH0ADQAvgAwMLZwIJAmcCCQK7BgkC
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              CK8RrxEJArsGZyADgAcBCQJAA+ADAQFnAsAbQAcBZwLgAQNAAUAP4AcXwBPgAxdAC+ADA0AjQANAEwcPuK8RrxEJAkALwANAG+AHA8AbQAfgBxtAD+ALF0ATQANAH0ADQAvgAwMLZwIJAmcCCQK7BgkC
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              CK8RrxEJArsGZyADgAcBCQJAA+ADAQFnAsAbQAcBZwLgAQNAAUAP4AcXwBPgAxdAC+ADA0AjQANAEwcPuK8RrxEJAkALwANAG+AHA8AbQAfgBxtAD+ALF0ATQANAH0ADQAvgAwMLZwIJAmcCCQK7BgkC
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              CK8RrxEJArsGZyADgAcBCQJAA+ADAQFnAsAbQAcBZwLgAQNAAUAP4AcXwBPgAxdAC+ADA0AjQANAEwcPuK8RrxEJAkALwANAG+AHA8AbQAfgBxtAD+ALF0ATQANAH0ADQAvgAwMLZwIJAmcCCQK7BgkC
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              CK8RrxEJArsGZyADgAcBCQJAA+ADAQFnAsAbQAcBZwLgAQNAAUAP4AcXwBPgAxdAC+ADA0AjQANAEwcPuK8RrxEJAkALwANAG+AHA8AbQAfgBxtAD+ALF0ATQANAH0ADQAvgAwMLZwIJAmcCCQK7BgkC
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              CK8RrxEJArsGZyADgAcBCQJAA+ADAQFnAsAbQAcBZwLgAQNAAUAP4AcXwBPgAxdAC+ADA0AjQANAEwcPuK8RrxEJAkALwANAG+AHA8AbQAfgBxtAD+ALF0ATQANAH0ADQAvgAwMLZwIJAmcCCQK7BgkC
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              CK8RrxEJArsGZyADgAcBCQJAA+ADAQFnAsAbQAcBZwLgAQNAAUAP4AcXwBPgAxdAC+ADA0AjQANAEwcPuK8RrxEJAkALwANAG+AHA8AbQAfgBxtAD+ALF0ATQANAH0ADQAvgAwMLZwIJAmcCCQK7BgkC
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              CK8RrxEJArsGZyADgAcBCQJAA+ADAQFnAsAbQAcBZwLgAQNAAUAP4AcXwBPgAxdAC+ADA0AjQANAEwcPuK8RrxEJAkALwANAG+AHA8AbQAfgBxtAD+ALF0ATQANAH0ADQAvgAwMLZwIJAmcCCQK7BgkC
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - delay:
          hours: 0
          minutes: 0
          seconds: 1
          milliseconds: 0
      - service: zha.issue_zigbee_cluster_command
        data:
          cluster_type: in
          ieee: 94:34:69:ff:fe:5f:67:09
          command_type: server
          params:
            code: >-
              B7oRuhE1ApAG4AED4AsB4Bcf4AMBQCtAAUAHQANAAUAHwANAAUALwAFACwfat7oRuhE1AkALwAPgCwHAG0AH4BcBwCNAB0ADQAFAB8ADQAFAC8ABQAvgfIcCBjUC
          cluster_id: 57348
          endpoint_id: 1
          command: 2
      - service: input_text.set_value
        data:
          value: HDMI3
        target:
          entity_id: input_text.tv_source
loclamor commented 9 months ago

Hi @sobkas , @ferehcarb ! First off all thank you for this quirk, it was working beautifully... before i update my HA instance... !

I'm now on the 2023.9.2 version, and my IR basters are now recognize as simple buttons :( sevices call does not work anymore.

I have found this error on HA startup :

Logger: zhaquirks
Source: zha_quirks/ts1201.py:65
First occurred: 20 septembre 2023 à 21:41:43 (1 occurrences)
Last logged: 20 septembre 2023 à 21:41:43

Unexpected exception importing custom quirk 'ts1201'
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/zhaquirks/__init__.py", line 460, in setup
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/zha_quirks/ts1201.py", line 53, in <module>
    class ZosungIRControl(CustomCluster):
  File "/config/zha_quirks/ts1201.py", line 65, in ZosungIRControl
    0x00: foundation.ZCLCommandDef(
          ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ZCLCommandDef.__init__() got an unexpected keyword argument 'is_reply'

Maybe the lastest HA update break somthing ?

ferehcarb commented 9 months ago

Maybe the lastest HA update break somthing ?

You've got an old version of the quirk, it was fixed in this commit. Update to the latest version.

balu79 commented 9 months ago

Does somebody know whether it's somehow possible to simulate a button long press? When reading the IR command it just records the normal press command and compared to the Broadlink intregration (num_repeats attribute) this quirk and probably the device in general doesn't seem to support the direct repetition of commands. Will try to create a sequence which repeats the command 10-15 times to see whether that could emulate a long press of a button.

r24b7k73 commented 8 months ago

Thanks ferehcarb for delivering this great piece of code! It's really a nice added-value to my HA automations It gave me a chance to learn IR codes from my shutters remote However, 2 points I'd like to share, on which you probably can provide a comment: -) For every run of "IRLearn", I get a new code. Does not seem to be a problem though, but I expected it to be a fixed value all time -) The "OPEN" command is perfectly reproduced, but I'm not able to replicate the "CLOSE" command. Doing the same exact procedure, but it does not work at all If you have any idea or can shed light on this last point, I will greatly appreciate

Last attempts: CLOSE (does not close the shutters !): -) BTcDxwGIAcADF/sENwM3A5YG+wSIATcDiAGWBogBNwM3A0AHD8cBKgI3A4gBNwM3A4gBxwGAEwM3A8cBIAkOA4gBxwGIAYgBiAH7BIgB -) BUUDygGIAcADFwcFRQNFA5AGBwWIAUUDiAGQBogBRQNFA0AHD2AC1QBFA4gBRQNFA8oBygFAEwGIAUALEZAGRQOIAcoBiAHKAYgBBwWIAQ==

OPEN (perfectly open the shutters) -) BU4DwQGCAcADF/UE9QTBAa4G9QSCAU4DggGuBoIBTgNOA0AHCMEBggFOA04DwSAFA8EBggFAExP1BBUITgOCAcEBggFOA4IBggFOAw== -) A1kDmQGAAQvPAZkB6QTpBJkBqAZABUAZB6gGmQFZA1kDQAdAAQNZA1kDQAUDmQGZAUATA+kEGwiADQmZAVkDmQGZAVkD

DrLabel commented 7 months ago

I have add : ("_TZ3290_gnl5a6a5xvql7c2a", "TS1201"), and works, if you can update your code Thanks for your work

melbnz commented 7 months ago

Looking for some direction...I'm unable to learn any IR codes and bemused as to why... Quirk is loaded. I have no errors in the logs. I'm using the Manage zigbee device; I can select ZosungIRControl cluster and it shows last learned attribute, but no values get populated. I've tried using read attribute then pressing remote, tried remote separately to no avail. I've turned on and off device from device control, in case it was 'disabled' nothing seems to work... All the remotes can be read by other learning devices so i know they are known TX codes. I have 3 remotes to learn adn none register on the blaster. Any ideas anyone? Thanks in advance image image

DrLabel commented 7 months ago

The values appears in the Home assistant log

melbnz commented 6 months ago

Thank you Drlabel for replying; i was trying to use the read/write attribute/value per the Mar 14 comment on 'new feature' above, rather than looking on logs. I am now a step closer.. re-reading the thread and using https://github.com/zigpy/zha-device-handlers/issues/1687#issuecomment-1424357574 and this helpful reminder comment https://github.com/zigpy/zha-device-handlers/issues/1687#issuecomment-1671814503 i set/sent the IRlearn value to true command and could then read my remote. I have errors saving/setting the attribute/value, probably my naivety, however will revert to yaml for my automation for now. Is there an idiots guide to quirk usage? Thanks

ferehcarb commented 6 months ago

Thank you Drlabel for replying; i was trying to use the read/write attribute/value per the Mar 14 comment on 'new feature' above, rather than looking on logs. I am now a step closer.. re-reading the thread and using #1687 (comment) and this helpful reminder comment #1687 (comment) i set/sent the IRlearn value to true command and could then read my remote. I have errors saving/setting the attribute/value, probably my naivety, however will revert to yaml for my automation for now. Is there an idiots guide to quirk usage? Thanks

Read attribute last_learned_ir_code should give you the IR code if the command IRLearn was successfull. If not paste your debug logs here.

ferehcarb commented 6 months ago

I have add : ("_TZ3290_gnl5a6a5xvql7c2a", "TS1201"), and works, if you can update your code Thanks for your work

Hi, where did you add this model info ? In ZosungIRBlaster or in ZosungIRBlaster_ZS06 class ? The first one is for battery powered devices, the second one for USB powered.

ferehcarb commented 6 months ago

-) For every run of "IRLearn", I get a new code. Does not seem to be a problem though, but I expected it to be a fixed value all time

It seems that the blaster device samples the IR signal, so it's a sort of analog to digital conversion, this is not really reproducible.

-) The "OPEN" command is perfectly reproduced, but I'm not able to replicate the "CLOSE" command. Doing the same exact procedure, but it does not work at all If you have any idea or can shed light on this last point, I will greatly appreciate

Can't really help you on this, the base64 encoded IR data is a black box for me.

DrLabel commented 6 months ago

I have add : ("_TZ3290_gnl5a6a5xvql7c2a", "TS1201"), and works, if you can update your code Thanks for your work

Hi, where did you add this model info ? In ZosungIRBlaster or in ZosungIRBlaster_ZS06 class ? The first one is for battery powered devices, the second one for USB powered.

In the 2, I try to delete from the first one and see if it works.

DrLabel commented 6 months ago

I have add : ("_TZ3290_gnl5a6a5xvql7c2a", "TS1201"), and works, if you can update your code Thanks for your work

Hi, where did you add this model info ? In ZosungIRBlaster or in ZosungIRBlaster_ZS06 class ? The first one is for battery powered devices, the second one for USB powered.

in this one :

class ZosungIRBlaster_ZS06(ZosungIRBlaster): """Zosung IR Blaster ZS06."""

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.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, 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)",
    #  <SimpleDescriptor endpoint=1, profile=260, device_type=61440
    #  device_version=1
    #  input_clusters=[0, 3, 4, 5, 6, 57348, 60672]
    #  output_clusters=[10, 25]>
    #  <SimpleDescriptor endpoint=242, profile=41440, device_type=97
    #  device_version=1
    #  input_clusters=[]
    #  output_clusters=[33]>
    MODELS_INFO: [
        ("_TZ3290_7v1k4vufotpowp9z", "TS1201"),
        ("_TZ3290_acv1iuslxi3shaaj", "TS1201"),
        ("_TZ3290_gnl5a6a5xvql7c2a", "TS1201"),
    ],
r24b7k73 commented 6 months ago

-) For every run of "IRLearn", I get a new code. Does not seem to be a problem though, but I expected it to be a fixed value all time

It seems that the blaster device samples the IR signal, so it's a sort of analog to digital conversion, this is not really reproducible.

-) The "OPEN" command is perfectly reproduced, but I'm not able to replicate the "CLOSE" command. Doing the same exact procedure, but it does not work at all If you have any idea or can shed light on this last point, I will greatly appreciate

Can't really help you on this, the base64 encoded IR data is a black box for me.

I tested with my TV remote and here's what I get

image

First time: CzUJnwJ2BJ8CHAKfAsAHwAtAD0ADQA/gAQMBm2PgwjMCAhwC 2nd time: CzMJmAJ/BJgCIQKYAsAHwAtAD0ADQA/gAQMBoGPg9jMCAiEC 3rd time: CzoJlQKDBJUCJAKVAsAHwAtAD0ADQA/gAgMAY+DCMwICJAI=

I cannot imagine this one is also generating analog signal Tested another TV remote, a TNT decoder: same result Is there anything I'm doing wrong ?

SethJMoore commented 6 months ago

rk9qn3j:

I still have issues with this and trying to narrow it down, but with somewhat success. I can't say for sure, but I think the problem might be my somewhat rapid automation used to switch source on the TV. The automation below does the following:

  1. Presses the Source button once.
  2. Then presses down 9 times, with a slight delay of 1 second between the IR commands (I have tried to increase the delay, by half a second or 1 second, but the issue is still there).
  3. Finishing off by pressing the OK button, which selects the current selected HDMI source.

My theory goes that the device (perhaps more specific the battery-operated model) is meant to send a single command for e.g. change mode on an air conditioner, turn on the stereo amplifier etc, but when several commands are introduced in a row, it doesn't keep up and stops working (for a while).

Were you ever able to get this to work correctly? I think I'm running into a similar issue with multiple IR commands in a row.

rk9qn3j commented 5 months ago

@SethJMoore Unfortunately no. :neutral_face: I have also tried to create automations with like 3 IR commands in a row, but even then, it's not reliable.

rk9qn3j commented 5 months ago

But since the latest versions of Home Assistant, the following error messages have started to appear in the logs right after the IR blaster stops working:

Logger: zigpy_deconz.api
Source: runner.py:188
First occurred: 21:06:07 (1 occurrences)
Last logged: 21:06:07
Duplicate or delayed response for 0x:e9 sequence
Logger: zigpy_deconz.zigbee.application
Source: runner.py:188
First occurred: 21:06:31 (2 occurrences)
Last logged: 21:06:31

    Unexpected transmit confirm for request id 54, Status: TXStatus.SUCCESS
    Unexpected transmit confirm for request id 66, Status: TXStatus.SUCCESS
SethJMoore commented 5 months ago

@rk9qn3j thanks for the reply. Since I added a 2 second delay in between calls to the blaster, it seems to be working ok for me, but that makes it pretty slow.

SethJMoore commented 5 months ago

Here's the script I'm using to call the blaster. I have the codes saved as attributes in a sensor template.

alias: Blast IR code
fields:
  code_name:
    name: IR Code
    description: The code to be blasted through the IR blaster
    required: true
    selector:
      attribute:
        entity_id: sensor.ir_blaster_codes
sequence:
  - service: zha.issue_zigbee_cluster_command
    data:
      cluster_type: in
      endpoint_id: 1
      command: 2
      ieee: f0:82:c0:ff:fe:fd:e9:d6
      command_type: server
      params:
        code: "{{ state_attr('sensor.ir_blaster_codes', code_name) }}"
      cluster_id: 57348
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
icon: mdi:remote
mode: queued
max: 50
rk9qn3j commented 5 months ago

Since I added a 2 second delay in between calls to the blaster, it seems to be working ok for me, but that makes it pretty slow.

@SethJMoore Works ok, as in reliable? 😉 I have also tried to increase the delay between the commands, but unfortunately, that doesn't make any difference in stability.

And one more thing, I don't know if there's something wrong with one of my IR commands, the quirk itself, or something else, but suddenly I got e.g. double IR commands for "up", even though my automation only says "up" once.

I wonder if there is a firmware available, that could fix these issues.. 🤔

I'm just curious - does anybody else have issues with multiple IR commands in a row? If not, are you running the non-battery-powered version?