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] Moes Zigbee + RF Smart Curtain Switch

See original GitHub issue

https://www.moeshouse.com/collections/new-arrivals/products/zigbee-rf-smart-touch-curtain-roller-blinds-shutter-switch-tuya-smart-life-app-wireless-control-works-with-alexa-and-google-home-eu?variant=39793319411793

Is your feature request related to a problem? Please describe. Device is detected but no cover entity is exposed only basic_lqi and basic_rssi

Describe the solution you’d like Add support for Moes Zigbee + RF Smart Curtain Switch

Device signature - this can be acquired by clicking on the "Zigbee Device Signature" button in the device settings
{
  "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": "0x0051",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xef00"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE200_nhyj64w2",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}
Diagnostic information - this can be acquired by clicking on the "Download Diagnostics" button in the device settings
{
  "home_assistant": {
    "installation_type": "Home Assistant Supervised",
    "version": "2022.4.6",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.9.9",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Lisbon",
    "os_name": "Linux",
    "os_version": "5.10.0-13-amd64",
    "supervisor": "2022.04.0",
    "host_os": "Debian GNU/Linux 11 (bullseye)",
    "docker_version": "20.10.14",
    "chassis": "",
    "run_as_root": true
  },
  "custom_components": {
    "authenticated": {
      "version": "21.9.0",
      "requirements": []
    },
    "webrtc": {
      "version": "v2.3.0",
      "requirements": []
    },
    "sonoff": {
      "version": "v2.4.7",
      "requirements": [
        "pycryptodome>=3.6.6"
      ]
    },
    "openweathermap_all": {
      "version": "0.0.1",
      "requirements": [
        "owm2json==0.1.89"
      ]
    },
    "zha_toolkit": {
      "version": "v0.8.4",
      "requirements": []
    },
    "watchman": {
      "version": "0.5.0",
      "requirements": [
        "prettytable==3.0.0"
      ]
    },
    "hacs": {
      "version": "1.24.5",
      "requirements": [
        "aiogithubapi>=21.11.0"
      ]
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "config_flow": true,
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "requirements": [
      "bellows==0.29.0",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.72",
      "zigpy-deconz==0.14.0",
      "zigpy==0.44.2",
      "zigpy-xbee==0.14.0",
      "zigpy-zigate==0.7.4",
      "zigpy-znp==0.7.0"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8B34",
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ]
      }
    ],
    "codeowners": [
      "@dmulcahey",
      "@adminiuga"
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      }
    ],
    "after_dependencies": [
      "usb",
      "zeroconf"
    ],
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp"
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 10900,
    "manufacturer": "_TZE200_nhyj64w2",
    "model": "TS0601",
    "name": "_TZE200_nhyj64w2 TS0601",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "manufacturer_code": 4098,
    "power_source": "Mains",
    "lqi": 184,
    "rssi": -54,
    "last_seen": "2022-04-24T19:46:25",
    "available": true,
    "device_type": "Router",
    "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": 260,
          "device_type": "0x0051",
          "in_clusters": [
            "0x0000",
            "0x0004",
            "0x0005",
            "0xef00"
          ],
          "out_clusters": [
            "0x000a",
            "0x0019"
          ]
        }
      }
    },
    "entities": [],
    "neighbors": [
      {
        "device_type": "Coordinator",
        "rx_on_when_idle": "On",
        "relationship": "Parent",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x0000",
        "permit_joining": "Unknown",
        "depth": "0",
        "lqi": "199"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x0B12",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "196"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x2A3F",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "134"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x4C76",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "65"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x5688",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "99"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x5E73",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "165"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x72B6",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "61"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x905E",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "46"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0xE21E",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "60"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0xEF19",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "124"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0xFFA1",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "142"
      }
    ],
    "endpoint_names": [
      {
        "name": "SMART_PLUG"
      }
    ],
    "user_given_name": "estore_sala_estar",
    "device_reg_id": "b865462fe1e36765183e03c79e6c0067",
    "area_id": "8655c42078554434b66a10c1b0c6baaa"
  }
}
Additional logs
Paste any additional debug logs here.

Additional context I tried using TuyaMoesCover0601 quirk but doesn’t work.

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:12 (10 by maintainers)

github_iconTop GitHub Comments

1reaction
javicallecommented, Apr 25, 2022

Should I try different values for the buttons in TUYA_COVER_COMMAND?

Or you can began with the normal values ("_TZE200_nhyj64w2": {0x0000: 0x0000, 0x0001: 0x0001, 0x0002: 0x0002},) and then try to figure which buttons are switched. If open/close are switched, then the cover is inverted. If there are the open/stop, switch the 0x0000 and 0x0001 If there are the stop/close, switch the 0x0001 and 0x0002

0reactions
mdiazgoncalvescommented, Apr 25, 2022

It’s working now. Somehow, I was not editing the correct init.py The correct command values are: ("_TZE200_nhyj64w2": {0x0000: 0x0000, 0x0001: 0x0002, 0x0002: 0x0001},) Now I just have to figure how to calibrate it

Thanks guys for your support

Read more comments on GitHub >

github_iconTop Results From Across the Web

MOES Smart WiFi ZigBee Smart 2/3 Way Switch Socket ...
Offer our smart home with brightness and beauty! Energy saving in a real sense with low battery tip and Eco-mode supported.Enjoy our life...
Read more >
Error on MOES Zigbee+RF curtain module (TS130F ... - GitHub
This MOES module opens and closes, shows the percentage, I can switch the rmotor reversal but not able to switch on the calibration....
Read more >
Moes Zigbee 3.0 Smart Curtain Switch Module Motorized ...
Shop smart curtain switch module with fast delivery and free shipping. Find products of automatic curtain control system with high quality at AliExpress....
Read more >
MOES WiFi RF Smart Light Dimmer Switch ...
The installation guide is incomplete and does not help. There is no technical support available in the USA. Amazon gave me a number...
Read more >
Smart Switch Won't Connect To Wifi: 3 WAYS TO FIX - YouTube
Are you having trouble getting your smart switch to connect to wifi? ... DID THIS HELP ? ... My Favorite Smart Home Devices...
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