Koenkk / Koenkk/zigbee2mqtt

TS130F (_TZ3000_wptayaqr / _TZ3000_ctbafvhm): backlight_mode has no physical effect

Open
#32,730 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

problem
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.