[TS130F (MS-108ZR) / _TZ3000_1dd0d5yi] ???
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.7k
- Forks
- 2k
- Avg merge
- 18h 55m
- Merged PRs (30d)
- 35
Description
What happened?
TS130F / MS-108ZR - Unable to write moesCalibrationTime (INVALID_DATA_TYPE)
What happened?
I can read moesCalibrationTime successfully on my Moes MS-108ZR (TS130F), but any write operation fails with INVALID_DATA_TYPE.
This used to work a few weeks ago.
Environment:
- Zigbee2MQTT: 2.12.1
- Home Assistant: 2026.7.2
Device:
- Moes MS-108ZR
- TS130F
Read works:
Read result:
{"moesCalibrationTime":220}
Write fails:
closuresWindowCovering.write({"moesCalibrationTime":220})
Result:
Status 'INVALID_DATA_TYPE'
I also tested:
- 150
- 180
- 220
All fail with the same error.
The issue occurs:
- From Exposes (Calibration time)
- From MQTT
- From Developer Console
Reading always works.
Writing always fails.
Additional information:
In Developer Console the attribute is shown as:
moesCalibrationTime (ENUM8)
The device correctly reports calibration_time values such as 19, 22 and 31 seconds.
The problem affects multiple TS130F devices.
Expected behavior:
Calibration time should be writable as it was in previous versions.
LOG:
Read result:
[20/07/2026 11:53:59] Read result of 'closuresWindowCovering':
{"moesCalibrationTime":220}
Write result:
[20/07/2026 12:00:32]
closuresWindowCovering.write({"moesCalibrationTime":220})
failed (Status 'INVALID_DATA_TYPE')
What did you expect to happen?
No response
How to reproduce it (minimal and precise)
No response
Zigbee2MQTT version
2.12.1 (unknown)
Adapter firmware version
{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20240716,"transportrev":2}
Adapter
ZStack3x0
Setup
os: #1 SMP PREEMPT_DYNAMIC Wed Jul 1 07:35:33 UTC 2026 - 6.18.37-haos - x64
node: v22.23.0
ha: true
Device database.db entry
No response
Debug log
No response
Notes
Device
definition: MS-108ZR - Moes (v0.0.0)
software_build_id: undefined
date_code: ``
endpoints:
{"1":{"bindings":[],"clusters":{"input":["genBasic","genGroups","genScenes","closuresWindowCovering","genOnOff"],"output":["genOta","genTime"]},"configured_reportings":[],"scenes":[]}}
Health
time: Mon Jul 20 2026 12:14:02 GMT+0200 (heure d’été d’Europe centrale)
os.load_average: 0, 0, 0
os.memory_percent: 25.0002
process.memory_percent: 2.9723
process.uptime_sec: 13205
{"leave_count":0,"messages":233,"messages_per_sec":0.0178,"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 reproducing the failure through Developer Console with closuresWindowCovering.write and compare it with reads from Exposes and MQTT. Trace how moesCalibrationTime is handled as an ENUM8 for the MS-108ZR definition. Done means valid calibration-time writes succeed on the affected TS130F devices without INVALID_DATA_TYPE.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100