OTA firmware update stalls for Legrand device
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 667
- Forks
- 330
- Avg merge
- 15h 19m
- Merged PRs (30d)
- 31
Description
Summary:
OTA update for Legrand Zigbee device (e.g., Double gangs remote switch) initiates and transfers image blocks successfully, but stalls before completion.
Details:
- Device: Double gangs remote switch (IEEE 0x0004740000b92752)
- ManufacturerCode: 4129, imageType: 22
- Update starts, blocks transfer as expected, controller responds with status=0
- Progress remains at 0%, never completes
- Near end of transfer, device sends cluster 'manuSpecificLegrandDevices' command '9', which fails:
Failed to parse frame: Error: Cluster 'manuSpecificLegrandDevices' has no command '9' - Zigbee2MQTT logs: No converter available for this cluster/command
- No "upgrade end request" or error message received from device
Possible causes:
- Missing manufacturer-specific command support in Zigbee2MQTT/OTA handler
- Firmware expects unsupported protocol after block transfer
- Firmware image or device resource issue
Suggested actions:
- Investigate support for Legrand manufacturer-specific clusters/commands post-OTA
- Add or update converter for 'manuSpecificLegrandDevices' (command '9')
- Confirm full OTA update sequence and post-transfer handling for Legrand devices
Relevant log excerpt:
[2025-09-30 15:12:12] zh:controller: Failed to parse frame: Error: Cluster 'manuSpecificLegrandDevices' has no command '9'
[2025-09-30 15:12:12] z2m: No converter available for '067774' with cluster 'manuSpecificLegrandDevices' and type 'raw' and data '{"data":[21,33,16,32,9,82,39,185,0,0,116,4,0,1],"type":"Buffer"}'
Log file available for full details.
Contributor guide
No contributing guide indexed for this repository
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 with the attached logs and trace the OTA sequence for the Legrand device through the post-transfer handling. Investigate how the manuSpecificLegrandDevices command 9 is parsed and how completion is detected. Done means the full update sequence completes without stalling and the behavior is covered by an appropriate verification case.
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
- 45/100