Koenkk / Koenkk/zigbee2mqtt

Sonoff ZBDIM transition time not working

Open
#33,113 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 bought 2 dimmers, replacing my wifi moes 2-ch dimmer because I needed support for custom transition times for my automations. I set the Dimmer transition time from the exposed features and that one is working, but when I set a custom transition time, both from an mqtt payload, a zigbee command from the dev console or from the light.turn_on on home assistant from the tools menu, that custom value is not used and the Dimmer transition time is the only one that matters

What did you expect to happen?

The dimmer should respect custom transition times set in the commands

How to reproduce it (minimal and precise)

Set Dimmer transition time to 0, then send any turn on/move to level command from any platform with a dedicated transition time set

Zigbee2MQTT version

2.14.1

Adapter firmware version

8.0.2 [GA]

Adapter

Sonoff Dongle Plus MG24

Setup

Plain on docker container, both home assistant and zigbee2mqtt, running on a x86-64 linux nas.

Linux UGREEN-NAS 6.18.15 #696c5cd7dce5 SMP PREEMPT_DYNAMIC Thu Aug 20 10:59:55 UTC 2026 x86_64 GNU/Linux
UGOSPRO Linux
Device database.db entry

{"id":19,"type":"Router","ieeeAddr":"0x60b763fffe13a478","nwkAddr":14432,"manufId":4742,"manufName":"SONOFF","powerSource":"Mains (single phase)","modelId":"MINI-ZBDIM","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":257,"inClusterList":[0,3,4,5,6,8,2820,2821,64599,64529],"outClusterList":[25],"clusters":{"64529":{"attributes":{"1":1,"16":84017152,"17":"\u0004\u0005\u0005\u0010\u0001\u0001\u0002","20":0,"21":99,"22":3,"30":0,"31":20,"32":0,"16385":2,"16386":255,"16387":4,"16388":0,"16389":0,"28676":270,"28677":223390,"28678":55830}},"genOnOff":{"attributes":{"onOff":0,"startUpOnOff":255}},"genLevelCtrl":{"attributes":{"currentLevel":0}},"haElectricalMeasurement":{"attributes":{"rmsVoltage":0,"rmsCurrent":0,"activePower":0}},"genBasic":{"attributes":{"modelId":"MINI-ZBDIM","manufacturerName":"SONOFF","powerSource":1,"zclVersion":8,"appVersion":0,"stackVersion":0,"hwVersion":0,"dateCode":"20251205","swBuildId":"1.0.5"}},"customClusterEwelink":{"attributes":{"17":"\u0004\u0005\u0005\u0010\u0001\u0001\u0002","33":0,"16388":0,"16389":0,"externalTriggerMode":1,"calibrationStatus":3,"minBrightnessThreshold":64,"maxBrightnessThreshold":179,"dimmingLightRate":3,"levelForCalibration":0,"acCurrentCurrentValue":0,"acCurrentVoltageValue":220290,"acCurrentPowerValue":80,"delayedPowerOnState":0,"delayedPowerOnTime":99,"calibrationProgress":100,"transitionTime":20,"setCalibrationAction":"\u0001\u0001\u0001","networkLed":1,"faultCode":84017152}}},"binds":[{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x348d13fffe1160b0","endpointID":1},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x348d13fffe1160b0","endpointID":1},{"cluster":64529,"type":"endpoint","deviceIeeeAddress":"0x348d13fffe1160b0","endpointID":1}],"configuredReportings":[{"cluster":6,"attrId":0,"minRepIntval":0,"maxRepIntval":65000,"repChange":1},{"cluster":8,"attrId":0,"minRepIntval":5,"maxRepIntval":65000,"repChange":1},{"cluster":64529,"attrId":28678,"minRepIntval":10,"maxRepIntval":65000,"repChange":0}],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":0,"stackVersion":0,"hwVersion":0,"dateCode":"20251205","swBuildId":"1.0.5","zclVersion":8,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{"configured":"0.0.0"},"lastSeen":1789236734170}

{"id":20,"type":"Router","ieeeAddr":"0x6ca042fffe158d21","nwkAddr":53499,"manufId":4742,"manufName":"SONOFF","powerSource":"Mains (single phase)","modelId":"MINI-ZBDIM","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":257,"inClusterList":[0,3,4,5,6,8,2820,2821,64599,64529],"outClusterList":[25],"clusters":{"64529":{"attributes":{"1":1,"16":84017152,"17":"\u0004\u0005\u0005\u0010\u0001\u0001\u0002","20":0,"21":38,"22":3,"30":0,"31":20,"32":0,"16385":2,"16386":255,"16387":4,"16388":0,"16389":0,"28676":90,"28677":222470,"28678":18550}},"genOnOff":{"attributes":{"onOff":1,"startUpOnOff":255}},"genLevelCtrl":{"attributes":{"currentLevel":254}},"haElectricalMeasurement":{"attributes":{"rmsVoltage":0,"rmsCurrent":0,"activePower":0}},"genBasic":{"attributes":{"modelId":"MINI-ZBDIM","manufacturerName":"SONOFF","powerSource":1,"zclVersion":8,"appVersion":0,"stackVersion":0,"hwVersion":0,"dateCode":"20251205","swBuildId":"1.0.5"}},"customClusterEwelink":{"attributes":{"17":"\u0004\u0005\u0005\u0010\u0001\u0001\u0002","33":0,"16388":0,"16389":0,"externalTriggerMode":1,"calibrationStatus":3,"minBrightnessThreshold":64,"maxBrightnessThreshold":179,"dimmingLightRate":3,"levelForCalibration":0,"acCurrentCurrentValue":90,"acCurrentVoltageValue":221900,"acCurrentPowerValue":18430,"delayedPowerOnState":0,"delayedPowerOnTime":38,"calibrationProgress":100,"transitionTime":20,"setCalibrationAction":"\u0001\u0001\u0001","networkLed":1,"faultCode":84017152}}},"binds":[{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x348d13fffe1160b0","endpointID":1},{"cluster":8,"type":"endpoint","deviceIeeeAddress":"0x348d13fffe1160b0","endpointID":1},{"cluster":64529,"type":"endpoint","deviceIeeeAddress":"0x348d13fffe1160b0","endpointID":1}],"configuredReportings":[{"cluster":6,"attrId":0,"minRepIntval":0,"maxRepIntval":65000,"repChange":1},{"cluster":8,"attrId":0,"minRepIntval":5,"maxRepIntval":65000,"repChange":1},{"cluster":64529,"attrId":28678,"minRepIntval":10,"maxRepIntval":65000,"repChange":0}],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":0,"stackVersion":0,"hwVersion":0,"dateCode":"20251205","swBuildId":"1.0.5","zclVersion":8,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{"configured":"0.0.0"},"lastSeen":1789236734004}

Debug log

No response

Notes

If I try to read the onOffTransitionTime from the device, it reports that it is not supported:

[12/09/2026, 20:04:37] z2m: Publish 'set' 'read' to 'Dimmer Scale' failed: 'Error: ZCL command 0x6ca042fffe158d21/1 genLevelCtrl.read(["onOffTransitionTime"], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Status 'UNSUPPORTED_ATTRIBUTE')'

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

No source file or test is named in the issue. Reproduce with a SONOFF MINI-ZBDIM by setting Dimmer transition time to 0, then sending a level or turn-on command with a dedicated transition time; done means the command-specific transition is respected instead of the device setting.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
embedded-iot
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.