Great news for the HA community —
we’ve successfully enabled our ZMP1 Zigbee Curtain Motor to work with ZHA (Zigbee Home Automation) via a custom Quirk. It can now be integrated into Home Assistant with stable and complete functionality
ZHA Quirk reference:
What’s working now
With the custom Quirk, ZMP1 supports full control in HA, including:
• Open / Close / Stop (Cover Control)
• Position control (0–100%)
• Motor direction (Forward / Reverse)
• Fine adjustment (Nudge up / down)
• Battery reporting
• Real-time status (Opening / Closing)
About ZMP1
ZMP1 is a reliable Zigbee solution for roller shades and curtains:
• 6400mAh rechargeable battery
• USB-C charging
• Zigbee control (no proprietary hub required)
• Compatible with Home Assistant (ZHA )
• Precise position control & automation-ready
Learn more here:
Feedback welcome
We’ll keep improving ZHA support and compatibility.
If you have any suggestions, please feel free to let us know — we are always open-minded and will carefully consider how we can improve further.
I'm using this ZHA quirk (from your github repo). It works generally quite well. I'm also happy with the ZMP1 devices.
One issue I have run into is that 2 of my 3 devices always report the battery percentage as 100%. I did direct Zigbee queries, and it always reports 200 for those devices, which I believe is intentionally scaled 2x. So, it seems like this is either a hardware issue or a reporting issue on the device size of the Zigbee protocol.
I know of at least one other user who has the same problem. Is there a workaround or a firmware update for this?
I'm using your ZHA quirks file to interface directly with HA. No Tuya hub at all.
HA shows the battery level at 100%. If I query the battery percentage attribute directly with the HA Zigbee dialog, it shows 200. I think that attribute is reporting half percents, so 200 corresponds to 100%. In any case, it has not dropped at all in the few weeks I have been using the device. Another device does show slow decreases in the percentage.
I'm not sure how to make a video of this, so let me just explain precisely what I see.
The HA UI shows this:
Now I use the Zemismart remote to move it a couple of feet. In other words, I push one of the directional arrow buttons and then push the stop button. The HA has switched to this:
Now I use the Zemismart remote to move in the other direction, but not as far as the configured limit. The HA UI switches back to this:
It never says anything other than "opening" or "closing". It the same behavior if I use the remote, the jog button on the motor, or HA automation. It's the same whether the opening or closing goes to the configured limit or stops somewhere before the limit.