devbis / z03mmc

Xiaomi LYWSD03MMC Zigbee Firmware
GNU General Public License v3.0
965 stars 46 forks source link

Manufacturer ID has changed after upgrade to 3001-1100 #114

Closed maaad closed 9 months ago

maaad commented 9 months ago

After upgrading to 3001-1100(20240204) via custom OTA 'Manufacturer ID' and 'Image Type' has changed to: Read result of 'genOta': {"manufacturerId":56085,"imageTypeId":65535} Is that expected result?

pbranly commented 9 months ago

Hi Could you explain how you did this upgrade ? Thanks Phil

devbis commented 9 months ago

@maaad Yes, it is the expected result. I will use Manufacturer ID 0xdb15 from now on to reduce errors because of confusions when using firmware from other forks. Image type should not have changed, should be 0x0203

maaad commented 9 months ago

Hi Could you explain how you did this upgrade ? Thanks Phil

https://www.zigbee2mqtt.io/guide/usage/ota_updates.html#local-ota-index-and-firmware-files

pbranly commented 9 months ago

Thank you but which file did you use ? I tried one from z2m but it does not generate new OTA for the thermometer Thanks Philippe

maaad commented 9 months ago

this one: https://github.com/devbis/z03mmc/releases/download/1.1.0/1141-0203-11003001-z03mmc.zigbee

devbis commented 9 months ago

For some reason, image type is 0xff. Investigating

pbranly commented 9 months ago

this one: https://github.com/devbis/z03mmc/releases/download/1.1.0/1141-0203-11003001-z03mmc.zigbee

Thanks I could upgrade 2 devices One device dead at the end .... no more screen I will try direct upload Phil

devbis commented 9 months ago

@pbranly please wait until i fix the image type issue

Soukyuu commented 9 months ago

Will updating to the new manufacturer id also fix the issue on the current release of z2m where some functionality for an alternative firmware got merged and now spamming my log with errors?

pbranly commented 9 months ago

@pbranly please wait until i fix the image type issue

Hi too late ! 2 of my 3 devices work fine with the latest f/W. As soon as your new one will be available, I will re-OTA I will also try to reanimate the third one with direct upload Thanks for your work Phil

devbis commented 9 months ago

My investigation showed that it wasn't an issue. New SDK from Telink works this way. Default value is 0xffff but when update is in progress it shows correct values. Will leave it as is.

PabloPL commented 9 months ago

I have the same issue. After latest update in z2m i'm getting

Read result of 'genOta': {"imageTypeId":65535,"manufacturerId":56085}

And when trying to go back to BT version i can see

Debug 2024-02-20 21:52:18 Received Zigbee message from 'Xiaomi sensor', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":285224961,"imageType":515,"manufacturerCode":56085}' from endpoint 1 with groupID 0
Debug 2024-02-20 21:52:18 Got OTA request '{"fieldControl":0,"manufacturerCode":56085,"imageType":515,"fileVersion":285224961}'
Debug 2024-02-20 21:52:18 ZigbeeOTA: downloaded main index
Debug 2024-02-20 21:52:18 ZigbeeOTA: Loading override index /etc/zigbee2mqtt/ota_xiaomi.json
Debug 2024-02-20 21:52:18 ZigbeeOTA: getting local firmware file /etc/zigbee2mqtt/ota/1141-0203-99993001-ATC_v46.zigbee
Debug 2024-02-20 21:52:18 getNewImage for '0xa4c13849c85d6bd0', meta {"fileVersion":2576953345,"url":"/etc/zigbee2mqtt/ota/1141-0203-99993001-ATC_v46.zigbee","force":true}
Debug 2024-02-20 21:52:18 ZigbeeOTA: getting local firmware file /etc/zigbee2mqtt/ota/1141-0203-99993001-ATC_v46.zigbee
Debug 2024-02-20 21:52:18 getNewImage for '0xa4c13849c85d6bd0', image header {"otaUpgradeFileIdentifier":{"type":"Buffer","data":[30,241,238,11]},"otaHeaderVersion":256,"otaHeaderLength":56,"otaHeaderFieldControl":0,"manufacturerCode":4417,"imageType":515,"fileVersion":2576953345,"zigbeeStackVersion":2,"otaHeaderString":"Telink OTA BLE device\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","totalImageSize":82674}
Debug 2024-02-20 21:52:18 Update of 'Xiaomi sensor' failed (AssertionError [ERR_ASSERTION]: Manufacturer code mismatch)

@devbis Do You have any idea how to fix this issue? The best would be without flashing by uart - i don't have it yet setup, also i have a few devices to handle.

devbis commented 9 months ago

@PabloPL Thanks for the report. I uploaded revert OTA firmware with updated manufacturer code: https://github.com/devbis/z03mmc/blob/master/assets/db15-0203-99993001-ATC_v46.zigbee Please, use it to revert to BLE.

PabloPL commented 9 months ago

@devbis Thank You! OTA update went without issues and i was able to pair sensor using OpenMQTT over bluetooth. Thanks again.

For others - to downgrade from latest fw to BT, You need to create local ota index file with following definition, replace url with path to file downloaded from https://github.com/devbis/z03mmc/blob/master/assets/db15-0203-99993001-ATC_v46.zigbee

[
    {
        "force" : true,
        "manufacturerCode": 56085,
        "imageType": 515,
        "url": "/etc/zigbee2mqtt/ota/db15-0203-99993001-ATC_v46.zigbee"
    }
]
devbis commented 9 months ago

For local ota only url and force are required.