zigbee2mqtt icon indicating copy to clipboard operation
zigbee2mqtt copied to clipboard

Unable to update any inovelli firmware OTA

Open kdkavanagh opened this issue 1 year ago • 0 comments

What happened?

Attempting to update to latest 2.15 firmware from (mostly) 2.14… Every single switch “Fails to respond” to OTA request in Z2M. I’ve tried cycling the switch + Z2M to no avail.

Z2M logs:

Initial firmware version request works fine:

zigbee2mqtt  | [2024-05-04 12:04:46] info:      z2m: Updating 'Front Door Foyer Lights' to latest firmware
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:controller:endpoint: ZCL command 0x040d84fffe02b0de/1 genBasic.read(["dateCode","swBuildId"], {"timeout":10000,"disableResponse":false,"di
sableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false,"sendPolicy"
:"immediate"})
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack: sendZclFrameToEndpointInternal 0x040d84fffe02b0de:53992/1 (0,0,1)
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:znp: SREQ: --> AF - dataRequest - {"dstaddr":53992,"destendpoint":1,"srcendpoint":1,"clusterid":0,"transid":105,"options":0,"radius
":30,"len":7,"data":{"type":"Buffer","data":[16,86,0,6,0,0,64]}}
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:writer: --> frame [254,17,36,1,232,210,1,1,0,0,105,0,30,7,16,86,0,6,0,0,64,126]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: <-- [254,1,100,1,0,100]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext [254,1,100,1,0,100]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --> parsed 1 - 3 - 4 - 1 - [0] - 100
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:znp: SRSP: <-- AF - dataRequest - {"status":0}
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext []
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: <-- [254,3,68,128,0,1,105,175]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext [254,3,68,128,0,1,105,175]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --> parsed 3 - 2 - 4 - 128 - [0,1,105] - 175
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:znp: AREQ: <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":105}
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext []
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: <-- [254,3,69,196,232,210,0,184]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext [254,3,69,196,232,210,0,184]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --> parsed 3 - 2 - 5 - 196 - [232,210,0] - 184
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:znp: AREQ: <-- ZDO - srcRtgInd - {"dstaddr":53992,"relaycount":0,"relaylist":[]}
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext []
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: <-- [254,45,68,129,0,0,0,0,232,210,1,1,0,18,0,54,50,161,0,0,25,24,86,1,6,0,0,66,8,50,48,50,51,48,51,51,49,0,64,0,66,4,
50,46,49,52,232,210,29,69]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext [254,45,68,129,0,0,0,0,232,210,1,1,0,18,0,54,50,161,0,0,25,24,86,1,6,0,0,66,8,50,48,50,51,48,51,51,49,0,
64,0,66,4,50,46,49,52,232,210,29,69]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --> parsed 45 - 2 - 4 - 129 - [0,0,0,0,232,210,1,1,0,18,0,54,50,161,0,0,25,24,86,1,6,0,0,66,8,50,48,50,51,48,51,51,49,
0,64,0,66,4,50,46,49,52,232,210,29] - 69
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:znp: AREQ: <-- AF - incomingMsg - {"groupid":0,"clusterid":0,"srcaddr":53992,"srcendpoint":1,"dstendpoint":1,"wasbroadcast":0,"link
quality":18,"securityuse":0,"timestamp":10564150,"transseqnumber":0,"len":25,"data":{"type":"Buffer","data":[24,86,1,6,0,0,66,8,50,48,50,51,48,51,51,49,0,64,0,66,4,50,46,49,52]}}
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext []
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     z2m: Received Zigbee message from 'Front Door Foyer Lights', type 'readResponse', cluster 'genBasic', data '{"dateCode":"20230331","swBuildId":"2.14"}' from endpoint 1 with groupID 0

Z2M then sends the update request:

zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zhc:ota:common: Updating to latest '0x040d84fffe02b0de' (VZM31-SN)
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zhc:ota:common: Using endpoint '1'
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:controller:endpoint: CommandResponse 0x040d84fffe02b0de/1 genOta.imageNotify({"payloadType":0,"queryJitter":100}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":1,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false,"sendPolicy":"immediate"})
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack: sendZclFrameToEndpointInternal 0x040d84fffe02b0de:53992/1 (0,0,1)
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:znp: SREQ: --> AF - dataRequest - {"dstaddr":53992,"destendpoint":1,"srcendpoint":1,"clusterid":25,"transid":106,"options":0,"radius":30,"len":5,"data":{"type":"Buffer","data":[25,87,0,0,100]}}
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:writer: --> frame [254,15,36,1,232,210,1,1,25,0,106,0,30,5,25,87,0,0,100,82]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: <-- [254,1,100,1,0,100]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext [254,1,100,1,0,100]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --> parsed 1 - 3 - 4 - 1 - [0] - 100
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:znp: SRSP: <-- AF - dataRequest - {"status":0}
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext []
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: <-- [254,3,68,128,0,1,106,172]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --- parseNext [254,3,68,128,0,1,106,172]
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:unpi:parser: --> parsed 3 - 2 - 4 - 128 - [0,1,106] - 172
zigbee2mqtt  | [2024-05-04 12:04:46] debug:     zh:zstack:znp: AREQ: <-- AF - dataConfirm - {"status":0,"endpoint":1,"transid":106}

And then eventually times out:

zigbee2mqtt  | [2024-05-04 12:05:46] error:     z2m: Update of 'Front Door Foyer Lights' failed (OTA: Device didn't respond to OTA request)
zigbee2mqtt  | [2024-05-04 12:05:46] debug:     z2m: Error: OTA: Device didn't respond to OTA request
zigbee2mqtt  |     at requestOTA (/app/node_modules/zigbee-herdsman-converters/src/lib/ota/common.ts:314:15)
zigbee2mqtt  |     at Object.updateToLatest (/app/node_modules/zigbee-herdsman-converters/src/lib/ota/common.ts:436:21)
zigbee2mqtt  |     at OTAUpdate.onMQTTMessage (/app/lib/extension/otaUpdate.ts:273:41)
zigbee2mqtt  |     at EventEmitter.wrappedCallback (/app/lib/eventBus.ts:174:17)

Searching the logs for the addr=53992 yields no other response, so it doesnt look like the response is received but not being parsed correctly or something.

This happens on all of my ~20 switches around the house, so I dont suspect it’s a switch-specific issue. I’m wondering if Z2M is sending a correctly-formatted update request to the switches. Other non-inovelli devices update just fine, so I dont think it's a coordinator/hardware issue.

Z2M config:

Zigbee2MQTT version
1.37.0 commit: 46f34c8
Coordinator type zStack3x0
Coordinator revision 20240315

What did you expect to happen?

No response

How to reproduce it (minimal and precise)

No response

Zigbee2MQTT version

1.37

Adapter firmware version

20240315

Adapter

ZBDongle-P

Setup

Docker

Debug log

No response

kdkavanagh avatar May 22 '24 23:05 kdkavanagh