[Device Support Request] Zemismart Curtain Motor with Rail (Mains powered) (_TZE200_rmymn92d)

Is your feature request related to a problem? Please describe.
ts0601_cover.py needs a new quirk added to support this device properly.
Currently, it pairs with no entities attached.
Describe the solution you'd like
Be able to pair the device and control my curtains through HA.
Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be sure to add the entire content of the log panel after pairing the device to a code block below this line.
{
  "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=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0051",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xef00"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "242": {
      "profile_id": 41440,
      "device_type": "0x0061",
      "in_clusters": [],
      "out_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "_TZE200_rmymn92d",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

I got it to add the Cover entity with this:
class TuyaZemismartCover0601_custom(TuyaWindowCover):
    """Tuya blind controller device."""

    signature = {
        # "node_descriptor": "NodeDescriptor(byte1=1, byte2=64, mac_capability_flags=142, manufacturer_code=4417,
        #                     maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752,
        #                     maximum_outgoing_transfer_size=66, descriptor_capability_field=0>,
        # "endpoints": {
        # "1": { "profile_id": 260, "device_type": "0x0051", "in_clusters": [ "0x0000", "0x0004","0x0005","0xef00"], "out_clusters": ["0x000a","0x0019"] },
        # "242": { "profile_id": 41440, "device_type": "0x0061", in_clusters": [], "out_clusters": [ "0x0021" ] }
        # },
        # "manufacturer": "_TZE200_rmymn92d",
        # "model": "TS0601",
        # "class": "zigpy.device.Device"
        # }
        MODELS_INFO: [
            ("_TZE200_rmymn92d", "TS0601"),
        ],
        ENDPOINTS: {
            1: {
                PROFILE_ID: 260,
                DEVICE_TYPE: 0x0051,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaManufCluster.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            },
            242: {
                PROFILE_ID: 41440,
                DEVICE_TYPE: 0x0061,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
            },
        },
    }

    replacement = {
        ENDPOINTS: {
            1: {
                DEVICE_TYPE: zha.DeviceType.WINDOW_COVERING_DEVICE,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaManufacturerWindowCover,
                    TuyaWindowCoverControl,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            },
            242: {
                PROFILE_ID: 41440,
                DEVICE_TYPE: 0x0061,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
            },
        }
    }

Just.. The buttons all throw:
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 185, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1495, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1530, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 209, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 663, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 896, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 700, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/zha/cover.py", line 132, in async_close_cover
    res = await self._cover_channel.down_close()
  File "/usr/src/homeassistant/homeassistant/components/zha/core/channels/base.py", line 59, in wrapper
    result = await command(*args, **kwds)
  File "/usr/local/lib/python3.9/site-packages/zhaquirks/tuya/__init__.py", line 1039, in command
    TUYA_COVER_COMMAND[manufacturer][command_id],
KeyError: '_TZE200_rmymn92d'

@operinko check this https://github.com/zigpy/zha-device-handlers/issues/744#issuecomment-1010750485
Buttons works now without errors, but nothing happens

Any update on support this device?

@operinko When adding a custom quirk, you also want to update the information here: https://github.com/zigpy/zha-device-handlers/blob/e4e62504738ced0c54c983ee5094a3a6af0a741d/zhaquirks/tuya/init.py#L94-L111
If I remember correctly the structure for the custom quirk directory should look like this then:
/config/custom_quirks/tuya:
-- __init.py__ (modified)
-- ts0601_cover.py (modified)

So you will see the device in HA, you can even check the status (open/close). But the buttons will not work
/config/custom_zha_quirks/TS0601_Covertest.py
"""Tuya based cover and blinds."""
from zigpy.profiles import zha
from zigpy.zcl.clusters.general import Basic, Groups, Identify, OnOff, Ota, Scenes, Time, GreenPowerProxy
# from zigpy.zcl.clusters.closures import WindowCovering
# from zigpy.quirks import CustomCluster, CustomDevice
# import zigpy.types as t

from zhaquirks.const import (
    DEVICE_TYPE,
    ENDPOINTS,
    INPUT_CLUSTERS,
    MODELS_INFO,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
)
from zhaquirks.tuya import (
    TuyaManufacturerWindowCover,
    TuyaManufCluster,
    TuyaWindowCover,
    TuyaWindowCoverControl,
)

class TuyaCover0601_TO_GPP(TuyaWindowCover):
    """Tuya blind controller device with time on out and GPP."""

    signature = {
        # "node_descriptor": "NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=4098,
        #                    maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264,
        #                    maximum_outgoing_transfer_size=82, descriptor_capability_field=0)",
        # "endpoints": {
        # "1": { "profile_id": 260, "device_type": "0x0051", "in_clusters": [ "0x0000", "0x0004","0x0005","0xef00"],
        # "out_clusters": ["0x000a","0x0019"] } },
        MODELS_INFO: [
            ("_TZE200_r0jdjrvi", "TS0601"),
            ("_TZE200_rmymn92d", "TS0601"),
        ],
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: 0x0051, # zha.DeviceType.SMART_PLUG,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaManufCluster.cluster_id,
                    #WindowCovering.cluster_id
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            },
            242: {
                # <SimpleDescriptor endpoint=242 profile=41440 device_type=97
                # input_clusters=[]
                # output_clusters=[33]
                PROFILE_ID: 41440,
                DEVICE_TYPE: 0x0061, #97,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
            },
        },
    }

    replacement = {
        ENDPOINTS: {
            1: {
                DEVICE_TYPE: zha.DeviceType.WINDOW_COVERING_DEVICE,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaManufacturerWindowCover,
                    TuyaWindowCoverControl,
                    #TuyaCoveringCluster,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            },
            242: {
                PROFILE_ID: 41440,
                DEVICE_TYPE: 97,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
            },
        },
    }

/config/custom_zha_quirks/init.py lines 109-110
    "_TZE200_r0jdjrvi": {0x0000: 0x0000, 0x0001: 0x0002, 0x0002: 0x0001},
    "_TZE200_rmymn92d": {0x0000: 0x0000, 0x0001: 0x0002, 0x0002: 0x0001},

@Kiread-work.  The new HA version borked my quirk.  Actually the custom quirk borked my ZHA network so I've removed it which means it cannot even track state of _TZE200_rmymn92d.  We have confirmation that the code is working in MQTT and I submitted a PR for the cover inversion in my journey to figure out the difference in the code but I think we're going to need a new custom quirk to use, is that correct?  Something has changed where HA really didn't like that custom quirk being there.
How are things looking for you? still the same?  This is now the last device in my home that HA cannot control :(

@SergeantPup shame on you =) Just updated HA to core-2022.4.1 on 5.10.108 HAOS and my Xiaomi Humidifier stoped working =))
Maybe I could find some time to restore integration with humidifier and windows cover _TZE200_r0jdjrvi

@SergeantPup well it works (status, not buttons). Nothing changed.
Button press drops another error now.

I put it back in and it borked my zha network again so I took it out again.  Tracking the curtain isn't THAT important without control.  This must be something trivial.  Halk tempted to just buy another head unit but I have a 50% shot it might be the same chip :(

Can you send the latest version of the quirk that used to "work"?
Is there anything in the (debug) logs when the quirk screws up ZHA?

Hello Julian!
Here is the error I get when the quirk is present but makes the rest of my ZHA unresponsive:
Logger: homeassistant.config_entries
Source: custom_zha_quirks/tuya/__init__.py:263
First occurred: 8:04:45 PM (1 occurrences)
Last logged: 8:04:45 PM

Error setting up entry Zigbee Network for zha
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 335, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 99, in async_setup_entry
    setup_quirks(config)
  File "/usr/local/lib/python3.9/site-packages/zhaquirks/__init__.py", line 409, in setup
    importer.find_module(modname).load_module(modname)
  File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 1029, in load_module
  File "<frozen importlib._bootstrap_external>", line 854, in load_module
  File "<frozen importlib._bootstrap>", line 274, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/config/custom_zha_quirks/tuya/__init__.py", line 263, in <module>
    class TuyaManufCluster(CustomCluster):
  File "/usr/local/lib/python3.9/site-packages/zigpy/zcl/__init__.py", line 91, in __init_subclass__
    raise TypeError(
TypeError: `manufacturer_client_commands` is deprecated. Copy the parent class's `client_commands` dictionary and update it with your manufacturer-specific `client_commands`. Make sure to specify that it is manufacturer-specific through the  appropriate constructor or tuple!

Here is the last known working quirk before the April update.
tuya.zip

You can try this tuya folder:
tuya.zip

Logger: homeassistant.config_entries
Source: custom_zha_quirks/tuya/ts0601_cover.py:101
First occurred: 8:20:25 PM (1 occurrences)
Last logged: 8:20:25 PM

Error setting up entry Zigbee Network for zha
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 335, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/zha/__init__.py", line 99, in async_setup_entry
    setup_quirks(config)
  File "/usr/local/lib/python3.9/site-packages/zhaquirks/__init__.py", line 409, in setup
    importer.find_module(modname).load_module(modname)
  File "<frozen importlib._bootstrap_external>", line 529, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 1029, in load_module
  File "<frozen importlib._bootstrap_external>", line 854, in load_module
  File "<frozen importlib._bootstrap>", line 274, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 711, in _load
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/config/custom_zha_quirks/tuya/ts0601_cover.py", line 71, in <module>
    class TuyaZemismartSmartCover0601_4(TuyaWindowCover):
  File "/config/custom_zha_quirks/tuya/ts0601_cover.py", line 101, in TuyaZemismartSmartCover0601_4
    OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
NameError: name 'GreenPowerProxy' is not defined

tuya.zip

ZHA network and device tracking of _TZE200_rmymn92d are concurrently working again with 2022.4.3.  Thank you!
I think I'm getting different errors for the _TZE200_rmymn92d command sends now (which is what the other user was reporting).
Here is a successful command on working device: _TZE200_xaabybja with Nwk: 0xd775 (this device works fine)
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 89 (incomingRouteRecordHandler) received: b'75d7abb7d1feff81f68cffb401acc7'
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0xd775, 8c:f6:81:ff:fe:d1:b7:ab, 255, -76, [0xc7ac]]
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0xd775, 8c:f6:81:ff:fe:d1:b7:ab, 255, -76, [0xc7ac])
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000cfffb775d7ffff0a09530100c7070400010004'
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=207), 255, -73, 0xd775, 255, 255, b'\tS\x01\x00\xc7\x07\x04\x00\x01\x00']
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Received ZCL frame: b'\tS\x01\x00\xc7\x07\x04\x00\x01\x00'
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=83, command_id=1, *is_reply=True)
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=199, command_id=1031, function=0, data=[1, 0]))
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Received command 0x01 (TSN 83): get_data(param=Command(status=0, tsn=199, command_id=1031, function=0, data=[1, 0]))
2022-04-13 20:45:41 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 199, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 89 (incomingRouteRecordHandler) received: b'75d7abb7d1feff81f68cffb801acc7'
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0xd775, 8c:f6:81:ff:fe:d1:b7:ab, 255, -72, [0xc7ac]]
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0xd775, 8c:f6:81:ff:fe:d1:b7:ab, 255, -72, [0xc7ac])
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000d0ffb575d7ffff0d09540100c8030200040000006404'
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=208), 255, -75, 0xd775, 255, 255, b'\tT\x01\x00\xc8\x03\x02\x00\x04\x00\x00\x00d']
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Received ZCL frame: b'\tT\x01\x00\xc8\x03\x02\x00\x04\x00\x00\x00d'
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=84, command_id=1, *is_reply=True)
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=200, command_id=515, function=0, data=[4, 0, 0, 0, 100]))
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Received command 0x01 (TSN 84): get_data(param=Command(status=0, tsn=200, command_id=515, function=0, data=[4, 0, 0, 0, 100]))
2022-04-13 20:45:41 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 200, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 100]]
2022-04-13 20:45:41 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xD775:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 100
2022-04-13 20:45:41 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Tuya Attribute Cache : [{8: 100}]
2022-04-13 20:45:41 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 100

Here is the new error from _TZE200_rmymn92d with Nwk: 0xc7ac (this is the device that's accurately tracking state and not responding to button presses).
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4417, tsn=95, command_id=0, *is_reply=False)
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 1]))
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Send command sendUnicast: (<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 0xC7AC, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=95), 96, b'\x05A\x11_\x00\x00\x00\x01\x04\x00\x01\x01')
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 52 (sendUnicast) received: b'00a8'
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 63 (messageSentHandler) received: b'00acc7040100ef010140010000a8600000'
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Received messageSentHandler frame with [<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 51116, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=168), 96, <EmberStatus.SUCCESS: 0>, b'']
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef0101000100003effb5acc7ffff05185f0b008302'
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=62), 255, -75, 0xc7ac, 255, 255, b'\x18_\x0b\x00\x83']
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Received ZCL frame: b'\x18_\x0b\x00\x83'
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=95, command_id=11, *is_reply=True)
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:Default_Response(command_id=0, status=<Status.UNSUP_MANUF_CLUSTER_COMMAND: 131>)
2022-04-13 20:45:41 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xC7AC:1:0x0102]: executed 'stop' command with args: '()' kwargs: '{}' result: Default_Response(command_id=0, status=<Status.UNSUP_MANUF_CLUSTER_COMMAND: 131>)
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 89 (incomingRouteRecordHandler) received: b'75d7abb7d1feff81f68cffb401acc7'
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0xd775, 8c:f6:81:ff:fe:d1:b7:ab, 255, -76, [0xc7ac]]
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0xd775, 8c:f6:81:ff:fe:d1:b7:ab, 255, -76, [0xc7ac])
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000cfffb775d7ffff0a09530100c7070400010004'
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=207), 255, -73, 0xd775, 255, 255, b'\tS\x01\x00\xc7\x07\x04\x00\x01\x00']
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Received ZCL frame: b'\tS\x01\x00\xc7\x07\x04\x00\x01\x00'
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=83, command_id=1, *is_reply=True)
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=199, command_id=1031, function=0, data=[1, 0]))
2022-04-13 20:45:41 DEBUG (MainThread) [zigpy.zcl] [0xD775:1:0xef00] Received command 0x01 (TSN 83): get_data(param=Command(status=0, tsn=199, command_id=1031, function=0, data=[1, 0]))
2022-04-13 20:45:41 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 199, Command: 0x0407, Function: 0x00, Data: [1, 0]]
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 89 (incomingRouteRecordHandler) received: b'75d7abb7d1feff81f68cffb801acc7'
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0xd775, 8c:f6:81:ff:fe:d1:b7:ab, 255, -72, [0xc7ac]]
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0xd775, 8c:f6:81:ff:fe:d1:b7:ab, 255, -72, [0xc7ac])
2022-04-13 20:45:41 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000d0ffb575d7ffff0d09540100c8030200040000006404'

Just to confirm, do your debug logs (from [tuya]) ever log something including the text Sending Tuya?

I just ran an open/stop/close command on _TZE200_xaabybja 0xb41c.  61 entries for "0xb41c" and 38 entries for "tuya" (none say sending:
2022-04-13 21:31:34 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:34 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:35 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000b5ffbf1cb4ffff0a09590100000104000102'
2022-04-13 21:31:35 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=181), 255, -65, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:35 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:35 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000b6ffbf1cb4ffff0a09590100000104000102'
2022-04-13 21:31:35 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=182), 255, -65, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:35 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:35 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000b7ffbf1cb4ffff0a09590100000104000102'
2022-04-13 21:31:35 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=183), 255, -65, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:35 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:35 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000b8ffbf1cb4ffff0a09590100000104000102'
2022-04-13 21:31:35 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=184), 255, -65, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:35 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:35 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000b9ffbf1cb4ffff0a09590100000104000102'
2022-04-13 21:31:35 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=185), 255, -65, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:35 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:35 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:36 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000baffbe1cb4ffff0a09590100000104000102'
2022-04-13 21:31:36 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=186), 255, -66, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:36 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report.  Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:36 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 63 (messageSentHandler) received: b'00d7dc0401000501014001000089930000'
2022-04-13 21:31:36 DEBUG (MainThread) [bellows.zigbee.application] Received messageSentHandler frame with [<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 56535, EmberApsFrame(profileId=260, clusterId=1280, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=137), 147, <EmberStatus.SUCCESS: 0>, b'']
2022-04-13 21:31:36 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000bcf0bf1cb4ffff0a09590100000104000102'
2022-04-13 21:31:36 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=188), 240, -65, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:36 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:36 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000bdffbf1cb4ffff0a09590100000104000102'
2022-04-13 21:31:36 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=189), 255, -65, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:36 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:36 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:37 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000beffbf1cb4ffff0a09590100000104000102'
2022-04-13 21:31:37 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=190), 255, -65, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:37 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:37 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000bfffbf1cb4ffff0a09590100000104000102'
2022-04-13 21:31:37 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=191), 255, -65, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:37 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]
2022-04-13 21:31:37 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000c0ffbf1cb4ffff0a09590100000104000102'
2022-04-13 21:31:37 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=192), 255, -65, 0xb41c, 255, 255, b'\tY\x01\x00\x00\x01\x04\x00\x01\x02']
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received ZCL frame: b'\tY\x01\x00\x00\x01\x04\x00\x01\x02'
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=89, command_id=1, *is_reply=True)
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:37 DEBUG (MainThread) [zigpy.zcl] [0xB41C:1:0xef00] Received command 0x01 (TSN 89): get_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-13 21:31:37 DEBUG (MainThread) [tuya] b4:e3:f9:ff:fe:0c:51:6e Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 0, Command: 0x0401, Function: 0x00, Data: [1, 2]]

The device that's tracking state but not controlling has "sending tuya" commands:
2022-04-13 21:39:18 DEBUG (MainThread) [bellows.ezsp.protocol] Send command nop: ()
2022-04-13 21:39:18 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 5 (nop) received: b''
2022-04-13 21:39:18 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=cover, service=open_cover, service_data=entity_id=cover.media_room_curtains_2>
2022-04-13 21:39:18 DEBUG (MainThread) [tuya] a4:c1:38:bd:76:6f:43:4c Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0000, Arguments are ()
2022-04-13 21:39:18 DEBUG (MainThread) [tuya] a4:c1:38:bd:76:6f:43:4c Sending Tuya Command.  Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0002, Arguments are ()
2022-04-13 21:39:20 DEBUG (MainThread) [tuya] a4:c1:38:bd:76:6f:43:4c Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 1]]
2022-04-13 21:39:20 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4417, tsn=60, command_id=0, *is_reply=False)
2022-04-13 21:39:20 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 1]))
2022-04-13 21:39:20 DEBUG (MainThread) [bellows.ezsp.protocol] Send command sendUnicast: (<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 0xC7AC, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=60), 61, b'\x05A\x11<\x00\x00\x00\x01\x04\x00\x01\x01')
2022-04-13 21:39:20 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 52 (sendUnicast) received: b'001b'
2022-04-13 21:39:20 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 63 (messageSentHandler) received: b'00acc7040100ef0101400100001b3d0000'
2022-04-13 21:39:20 DEBUG (MainThread) [bellows.zigbee.application] Received messageSentHandler frame with [<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 51116, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=27), 61, <EmberStatus.SUCCESS: 0>, b'']
2022-04-13 21:39:20 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000cdf0b9acc7ffff05183c0b008302'
2022-04-13 21:39:20 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=205), 240, -71, 0xc7ac, 255, 255, b'\x18<\x0b\x00\x83']
2022-04-13 21:39:20 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Received ZCL frame: b'\x18<\x0b\x00\x83'
2022-04-13 21:39:20 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=60, command_id=11, *is_reply=True)
2022-04-13 21:39:20 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:Default_Response(command_id=0, status=<Status.UNSUP_MANUF_CLUSTER_COMMAND: 131>)

Can you see if there's any difference with this: tuya.zip

Not sure if it helps but this is how the device adds with this quirk in place

Can you completely delete and re-pair the device with the quirk update I've sent a minute ago?

removed device, swapped quirk, rebooted, added device:
2022-04-13 22:16:20 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=cover, service=open_cover, service_data=entity_id=cover.tze200_rmymn92d_ts0601_4c436f76_window_covering>
2022-04-13 22:16:20 DEBUG (MainThread) [tuya] a4:c1:38:bd:76:6f:43:4c Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0000, Arguments are ()
2022-04-13 22:16:20 DEBUG (MainThread) [tuya] a4:c1:38:bd:76:6f:43:4c Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 0]]
2022-04-13 22:16:20 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4417, tsn=1, command_id=0, *is_reply=False)
2022-04-13 22:16:20 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 0]))
2022-04-13 22:16:20 DEBUG (MainThread) [bellows.ezsp.protocol] Send command sendUnicast: (<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 0xC7AC, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=1), 2, b'\x05A\x11\x01\x00\x00\x00\x01\x04\x00\x01\x00')
2022-04-13 22:16:20 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 52 (sendUnicast) received: b'0060'
2022-04-13 22:16:20 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 63 (messageSentHandler) received: b'00acc7040100ef01014001000060020000'
2022-04-13 22:16:20 DEBUG (MainThread) [bellows.zigbee.application] Received messageSentHandler frame with [<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 51116, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=96), 2, <EmberStatus.SUCCESS: 0>, b'']
2022-04-13 22:16:20 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000fbfcb9acc7ffff0518010b0083'
2022-04-13 22:16:20 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=251), 252, -71, 0xc7ac, 255, 255, b'\x18\x01\x0b\x00\x83']
2022-04-13 22:16:20 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Received ZCL frame: b'\x18\x01\x0b\x00\x83'
2022-04-13 22:16:20 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=1, command_id=11, *is_reply=True)
2022-04-13 22:16:20 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:Default_Response(command_id=0, status=<Status.UNSUP_MANUF_CLUSTER_COMMAND: 131>)
2022-04-13 22:16:20 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xC7AC:1:0x0102]: executed 'up_open' command with args: '()' kwargs: '{}' result: Default_Response(command_id=0, status=<Status.UNSUP_MANUF_CLUSTER_COMMAND: 131>)
2022-04-13 22:16:21 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=cover, service=stop_cover, service_data=entity_id=cover.tze200_rmymn92d_ts0601_4c436f76_window_covering>
2022-04-13 22:16:21 DEBUG (MainThread) [tuya] a4:c1:38:bd:76:6f:43:4c Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0002, Arguments are ()
2022-04-13 22:16:21 DEBUG (MainThread) [tuya] a4:c1:38:bd:76:6f:43:4c Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 1]]
2022-04-13 22:16:21 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4417, tsn=3, command_id=0, *is_reply=False)
2022-04-13 22:16:21 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 1]))
2022-04-13 22:16:21 DEBUG (MainThread) [bellows.ezsp.protocol] Send command sendUnicast: (<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 0xC7AC, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=3), 4, b'\x05A\x11\x03\x00\x00\x00\x01\x04\x00\x01\x01')
2022-04-13 22:16:21 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 52 (sendUnicast) received: b'0061'
2022-04-13 22:16:21 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 63 (messageSentHandler) received: b'00acc7040100ef01014001000061040000'
2022-04-13 22:16:21 DEBUG (MainThread) [bellows.zigbee.application] Received messageSentHandler frame with [<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 51116, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=97), 4, <EmberStatus.SUCCESS: 0>, b'']
2022-04-13 22:16:21 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef010100010000fcffb9acc7ffff0518030b0083'
2022-04-13 22:16:21 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=252), 255, -71, 0xc7ac, 255, 255, b'\x18\x03\x0b\x00\x83']
2022-04-13 22:16:21 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Received ZCL frame: b'\x18\x03\x0b\x00\x83'
2022-04-13 22:16:21 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=3, command_id=11, *is_reply=True)
2022-04-13 22:16:21 DEBUG (MainThread) [zigpy.zcl] [0xC7AC:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:Default_Response(command_id=0, status=<Status.UNSUP_MANUF_CLUSTER_COMMAND: 131>)
2022-04-13 22:16:21 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0xC7AC:1:0x0102]: executed 'stop' command with args: '()' kwargs: '{}' result: Default_Response(command_id=0, status=<Status.UNSUP_MANUF_CLUSTER_COMMAND: 131>)
2022-04-13 22:16:22 DEBUG (MainThread) [bellows.ezsp.protocol] Send command nop: ()
2022-04-13 22:16:22 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 5 (nop) received: b''

I don't know why your working blinds don't log any "Sending Tuya". That would mean that this code is never called.
Please check if your logger config (or service call where you set tuya: debug) also contains this:
zhaquirks: debug
Also, can you send me the device signature from both the working cover that does not output the commands and from the non-working cover that outputs the command?

That's correct:
logger:
  default: info
  logs:
    homeassistant.core: debug
    homeassistant.components.zha: debug
    bellows.zigbee.application: debug
    bellows.ezsp: debug
    zigpy: debug
    zigpy_deconz.zigbee.application: debug
    zigpy_deconz.api: debug
    zigpy_xbee.zigbee.application: debug
    zigpy_xbee.api: debug
    zigpy_zigate: debug
    zigpy_znp: debug
    zhaquirks: debug
    tuya: debug

Zigbee device signature of controllable unit:
{
  "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": "0x0202",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0x0102",
        "0xef00"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE200_xaabybja",
  "model": "TS0601",
  "class": "tuya.ts0601_cover.TuyaMoesCover0601"
}

Device signature of tracked but non controlled unit:
{
  "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=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0202",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0x0102",
        "0xef00"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "242": {
      "profile_id": 41440,
      "device_type": "0x0061",
      "in_clusters": [],
      "out_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "_TZE200_rmymn92d",
  "model": "TS0601",
  "class": "tuya.ts0601_cover.TuyaZemismartSmartCover0601_4"
}

Having simular issue,
2022-04-20 09:30:40 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:3a:2a:a7:0e:ee Sending Tuya Cluster Command.. Manufacturer is _TZE200_r0jdjrvi Cluster Command is 0x0001, Arguments are ()
2022-04-20 09:30:40 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:3a:2a:a7:0e:ee Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 2]]
2022-04-20 09:30:40 DEBUG (MainThread) [zigpy.zcl] [0x7B28:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=True, is_reply=0, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), manufacturer=4417, tsn=218, command_id=0, *is_reply=False)
2022-04-20 09:30:40 DEBUG (MainThread) [zigpy.zcl] [0x7B28:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=0, command_id=1025, function=0, data=[1, 2]))
2022-04-20 09:30:40 DEBUG (MainThread) [bellows.ezsp.protocol] Send command sendUnicast: (<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 0x7B28, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=218), 219, b'\x05A\x11\xda\x00\x00\x00\x01\x04\x00\x01\x02')
2022-04-20 09:30:40 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 52 (sendUnicast) received: b'0058'
2022-04-20 09:30:40 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 63 (messageSentHandler) received: b'00287b040100ef01014001000058db0000'
2022-04-20 09:30:40 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef0101000100003174b9287bffff0518da0b0083'
2022-04-20 09:30:40 DEBUG (MainThread) [zigpy.zcl] [0x7B28:1:0xef00] Received ZCL frame: b'\x18\xda\x0b\x00\x83'
2022-04-20 09:30:40 DEBUG (MainThread) [zigpy.zcl] [0x7B28:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=218, command_id=11, *is_reply=True)
2022-04-20 09:30:40 DEBUG (MainThread) [zigpy.zcl] [0x7B28:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:Default_Response(command_id=0, status=<Status.UNSUP_MANUF_CLUSTER_COMMAND: 131>)
Looking at what is send, " b'\x05A\x11\xda\x00\x00\x00\x01\x04\x00\x01\x02')"  This looks to be wrong.
b'\x05A\x11\
xda ==
x00 == Command Word ===== should be 0x04
x0000 == Data length  ===== Should be x0005
x01 == dpID
x04 == Data Type
x0001 == function Length
x02 == Close
Any help would be appriacted

Maybe useful_TZE200_r0jdjrvi is from KKMOON. This is Tuya Spec from KKMOON. (but from a different type, so I don't know if applicable
kkmoon_tuya_cover_spec.pdf
)

Hello,
I've been reviewing the quirk and I have a question:

On the device tracking and not controlling:
    "242": {
      "profile_id": 41440,
      "device_type": "0x0061",
      "in_clusters": [],
      "out_clusters": [
        "0x0021"
      ]

But in the quirk:
            242: {
                PROFILE_ID: 41440,
                DEVICE_TYPE: 0x0061,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
            },

I can't find greenpowerproxy or "0x0021" referenced anywhere in the init.py
Does the device just not know what to do with this and that's why it's trying to make a call?

I think its best keeping it in the replacement so user can see that the router have one ZGPP in the future then its being implanted functions for using ZGPP devices.

yep, it definitely didn't like that.  I'll leave it to the professionals :)

The greenpowerproxy can be added in the custom quicks file. See example below
from zigpy.profiles import zha
from zigpy.zcl.clusters.general import Basic, Groups, Identify, OnOff, Ota, Scenes, Time, GreenPowerProxy
from zigpy.zcl.clusters.closures import WindowCovering
from zigpy.quirks import CustomCluster, CustomDevice
import zigpy.types as t
Sent from my iPad

On 21 Apr 2022, at 18:18, SergeantPup @.***> wrote:

yep, it definitely didn't like that. I'll leave it to the professionals :)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

I noticed some small differences between my zigbee signature and the signature that was provided to create the quirk.  Not sure if this matters or not:

https://github.com/zigpy/zha-device-handlers/issues/1294#issuecomment-1014843749

Just had a quick look: the original "author" didn't update the comment (in green with the # in front). I think updated some lines when sending an updated quirk here but I'm not sure atm.
The quirk needs to match the signature of the device, as it wouldn't be applied otherwise. Since it's applied, the signature should match.

Some new information from https://github.com/zigpy/zha-device-handlers/issues/744
Hope this helps someone, I just spent about 2 hours figuring it out. You can change the speed of the motor by going to developer tools > services, choosing Zigbee Home Automation: Issue zigbee cluster command and use YAML mode to enter this

service: zha.issue_zigbee_cluster_command
data:
  ieee: IEEE of your device, find it in the integration page
  endpoint_id: 1
  command_type: server
  cluster_id: 258
  command: 0x0006
  args:
      - 0
      - 0
      - 0x69
      - 0
      - [4, 0, 0, 0, {integer between 0 - 100}]

Is there already someone who understands the UNSUP_MANUF_CLUSTER_COMMAND: 131 some motors give?

no but I'm suddenly seeing a bunch of this on the logs for this device:
Logger: zigpy.zcl
Source: /usr/local/lib/python3.9/site-packages/zigpy/zcl/__init__.py:230
First occurred: 11:24:06 AM (1396 occurrences)
Last logged: 12:45:51 PM

[0xDBAC:1:0xef00] Unknown cluster command 2 b'@\x83\x03\x02\x00\x04\x00\x00\x00\x00'
[0xDBAC:1:0xef00] Unknown cluster command 2 b'@\x83\x01\x04\x00\x01\x01'
[0xDBAC:1:0xef00] Unknown cluster command 2 b'@\x84\x03\x02\x00\x04\x00\x00\x00\x00'
[0xDBAC:1:0xef00] Unknown cluster command 2 b'@\x84\x01\x04\x00\x01\x01'
[0xDBAC:1:0xef00] Unknown cluster command 2 b'@\x85\x03\x02\x00\x04\x00\x00\x00\x00'

What has changed? I have tried several things, but still no solution

Somehow I managed to get the UNSUP_MANUF_CLUSTER_COMMAND resolved.
In the Tuya init.py TuyaManufcluster class I changed in server_commands, 0x0000 the is_manufacture_specific from True to False.
For me this works, don’t know if it’s the correct way to solve the issue.

Open, Close and Stop does not yet work, goto lift percentage does

sorry I left you hanging, I'm still wholly invested in this.  When you asked me 'what's changed?' it could literally be a zillion things.  I went on the 2022.05 beta from the start and it's been expansive and time consuming.  Could it be related to that? I have no idea, but I know there were a few different ZWV and ZHA issues reported in that beta that were resolved (including one for curtains pulling initial state).
I had removed the ZHA logging, I wouldn't think that would've given me additional logs and my Logger was provided by Julien, I just pulled it out because it was making my logs too chatty in beta.
At this point, I don't know if we're on the same quirk or not.  Can you point me to the quirk you're using with these results please?

@ruudkoeyvoets please provide your custom-quirk
Mine doesn't have the ability to open/close by percentage

Open, close and stop also work:
"_TZE200_r0jdjrvi": {0x0000: 0x0002, 0x0001: 0x0000, 0x0002: 0x0001},

Custom Quirk is default one:
    MODELS_INFO: [
    ("_TZE200_r0jdjrvi", "TS0601"),
    ],
    ENDPOINTS: {
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                TuyaManufCluster.cluster_id,
            ],
            OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
        },
        242: {
            # <SimpleDescriptor endpoint=242 profile=41440 device_type=97
            # input_clusters=[]
            # output_clusters=[33]
            PROFILE_ID: 41440,
            DEVICE_TYPE: 0x0061,
            INPUT_CLUSTERS: [],
            OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
        },
    },
}

replacement = {
    ENDPOINTS: {
        1: {
            DEVICE_TYPE: zha.DeviceType.WINDOW_COVERING_DEVICE,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,

TuyaManufCluster.cluster_id,
                TuyaManufacturerWindowCover,
                TuyaWindowCoverControl,
            ],
            OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
        },
        242: {
            PROFILE_ID: 41440,
            DEVICE_TYPE: 97,
            INPUT_CLUSTERS: [],
            OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
        },
    },
}

doesn't look like it

@SergeantPup check your model in this section
MODELS_INFO: [
("_TZE200_r0jdjrvi", "TS0601"),
],

oh yes

:

Can you check if the signature changed? Otherwise, enable debug logs in the config file and restart Home Assistant. It'll mention why a quirk doesn't match for any device.

Something definitely changed from my screenshots a few weeks ago to the current zha sig:

I had to re-add the logger, rebooting now

Mhm, the device_type is changed by the quirk (from SMART_PLUG to WINDOW_COVERING_DEVICE).
Otherwise, the signature looks to be the same?
Not sure why the quirk isn't applying atm.

@SergeantPup deleting the   __pycache__   folder in your custom quirk folder and restating HA and posting Zigbee device signature or the downloaded diagnostic.

@SergeantPup deleting the __pycache__  folder in your custom quirk folder and restating HA and posting Zigbee device signature and / or the downloaded diagnostic.

DELETING !!!

Can't see percentage control :(
But the buttons are working!

@SergeantPup check in i_init__.py

class TuyaManufCluster(CustomCluster)
.....

just changed that and buttons work!

Do all other curtains still work when all messages are no longer sent as manufacturer specific ones?
Also, is everything working now? (with that additional change)

How I can remap close/open buttons?
Adding my device to the TUYA_COVER_INVERTED_BY_DEFAULT doesn't help

You have to invert it on the device itself.  I had to do this also when it started working.
On the remote Press and Hold Open/Close at the same time until the curtains respond back and forth.  Then long press (or press 3 times) the stop button.  Curtain will respond back and forth again, HA should be in synch at that point.  I still have the inverted command line in there.  I removed it and re-added it multiple times and the controls were still backwards but when I reversed the device, everything got aligned.

 Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0002, Arguments are ()
2022-05-04 15:02:21 DEBUG (MainThread) [tuya] a4:c1:38:bd:76:6f:43:4c Sending Tuya Command.  Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0000, Arguments are ()
2022-05-04 15:02:22 DEBUG (MainThread) [tuya] a4:c1:38:bd:76:6f:43:4c Sending Tuya Command.  Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 38, Command: 0x0401, Function: 0x00, Data: [1, 1]]
2022-05-04 15:04:09 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef01010001000022ffbc8b44ffff0a09700100260104000101'
2022-05-04 15:04:09 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=34), 255, -68, 0x448b, 255, 255, b'\tp\x01\x00&\x01\x04\x00\x01\x01']
2022-05-04 15:04:09 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received ZCL frame: b'\tp\x01\x00&\x01\x04\x00\x01\x01'
2022-05-04 15:04:09 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=112, command_id=1, *is_reply=True)
2022-05-04 15:04:09 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:09 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received command 0x01 (TSN 112): get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:09 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 38, Command: 0x0401, Function: 0x00, Data: [1, 1]]
2022-05-04 15:04:09 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef01010001000023ffbc8b44ffff0a09700100260104000101'
2022-05-04 15:04:09 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=35), 255, -68, 0x448b, 255, 255, b'\tp\x01\x00&\x01\x04\x00\x01\x01']
2022-05-04 15:04:09 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received ZCL frame: b'\tp\x01\x00&\x01\x04\x00\x01\x01'
2022-05-04 15:04:09 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=112, command_id=1, *is_reply=True)
2022-05-04 15:04:09 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:09 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received command 0x01 (TSN 112): get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:09 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 38, Command: 0x0401, Function: 0x00, Data: [1, 1]]
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef01010001000024ffbc8b44ffff0a09700100260104000101'
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=36), 255, -68, 0x448b, 255, 255, b'\tp\x01\x00&\x01\x04\x00\x01\x01']
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received ZCL frame: b'\tp\x01\x00&\x01\x04\x00\x01\x01'
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=112, command_id=1, *is_reply=True)
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received command 0x01 (TSN 112): get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:10 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 38, Command: 0x0401, Function: 0x00, Data: [1, 1]]
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef01010001000025ffbc8b44ffff0a09700100260104000101'
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=37), 255, -68, 0x448b, 255, 255, b'\tp\x01\x00&\x01\x04\x00\x01\x01']
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received ZCL frame: b'\tp\x01\x00&\x01\x04\x00\x01\x01'
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=112, command_id=1, *is_reply=True)
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received command 0x01 (TSN 112): get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:10 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 38, Command: 0x0401, Function: 0x00, Data: [1, 1]]
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef01010001000026ffbc8b44ffff0a09700100260104000101'
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=38), 255, -68, 0x448b, 255, 255, b'\tp\x01\x00&\x01\x04\x00\x01\x01']
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received ZCL frame: b'\tp\x01\x00&\x01\x04\x00\x01\x01'
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=112, command_id=1, *is_reply=True)
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received command 0x01 (TSN 112): get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:10 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 38, Command: 0x0401, Function: 0x00, Data: [1, 1]]
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'0004010204010140010000b4f6bf8744ffff08086b0a000029fd08'
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=1026, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=180), 246, -65, 0x4487, 255, 255, b'\x08k\n\x00\x00)\xfd\x08']
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x4487:1:0x0402] Received ZCL frame: b'\x08k\n\x00\x00)\xfd\x08'
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x4487:1:0x0402] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True), tsn=107, command_id=10, *is_reply=True)
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x4487:1:0x0402] Decoded ZCL frame: TemperatureMeasurement:Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=2301))])
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x4487:1:0x0402] Received command 0x0A (TSN 107): Report_Attributes(attribute_reports=[Attribute(attrid=0x0000, value=TypeValue(type=int16s, value=2301))])
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x4487:1:0x0402] Attribute report received: measured_value=2301
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x4487:1:0x0402] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, is_reply=1, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True), tsn=107, command_id=<GeneralCommand.Default_Response: 11>, *is_reply=True)
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x4487:1:0x0402] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.ezsp.protocol] Send command sendUnicast: (<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 0x4487, EmberApsFrame(profileId=260, clusterId=1026, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=107), 178, b'\x18k\x0b\n\x00')
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 52 (sendUnicast) received: b'00b3'
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef01010001000027ffbc8b44ffff0a09700100260104000101'
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=39), 255, -68, 0x448b, 255, 255, b'\tp\x01\x00&\x01\x04\x00\x01\x01']
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received ZCL frame: b'\tp\x01\x00&\x01\x04\x00\x01\x01'
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=112, command_id=1, *is_reply=True)
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:10 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received command 0x01 (TSN 112): get_data(param=Command(status=0, tsn=38, command_id=1025, function=0, data=[1, 1]))
2022-05-04 15:04:10 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 38, Command: 0x0401, Function: 0x00, Data: [1, 1]]
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 63 (messageSentHandler) received: b'00874404010204010140010000b3b20000'
2022-05-04 15:04:10 DEBUG (MainThread) [bellows.zigbee.application] Received messageSentHandler frame with [<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 17543, EmberApsFrame(profileId=260, clusterId=1026, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=179), 178, <EmberStatus.SUCCESS: 0>, b'']
2022-05-04 15:04:11 DEBUG (MainThread) [bellows.ezsp.protocol] Application frame 69 (incomingMessageHandler) received: b'00040100ef01010001000028ffbc8b44ffff0d09710100270302000400000000'
2022-05-04 15:04:11 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=40), 255, -68, 0x448b, 255, 255, b"\tq\x01\x00'\x03\x02\x00\x04\x00\x00\x00\x00"]
2022-05-04 15:04:11 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received ZCL frame: b"\tq\x01\x00'\x03\x02\x00\x04\x00\x00\x00\x00"
2022-05-04 15:04:11 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, is_reply=1, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=113, command_id=1, *is_reply=True)
2022-05-04 15:04:11 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Decoded ZCL frame: TuyaManufacturerWindowCover:get_data(param=Command(status=0, tsn=39, command_id=515, function=0, data=[4, 0, 0, 0, 0]))
2022-05-04 15:04:11 DEBUG (MainThread) [zigpy.zcl] [0x448B:1:0xef00] Received command 0x01 (TSN 113): get_data(param=Command(status=0, tsn=39, command_id=515, function=0, data=[4, 0, 0, 0, 0]))
2022-05-04 15:04:11 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Received Attribute Report. Command is 0x0001, Tuya Paylod values[Status : 0, TSN: 39, Command: 0x0203, Function: 0x00, Data: [4, 0, 0, 0, 0]]
2022-05-04 15:04:11 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x448B:1:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 0
2022-05-04 15:04:11 DEBUG (MainThread) [tuya] 8c:f6:81:ff:fe:d1:b7:ab Tuya Attribute Cache : [{8: 0}]
2022-05-04 15:04:11 DEBUG (MainThread) [homeassistant.components.zha.cover] setting position: 0
I can control open/stop/close/position on all devices including: _TZE200_rmymn92d and all accurately track state

@SergeantPup Can it be inverted without external remote? I don't have it =)

I just read through all the instructions and all of them involve the remote for mine.

on Hubitat, we had a button to invert.  Something to think about

How I can remap close/open buttons?

Did you try changing around the values for your cover in TUYA_COVER_COMMAND in __init__.py (tuya folder)?
(Would only affect open/close)

@Kiread-work try sending attribute https://github.com/zigpy/zha-device-handlers/blob/0163c7ca3dff3508544bca0d57b57d0156342c80/zhaquirks/tuya/init.py#L102
with 0/1 or on/off or true/false.
By the way i like your naming of the new device class !!!

Its 0 or 1 :-))
https://github.com/zigpy/zha-device-handlers/blob/0163c7ca3dff3508544bca0d57b57d0156342c80/zhaquirks/tuya/__init__.py#L1071

@MattWestb @TheJulianJES Hi! Tried fix from here for _TZE200_nogaemzt motor with the identical signature. Buttons work, but only visually, curtains are not reacting. When triggering open/close, these buttons became gray infinitely until stop button is pressed. No any errors in the log, only <Status.SUCCESS: 0>. Any ideas what can cause this problem?

@kolmakova Did you change the is_manufacturer_specific=True to is_manufacturer_specific=False (near TuyaManufCluster in __init__.py) for the custom quirk?

@[kolmakova] Did you try the percentage control? Does it work?

@Kiread-work Wow, didn't know that there is percentage control. Found it, works, thanks! But buttons still unusable.
Yes, I've added my device into TUYA_COVER_COMMAND.

Try changing Tuya_cover_command and I think your button will work.

I've tried almost all combinations of 0x0001, 0x0002 and 0x0000, no success :/

@kolmakova Mine only works after I added it to the TUYA_COVER_INVERTED_BY_DEFAULT section
Also changed True to False here
    server_commands = {
        0x0000: foundation.ZCLCommandDef(
            "set_data", {"param": Command}, False, is_manufacturer_specific=False#True
        ),

What’s the latest on this? I just purchased this Zemismart curtain motor and I would like to use in ZHA. Are we able to create a official quirk for it?

Can someone create a PR for this, if this is working now? Thanks! 🥇

@kolmakova Mine only works after I added it to the TUYA_COVER_INVERTED_BY_DEFAULT section Also changed True to False here
    server_commands = {
        0x0000: foundation.ZCLCommandDef(
            "set_data", {"param": Command}, False, is_manufacturer_specific=False#True
        ),

I can confirm the quirk, in addition to this change works!

I have a _TZE200_rmymn92d and am struggling to get the quirk working.
I have tried:
(1) downloaded https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/ts0601_cover.py and saved to config/custom_zha_quirks
(2) Replaced line 266 under MODELS_INFO from ("_TZE200_3i3exuay", "TS0601"), to ("_TZE200_rmymn92d", "TS0601"), then saved
(3) Added /config/custom_zha_quirks/init.py
(4) Changed "set_data", {"param": Command}, False, is_manufacturer_specific=True to "set_data", {"param": Command}, False, is_manufacturer_specific=False#True
(5) Deleted the cached file in __config/custom_zha_quirks/pycache
(6) Re-paired the curtain motor to ZHA
(7) Restarted HA
I've also tried a combination of (4) and (3) in different order.
I have quirks for other devices, so I assume I'm doing the right procedure (mostly), but I can't see that the quirk is loading for this device.
Logs are here
2023-03-14 19:07:24.955 WARNING (MainThread) [zhaquirks] Loaded custom quirks.  Thanks.

Hi all, has anyone got any suggestions on why this is not working for me? Thanks.

You're in luck.  I just migrated my Home Assistant this week and my _TZE200_rmymn92d was the last device that I successfully moved yesterday and I can confirm that my quirk is working on a brand new install.  The easiest way I found to do this (in the last dozen times I've done this) is to use something like Samba share to swap out the files.
After a reboot, put this in your config yaml to start reading the quirk:
zha:   enable_quirks: true   custom_quirks_path: /config/custom_zha_quirks/
I can give you a copy of my file if you choose how you want me to get it to you.  There's no other custom quirk in it, the only custom quirk I have is for _TZE200_rmymn92d and that's all that's in the fileset.  I DO recall from the previous times I did this that the file structure matters and it won't work if you don't have everything aligned just so (and I think there's a counterintuitive requirement here).  Yesterday I basically did a lift and shift to a HA yellow and it the curtain immediately showed entities after I installed this.

Isn't there a way to get this quirk included in main ZHA so it works for everyone?

Isn't there a way to get this quirk included in main ZHA so it works for everyone?

Yes but.  If I recall correctly, the person who was helping me with this quirk had some unanswered questions about this device and the logs and I think that's what was preventing a permanent solution.  My HA suggests where I should consider a pr for this custom quirk.  I just never considered mine a "complete" or "correct" solution; however, I will admit it works enough to where I've had this curtain rail automated for a year with this quirk.
The outstanding item on this device was: from all that we can tell, the curtain functionality works (open/close/pause) but it was still throwing some errors in the zha logs (nothing critical).  Something about it looked like it was trying to call home with a date/time (which didn't make sense).  This functionality isn't present in the other motor thats just like this with a different model number (TZE200_xaabybja).
I thought it was also missing LQI or RSSI but I just looked and it appears to be functioning.  Perhaps my memory is failing me on what the missing functionality was.
I think we always figured somebody would come along and solve the mystery and "finish" the quirk.
If you think its helpful to put in a pr for this quirk just with the knowledge that open close and pause works, then I'll be happy to submit my quirk for that.  I'm just not sure my quirk is "best".

Thanks a lot SergeantPup. Can you upload it to here: https://www.dropbox.com/request/X6Oj3LXZpuoYaz9MGERM

Thanks a lot SergeantPup. Can you upload it to here: https://www.dropbox.com/request/X6Oj3LXZpuoYaz9MGERM

done.  Just reboot before you add the line in your config file pointing at the quirk

Thanks.
Before using your files, I removed my existing quirks and the pycache, removed my custom quirks reference in configuration.yaml and rebooted HA.
I then copied across your files straight from what you uploaded. I rebooted, added in the zha quirks reference to configuration.yaml, and rebooted once again.
I re-paired the device but it wasn't loading the quirk. I looked at the logs and it gave this error:
Logger: zhaquirks
Source: custom_zha_quirks/ts0601_cover.py:13
First occurred: 10:06:58 AM (1 occurrences)
Last logged: 10:06:58 AM

Unexpected exception importing custom quirk 'ts0601_cover'
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/zhaquirks/__init__.py", line 454, in setup
    importer.find_module(modname).load_module(modname)
  File "<frozen importlib._bootstrap_external>", line 548, in _check_name_wrapper
  File "<frozen importlib._bootstrap_external>", line 1063, in load_module
  File "<frozen importlib._bootstrap_external>", line 888, in load_module
  File "<frozen importlib._bootstrap>", line 290, in _load_module_shim
  File "<frozen importlib._bootstrap>", line 719, in _load
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/custom_zha_quirks/ts0601_cover.py", line 13, in <module>
    from . import (
ImportError: attempted relative import with no known parent package

Looking at your quirk, Line 13 was a little different to what I had before. Your's had:
from . import (

So I changed that to:
from zhaquirks.tuya import (

After another reboot, the error has gone and I can see the quirk is being applied. I now also see the controls for the device. Unfortunately, they don't do anything.

If you think its helpful to put in a pr for this quirk just with the knowledge that open close and pause works, then I'll be happy to submit my quirk for that. I'm just not sure my quirk is "best".

That's much better than having nothing at all. I would definitely appreciate this PR. 👍🏼

ts0601_cover.py
init.py

Thank you for providing the files. I needed to change line 13 to from zha_quirks import ( because I named the folder like this: /config/zha_quirks/ts0601_cover_local.py
Now it is working fine, so thank you for everyone involved. 🥇
Still it would be better if this was provided as a PR.
That's also what the warning in the log says:
Loaded custom quirks. Please contribute them to https://github.com/zigpy/zha-device-handlers

The custom quirk seems not working on _TZE200_rmymn92d.
I can see the status of the curtain track, but no response after “sending command “.

I have a _TZE200_rmymn92d here. I tried everything, including

removing  __pycache__
using __init__.py and ts0601_cover.py above in the @ToastySefac 's comment
enable zha's enable_quirks in yaml

. The UI shows the status and buttons. But neither the slider nor the buttons work. I don't see tuya-related import errors and I can see "sending tuya command"s. The curtain track just doesn't move at all.
2023-07-27 02:10:46.649 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0005, Arguments are (69,)
2023-07-27 02:10:46.650 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0202, Function: 0, Data: [4, 0, 0, 0, 31]]
2023-07-27 02:10:47.599 INFO (MainThread) [pyhap.hap_protocol] ('<IP_ADDRESS>', 59989): Connection made to 192 168 86 116
2023-07-27 02:10:47.607 INFO (MainThread) [pyhap.hap_protocol] ('<IP_ADDRESS>', 59990): Connection made to HASS Bridge GZ
2023-07-27 02:10:47.665 INFO (MainThread) [pyhap.hap_protocol] ('<IP_ADDRESS>', 59991): Connection made to HASS Bridge 1W
2023-07-27 02:10:48.010 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0005, Arguments are (88,)
2023-07-27 02:10:48.011 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0202, Function: 0, Data: [4, 0, 0, 0, 12]]
2023-07-27 02:10:49.418 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0005, Arguments are (0,)
2023-07-27 02:10:49.418 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0202, Function: 0, Data: [4, 0, 0, 0, 100]]
2023-07-27 02:10:50.934 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0005, Arguments are (99,)
2023-07-27 02:10:50.935 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0202, Function: 0, Data: [4, 0, 0, 0, 1]]
2023-07-27 02:10:51.505 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0005, Arguments are (85,)
2023-07-27 02:10:51.506 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0202, Function: 0, Data: [4, 0, 0, 0, 15]]
2023-07-27 02:10:52.128 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0005, Arguments are (54,)
2023-07-27 02:10:52.129 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0202, Function: 0, Data: [4, 0, 0, 0, 46]]
2023-07-27 02:10:52.663 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0005, Arguments are (22,)
2023-07-27 02:10:52.664 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0202, Function: 0, Data: [4, 0, 0, 0, 78]]
2023-07-27 02:10:54.164 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0000, Arguments are ()
2023-07-27 02:10:54.165 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 0]]
2023-07-27 02:10:54.432 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0000, Arguments are ()
2023-07-27 02:10:54.433 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 0]]
2023-07-27 02:10:54.628 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0000, Arguments are ()
2023-07-27 02:10:54.628 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 0]]
2023-07-27 02:10:55.277 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0001, Arguments are ()
2023-07-27 02:10:55.277 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 2]]
2023-07-27 02:10:55.432 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0001, Arguments are ()
2023-07-27 02:10:55.432 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 2]]
2023-07-27 02:10:55.577 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0001, Arguments are ()
2023-07-27 02:10:55.578 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 2]]
2023-07-27 02:10:56.178 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Cluster Command.. Manufacturer is _TZE200_rmymn92d Cluster Command is 0x0002, Arguments are ()
2023-07-27 02:10:56.179 DEBUG (MainThread) [zhaquirks.tuya] a4:c1:38:d0:15:3b:4d:38 Sending Tuya Command. Paylod values [endpoint_id : 1, Status : 0, TSN: 0, Command: 0x0401, Function: 0, Data: [1, 1]]
2023-07-27 02:11:07.887 INFO (MainThread) [homeassistant.components.mqtt.discovery] Component has already been discovered: sensor 95d685af-b8d0-43ef-af19-3fd3346bb293 a9054a47-2b53-47a5-92c3-101318046926_info, sending update

Any idea what's going wrong here? Thanks in advance.