Skip to content

Move Zemismart ZM25R3 _TZE200_sq6affpe to V2 cover quirk with correct DPs#4802

Open
bdodoiu wants to merge 1 commit intozigpy:devfrom
bdodoiu:dev
Open

Move Zemismart ZM25R3 _TZE200_sq6affpe to V2 cover quirk with correct DPs#4802
bdodoiu wants to merge 1 commit intozigpy:devfrom
bdodoiu:dev

Conversation

@bdodoiu
Copy link
Copy Markdown
Contributor

@bdodoiu bdodoiu commented Mar 1, 2026

Proposed change

Move _TZE200_sq6affpe (Zemismart ZM25R3) from the V1 TuyaZemismartSmartCover0601_3 class to the V2 _TZE284_3mzb0sdz builder via applies_to.

The V1 class used DPs 2/3 for position, but the actual device uses DPs 8/9 (confirmed via Koenkk/zigbee-herdsman-converters#9803). This meant position control was non-functional. The V2 builder from #4779 already has the correct DP mapping, so this PR simply adds the _TZE200_sq6affpe manufacturer ID to it, gaining:

  • Working position control (DP 9)
  • Position state reporting (DP 8)
  • Battery support (DP 13)
  • Motor direction setting (DP 11)
  • Border/limit buttons (DP 16)

Additional information

Tested on a physical Zemismart ZM25R3 device running on HA 2026.2.3 with a custom quirk using the same DP mappings. Open/close/stop, position slider, position inversion, and battery reporting all confirmed working.

This is a fix for existing users of _TZE200_sq6affpe whose position control was broken under the V1 quirk.

Checklist

  • The changes are tested and work correctly
  • pre-commit checks pass / the code has been formatted using Black
  • Tests have been added to verify that the new code works
  • Device diagnostics data has been attached

Copilot AI review requested due to automatic review settings March 1, 2026 15:57
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.65%. Comparing base (becb068) to head (e38347b).
⚠️ Report is 42 commits behind head on dev.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev    #4802   +/-   ##
=======================================
  Coverage   92.65%   92.65%           
=======================================
  Files         379      379           
  Lines       12745    12745           
=======================================
  Hits        11809    11809           
  Misses        936      936           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Moves the Zemismart ZM25R3 (_TZE200_sq6affpe / TS0601) from a legacy (v1) TS0601 cover quirk to an existing v2 TuyaQuirkBuilder definition that uses the correct Tuya datapoints for position control/state.

Changes:

  • Removed _TZE200_sq6affpe from the v1 TuyaZemismartSmartCover0601_3 MODELS_INFO match list.
  • Added _TZE200_sq6affpe to the existing v2 _TZE284_3mzb0sdz cover builder via .applies_to(...).

…ct DPs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

@TheJulianJES TheJulianJES added Tuya Request/PR regarding a Tuya device needs reviewer answer An answer from a reviewer is needed (e.g. why a PR isn't acceptable in the current state). labels Mar 25, 2026
Copy link
Copy Markdown
Collaborator

@TheJulianJES TheJulianJES left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From a quick look, it does seem like there are some differences in Z2M between these models:

But you can confirm that everything is fully working? Enums? Border stuff etc.?

@TheJulianJES TheJulianJES removed the needs reviewer answer An answer from a reviewer is needed (e.g. why a PR isn't acceptable in the current state). label Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Tuya Request/PR regarding a Tuya device

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants