question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Device Support Request] _TZE200_iossyxra (Battery Roller Blind Motor)

See original GitHub issue

Is your feature request related to a problem? Please describe. Bought ZigBee Lithium Battery Roller Blind Motor. It does pair, but it does not expose any status, so I can’t control it from HA

Describe the solution you’d like Possibility to control it from 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.

"NodeDescriptor(byte1=1, byte2=64, mac_capability_flags=142, 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"
      ]
    }
  },
  "manufacturer": "_TZE200_iossyxra",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

Additional context Product: https://aliexpress.ru/item/4000764153310.html?spm=a2g39.orderlist.0.0.47ce4aa67PXmvK&_ga=2.58309290.1271432921.1626213995-1279367481.1621973111

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:12 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
Chreececommented, Dec 17, 2021

Hello,

I want to confirm that this product works with zha: https://zigbee.blakadder.com/Zemismart_AM15.html

Custom Quirk:

from zigpy.zcl.clusters.general import Basic, Groups, Ota, Scenes, Time

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

class TuyaZemismartSmartCover0601_2(TuyaWindowCover):
    """Tuya Zemismart curtain cover motor."""

    signature = {
        # "node_descriptor": "<NodeDescriptor byte1=1 byte2=64 mac_capability_flags=142 manufacturer_code=4098
        #                       maximum_buffer_size=82 maximum_incoming_transfer_size=82 server_mask=11264
        #                       maximum_outgoing_transfer_size=82 descriptor_capability_field=0>",
        # input_clusters=[0x0000, 0x000a, 0x0004, 0x0005, 0xef00]
        # output_clusters=[0x0019]
        # <SimpleDescriptor endpoint=1 profile=260 device_type=81 input_clusters=[0, 10, 4, 5, 61184] output_clusters=[25]>
        MODELS_INFO: [
            ("_TZE200_3i3exuay", "TS0601"),
        ],
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Time.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaManufCluster.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Ota.cluster_id],
            },
        },
    }
    replacement = {
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.WINDOW_COVERING_DEVICE,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    Time.cluster_id,
                    TuyaManufacturerWindowCover,
                    TuyaWindowCoverControl,
                ],
                OUTPUT_CLUSTERS: [Ota.cluster_id],
            },
        },
    }


class TuyaMoesCover0601(TuyaWindowCover):
    """Tuya blind controller device."""

    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"] }
        # },
        # "manufacturer": "_TZE200_zah67ekd",
        # "model": "TS0601",
        # "class": "zigpy.device.Device"
        # }
        MODELS_INFO: [
            ("_TZE200_zah67ekd", "TS0601"),
            ("_TZE200_xuzcvlku", "TS0601"),
            ("_TZE200_rddyvrci", "TS0601"),
            ("_TZE200_iossyxra", "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],
            }
        },
    }

    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],
            }
        }
    }

Adding this in line init.py for TUYA_COVER_COMMAND:

"_TZE200_iossyxra": {0x0000: 0x0000, 0x0001: 0x0002, 0x0002: 0x0001},

Can someone implement this to work out of the box?

0reactions
mgwojcommented, Jan 28, 2022

I have a answer to my previous question from the original instruction for ZM-AM15-02:

Pair more motor It can be paired to several motors, but all motors should be control together.

So there is no ability to select only one motor, if you need to tune one motor, you have to turn off the other ones.

So now my question is how to initiate the pairing operation between this dongle and the motor without Tuya App?

Read more comments on GitHub >

github_iconTop Results From Across the Web

blinds motor
DM25 Battery Roller Shade Motor for DIY Electric Roller Blind/Shade Tubular Motor for 1.5 inch/38/40mm Tube · 4.4 out of 5 stars 278....
Read more >
Zemismart Battery Roller Shade _TZE200_iossyxra
Device. Product name: Zemismart Battery Roller Shade; Manufacturer: _TZE200_iossyxra; Model identifier: TS0601; Device type: Window Covering: ...
Read more >
BEST Smart Blind Motor NO WIRES COMPLETELY HIDDEN ...
Built in 800mAH Li- battery. Blinds Motor,provides a perfect solution for hard-to-reach window coverings. It is designed for roller /solar ...
Read more >
Automate Any Window With A Pull Cord With ... - YouTube
Affordable Wi-Fi blinds drivers are finally here, Tuya Cloud or Tasmota Local Control + Bluetooth to Wi-Fi Bridge for the $40 AM43!
Read more >
rechargeable-motor-and-control-instructions-for-custom- ...
programming the motor and remote control and to fully understand the function of your motorized shade. Also, note that the batteries in the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found