TS130F (_TZ3000_wptayaqr / _TZ3000_ctbafvhm): backlight_mode has no physical effect
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.7k
- Forks
- 2k
- Avg merge
- 18h 55m
- Merged PRs (30d)
- 35
Description
What happened?
I own three Tuya TS130F curtain switches from different manufacturers:
- TS130F / _TZ3000_vsj5o7dm ✅
- TS130F / _TZ3000_wptayaqr ❌
- TS130F / _TZ3000_ctbafvhm ❌
All three devices are detected as the native TS130F definition.
Everything works correctly on all devices:
- Open / Close
- Position
- Calibration
- Motor reversal
- Indicator mode
- Switch type
The only feature that behaves differently is backlight_mode.
On _TZ3000_vsj5o7dm, changing backlight_mode immediately changes the button backlight.
On _TZ3000_wptayaqr and _TZ3000_ctbafvhm, Zigbee2MQTT updates the entity state correctly (ON / OFF), but the physical backlight never changes.
What I tested
- Same Zigbee2MQTT version.
- Same native converter.
- Same exposed features.
- Same clusters.
- Same endpoints.
- No errors in Zigbee2MQTT.
- Writing the attributes directly from the Developer Console also has no effect.
I manually tested:
- Endpoint: 1
- Cluster:
genOnOff - Attribute:
tuyaBacklightSwitch - Values: 0 / 1
and
- Endpoint: 1
- Cluster:
genOnOff - Attribute:
tuyaBacklightMode - Values: 0 / 1 / 2 / 3
None of these commands changed the physical backlight on the affected devices.
Expected behaviour
All TS130F variants should behave the same regarding backlight_mode.
Actual behaviour
Only _TZ3000_vsj5o7dm changes the backlight.
_TZ3000_wptayaqr and _TZ3000_ctbafvhm accept the command (entity state changes), but the hardware never reacts.
Additional information
The device definitions are identical.
The exposed capabilities are identical.
The cluster list is identical.
This looks like a firmware difference between TS130F variants that is currently not handled by the converter.
If I can perform additional tests or provide debug information, I'd be happy to help.
What did you expect to happen?
No response
How to reproduce it (minimal and precise)
No response
Zigbee2MQTT version
2.13.0
Adapter firmware version
7.4.4 [GA]
Adapter
EmberZNet
Setup
Home Assitant on Proxmox VM
Device database.db entry
{"id":9,"type":"Router","ieeeAddr":"0xa4c138ab794d011c","nwkAddr":30295,"manufId":4417,"manufName":"_TZ3000_wptayaqr","powerSource":"Mains (single phase)","modelId":"TS130F","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":514,"inClusterList":[4,5,6,258,57345,0],"outClusterList":[25,10],"clusters":{"genBasic":{"attributes":{"stackVersion":0,"dateCode":"","zclVersion":3}},"genOnOff":{"attributes":{"tuyaBacklightSwitch":1,"tuyaBacklightMode":0}},"closuresWindowCovering":{"attributes":{"32768":0,"currentPositionLiftPercentage":0,"tuyaMovingState":1,"tuyaCalibration":1,"tuyaMotorReversal":0,"moesCalibrationTime":261}}},"binds":[],"configuredReportings":[],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":70,"stackVersion":0,"hwVersion":1,"dateCode":"","zclVersion":3,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{"configured":332242049},"lastSeen":1771354600580}
Debug log
No response
Notes
No response
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 inspecting the native TS130F converter and comparing the working _TZ3000_vsj5o7dm device with the two affected variants. Reproduce the writes to genOnOff.tuyaBacklightSwitch and tuyaBacklightMode from the Developer Console, then determine whether the converter can distinguish the firmware variants; done means the behavior is corrected or the unsupported hardware limitation is clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100