Tuya 120v tube motor, Blinds/cover, TS0601 - TZE204_xtrnjaoz

Hello, I am looking to integrate these new tube motors with home assistant.
I can not seem to find any info on making these work, and am tempted to buy a Tuya hub for integration.

I cant get Home Assistant to show any controls

Signature:

{
  "node_descriptor": {
    "logical_type": 1,
    "complex_descriptor_available": 0,
    "user_descriptor_available": 0,
    "reserved": 0,
    "aps_flags": 0,
    "frequency_band": 8,
    "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": "0x0104",
      "device_type": "0x0051",
      "input_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xef00"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    },
    "242": {
      "profile_id": "0xa1e0",
      "device_type": "0x0061",
      "input_clusters": [],
      "output_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "_TZE204_xtrnjaoz",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

I have tried a few different Quirks but was unsuccessful for these cover motors.

With this custom Quirks it mostly works. If I set the configuration state to open, it will open, but not when i use the controls action. Therefor not only do controls not work but I can not set open percentage.

"""Tuya TRV."""

from zigpy.quirks.v2 import EntityPlatform
from zigpy.types import t
from zigpy.zcl.clusters.closures import WindowCovering

from zhaquirks.tuya import TuyaLocalCluster
from zhaquirks.tuya.builder import TuyaQuirkBuilder


class TuyaCoverState(t.enum8):
    """Tuya Cover State enum."""

    Open = 0x00
    Stop = 0x01
    Close = 0x02


class TuyaOpeningMode(t.enum8):
    """Tuya Opening Mode enum."""

    Tilt = 0x00
    Lift = 0x01


class TuyaWorkState(t.enum8):
    """Tuya Work State enum."""

    Standby = 0x00
    Success = 0x01
    Learning = 0x02


class TuyaMotorDirection(t.enum8):
    """Tuya Motor Direction enum."""

    Left = 0x00
    Right = 0x01


class TuyaSetUpperLimit(t.enum8):
    """Tuya Set Upper Limit enum."""

    Stop = 0x00
    Start = 0x01


class TuyaCoveringCluster(WindowCovering, TuyaLocalCluster):
    """Tuya Window Covering Cluster."""


(
    TuyaQuirkBuilder("_TZE200_cpbo62rn", "TS0601")
    .applies_to("_TZE200_libht6ua", "TS0601")
    .applies_to("_TZE204_xtrnjaoz", "TS0601")
    .tuya_enum(
        dp_id=1,
        attribute_name="state",
        enum_class=TuyaCoverState,
        translation_key="state",
        fallback_name="State",
    )
    .tuya_dp(
        dp_id=2,
        ep_attribute=TuyaCoveringCluster.ep_attribute,
        attribute_name=WindowCovering.AttributeDefs.current_position_lift_percentage.name,
        converter=lambda x: 100 - x,
    )
    .tuya_dp(
        dp_id=3,
        ep_attribute=TuyaCoveringCluster.ep_attribute,
        attribute_name=WindowCovering.AttributeDefs.current_position_lift_percentage.name,
        converter=lambda x: 100 - x,
    )
    .tuya_dp(
        dp_id=4,
        ep_attribute=TuyaCoveringCluster.ep_attribute,
        attribute_name=WindowCovering.AttributeDefs.window_covering_mode.name,
        converter=lambda x: WindowCovering.WindowCoveringType.Rollershade
        if x == TuyaOpeningMode.Lift
        else WindowCovering.WindowCoveringType.Shutter,
        dp_converter=lambda x: TuyaOpeningMode.Lift
        if x == WindowCovering.WindowCoveringType.Rollershade
        else TuyaOpeningMode.Tilt,
    )
    .tuya_enum(
        dp_id=7,
        attribute_name="work_state",
        enum_class=TuyaWorkState,
        entity_platform=EntityPlatform.SENSOR,
        translation_key="work_state",
        fallback_name="Work state",
    )
    .tuya_battery(dp_id=13)
    .tuya_enum(
        dp_id=101,
        attribute_name="motor_direction",
        enum_class=TuyaMotorDirection,
        translation_key="motor_direction",
        fallback_name="Motor direction",
    )
    .tuya_enum(
        dp_id=102,
        attribute_name="set_upper_limit",
        enum_class=TuyaSetUpperLimit,
        translation_key="set_upper_limit",
        fallback_name="Set upper limit",
    )
    .adds(TuyaCoveringCluster)
    # 107 is factory reset, but z2m just throws an error saying you can't
    .skip_configuration()
    .add_to_registry()
)