[RELEASE] Zemismart Zigbee Blind Driver


In the past several weeks, there have been some major additions and improvements to this Zemismart Zigbee driver. These changes are available in a new development branch: https://raw.githubusercontent.com/amosyuen/hubitat-zemismart-zigbee/development/Zemismart%20Zigbee%20Blind.groovy

The improvements in version 3.2.0 should have an effect on the following models (Manufacturers) : _TZE200_rddyvrci, _TZE200_fzo2pocs, _TZE200_wmcdj3aq, _TZE200_cowvfni3, _TYST11_cowvfni3, _TZE200_nueqqe6k, _TZE200_zah67ekd, _TZE200_xuzcvlku, _TZE200_gubdgai2, _TZE200_5sbebbzs, _TZE200_nogaemzt, _TZE200_xaabybja, _TZE200_yenbr4om, _TZE200_zpzndjez, _TZE200_zuz7f94z, _TZE200_rmymn92d

A brief summary of the changes in version 3.2.0 compared to version 3.0.0 (June 2021) :

  • Added more than 20 new Tuya (Zemismart) Zigbee blinds/motors manufacturers fingerprints.
  • Depending on the particular motor 'Manufactuer', the driver will:
    • use automatically the correct commands for Open/Close/Stop (some newer models had the Open, Stop and Close commands swapped in various combinations)
    • report correctly the current and the final positions;
    • show correctly 'closed' as position 0% and 'open' as position 100%
    • show correctly the final 'Open', 'Closed' or 'Partially Open' states for these new models that do not send the final state and stuck on 'opening' or 'closing'.
  • Some models repot the destination and the current position (while moving) in one and the same way, which resulted in 'jumps' of the position reporting.
  • Some models do not accept 'Open' and 'Close' commands, these are now substituted with SetPosition 100% / 0% commands.
  • Added capability 'Switch' and 'Switch Level'- needed for Google Home full compatibility. Commands 'on', 'off' and setLevel() can be now used for opening and closing the blind/curtains.
  • Added capability 'Battery' (unfortunately, the battery reporting is implemented by Zemismart for just a few models).
  • Added Info log option (default value is 'on')
  • Improved debug and trace logs (more information useful for troubleshooting)
  • Added 'Show Advanced Options' preference(default value is 'off'). When switched 'on', the Preferences section will allow modifying of some new 'advanced' parameters,
    which normally should have their default settings already automatically configured correctly, depending on the particular model/Manufacturer :
    • 'Invert position reporting' - turn the option on if your model reports the current position inverted (closed should be always reported as 0%, open should be always reported as 100%)
    • 'Ignore the first Position report' - turn the option on if the position reporting jumps between the final and the current position.
    • 'Substitute Open/Close commands with SetPosition' - turn the option on if Open and Close commands do not work for your model when configured in 'lift' mode
    • 'Position report timeout, ms' - increase the timeout if the motor reports Open or Close while still in motion.
    • 'Enable trace logging' and 'Log unexpected messages' - the existing detailed debug logging options are now moved to the 'Advanced' section. Normally these should
      be left disabled.
  • Configure button now loads the default settings for the device, depending on the 'Manufacturer' value (similar to the default values loaded when the motor is first paired to HE hub)
  • Some other minor improvements and bugs fixes.

Version 3.3.0 (2022-12-30) :

  • adds support for TS0601 and TS130F models of Tuya/Moes Curtain switches: _TZ3000_zirycpws, _TZ3000_1dd0d5yi, _TZ3000_4uuaja4a, _TZ3000_fccpjz5z, _TZ3000_vd43bbfq, _TZ3000_ke7pzj5d
  • new advanced option "forcedTS130F" - use only for these TS130F curtain switches, that are not automatically recognized by HE hub.
  • new Calibrate command - works for some models only (ZM85, TS130F and Moes TS0601 curtain switches)

As there were a lot of changes in the driver code, I would like to ask these of us who use the old 'production' version 3.0.0 (available in HPM) and have the time to test the latest version (available in GitHub development branch linked above) to try it out and let me know if there are any remaining issues.

The new versions 3.2.x / 3.3.x should be backward compatible with all the previous models using this driver. The update to the new version is pushed via Hubitat Package Manager (HPM).

Updates :

  • 3.2.1 (2022-05-23) [Amos Yuen] - Fixed bug with parsing speed
  • 3.2.2 (2022-05-26) [kkossev] - _TZE200_zah67ekd and _TZE200_wmcdj3aq Open/Close/Stop commands fixes
  • 3.2.3 (2022-09-22) [kkossev] - _TZE200_zpzndjez inClusters correction; secure updateWindowShadeArrived() for null values;
  • 3.2.4 (2022-12-02) [kkossev] - added _TZE200_7eue9vhc ZM25RX-0.8/30; _TZE200_fdtjuw7u _TZE200_r0jdjrvi _TZE200_bqcqqjpb
  • 3.2.5 (2022-12-12) [kkossev] - _TZE200_fzo2pocs new device version fingerprint ; added _TZE200_udank5zs; secured code for missing 'windowShade' state; unscheduling of old periodic tasks; _TZE200_7eue9vhc not inverted
  • 3.3.0 (2022-12-30) [kkossev] - TS130F Curtain Modules support; _TZE200_nhyj64w2 Touch Curtain Switch - moesCalibraion; ZM85 _TZE200_cf1sl3tj support, including calibration;
  • 3.3.1 (2023-03-09) [kkossev] - added _TZE200_hsgrhjpf
  • 3.3.2 (2023-08-10) [kkossev] - replaced some warnings with debug level logs; removed 'enable trace logging' and 'log Unexpected Messages' options;
  • 3.3.3 (2023-10-20) [kkossev] - _TZE200_zah67ekd checks; code reformatting;
  • 3.3.4 (2023-12-13) [kkossev] - (dev.banch) added _TZE200_cxu0jkjk (AM02); _TZE200_nv6nxo0c
  • 3.4.0 (2024-03-02) [kkossev] - (dev.banch) Groovy lint; added targetPosition attribute; minor bug fixes; added _TZE200_gaj531w3
3 Likes