Manhot BL82-TYZ1 curtain state does not match position in home assistant, no option to invert_cover
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.7k
- Forks
- 2k
- Avg merge
- 18h 55m
- Merged PRs (30d)
- 35
Description
What happened?
The state of the curtain (open, close, stop) is 0 = open, 100 = closed, while home assistant recognises the position as the opposite.
This leads to a very frustrating interaction in home assistant, where the open and close buttons get disabled when the curtain is closed and open respectively:
so you can only press "open" when the curtain is already open, producing no movement at all.
This seems to be a disagreement between vendor and HA, not a bug, but it leads to people needing to create additional templates just to control their curtains, and is very unnecessary.
There are a lot of posts about this issue, with some people suggesting setting "invert_cover" to true, but this specific converter (if i understand z2m correctly) does not have that option exposed. Manually setting it in yaml lead to the motor being bricked untill i disassembled it and pulled the battery.
What did you expect to happen?
I need the ability to configure the motor to home assistant standards - with 0% being closed - making the controls work as intended.
How to reproduce it (minimal and precise)
- Add the Manhot BL82-TYZ1 curtain to home assistant;
- Try to use the provided controls.
Zigbee2MQTT version
2.12.0 (unknown)
Adapter firmware version
{"build":0,"ezsp":13,"major":7,"minor":4,"patch":4,"revision":"7.4.4 [GA]","special":0,"type":170}
Adapter
EmberZNet
Setup
os: #4 SMP Fri Jun 7 11:12:10 CST 2024 - 4.19.232-bigtree-cb2 - arm64
node: v22.22.2
ha: true
Device database.db entry
No response
Debug log
No response
Notes
Device
definition: BL82-TYZ1 - Manhot (v0.0.0)
software_build_id: undefined
date_code: ``
endpoints:
{"1":{"bindings":[],"clusters":{"input":["genGroups","genScenes","manuSpecificTuya","genBasic","60672"],"output":["genOta","genTime"]},"configured_reportings":[],"scenes":[]}}
Health
time: Tue Jun 23 2026 13:28:46 GMT+0500 (Екатеринбург, стандартное время)
os.load_average: 0.41, 0.5, 0.5
os.memory_percent: 63.5478
process.memory_percent: 5.1296
process.uptime_sec: 9055
{"leave_count":0,"messages":45,"messages_per_sec":0.0876,"network_address_changes":0}
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the TypeScript converter for the Manhot BL82-TYZ1 device definition and inspect how its curtain state and position are mapped. Check how the converter exposes cover options, then verify that inversion can be configured safely and that Home Assistant controls report 0% closed and 100% open without reproducing the motor-bricking behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100