_TZ3210_dwytrmda TS130F curtain driver not working

I bought two OXT curtain drivers but cannot make one of them working. Visually they look exactly the same but identify them self with different values. The “broken” one identify itself as
_TZ3210_dwytrmda TS130F

The issue is that “Quirk” is not loaded. When I press a physical button, the curtain is mowing but only when the button is pressed, not till is fully open or closed. The opening percentage inside HA seems reversed, so when the curtain is physically closed I no longer can open it because the up button is deactivated. Similar, when it’s physically open, the down button get deactivated. And cannot find a way to calibrate it.
When I open “Manage Zigbee Device” I cannot see TuyaCoveringCluster, but instead I see WindowCovering Cluster, but all attributes there have value ‘None’ when try to read them.

Device signature

  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=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": [
      "out_clusters": [
    "242": {
      "profile_id": 41440,
      "device_type": "0x0061",
      "in_clusters": [],
      "out_clusters": [
  "manufacturer": "_TZ3210_dwytrmda",
  "model": "TS130F",
  "class": "zigpy.device.Device"

Is any way to make that driver working?

Writing the own variant of quark solved an issue:

After all, it’s not fully working. Device don’t update attribute value for “current_position_lift_percentage” so HA don’t know if curtain is open or closed. Don’t have idea why. I even bought different device but has exactly same issue.
Does this device require some special initialization to start work?

1 Like

Im having the same issue with the value current_position_lift_percentage not changing to the new number. so when the value is set to 100 and i close the roller shades all the way it says closed but after a couple of minutes it changes back to open.

Have you already found a solution to this problem?

1 Like

I did want to let you know that the problem is not solved but i created a couple of automations(Set zigbee cluster attribute), for some percentages and for the opening and closing positions and it changes the attribute to the good value. For now this is ok with me

1 Like

Can you share your automation here? I do have weird behavior with my different ts130f wondering if I could address it with automation. Thanks

Yeah sure, below you can see a automation to change the attribute to 100 and i also made a couple of them from ranges 20 - 40 set to 30, 41 - 60 change to 50 etc.

alias: Rolluik Attribute change Up
description: ""
  - platform: device
    device_id: 587bbcdf1dfa22a6f87906b494297a1f
    domain: cover
    entity_id: cover.rolluik_woonkamer_cover
    type: position
    above: 97
condition: []
  - service: zha.set_zigbee_cluster_attribute
      cluster_type: in
      ieee: a4:c1:38:af:1e:ad:c0:eb
      endpoint_id: 1
      cluster_id: 258
      attribute: 8
      value: "100"
mode: single



thanks for the scripts. it works.
but I am actually wondering whether there is not any alternative solution using the value that the device is actually using.
I am saying so because we see that even if HA is not reporting correctly the lift percentage, if you just activate again the cover, it shows instantaneously the reel position …
any ideas ?


I have finally opened an issue on github

please do not hesitate to complete if you think I am missing something

Good, that is the correct way forward → https://www.home-assistant.io/integrations/zha#how-to-add-support-for-new-and-unsupported-devices