Generate OTA file

Hi,

I'm really sorry but I can't figure out how to do this.  I've added FOTA to my ZigBee project (using the light switch example) but I can't find anything on how to generate an *.ota file that I can use to do the update via ZigBee2MQTT.

Am I able to do this on the NRF52840? Is there any documentation on this? I feel like I've been looking for too long and have subject blindness.

Thank you

Parents
  • Hello,

    What kind of bootloader do you have? And what SDK version are you using?  Based on your other tickets, it looks like you are using NCS. So if you have added a bootloader to your application, then your build folder should include the ota file.

    The file is located in build\zephyr\dfu_update.zip, and is called app_update.bin.

    However, this bootloader is not tailored for Zigbee, so where you would typically use something called mcumgr for performing the FOTA via bluetooth or serial, mcumgr doesn't do zigbee. As you can see here, we are currently using a tool called nrfutil to generate the ota image. 

    What I am not sure of, however, is how to transfer this file over ZigBee2MQTT (Z2M). Is this some sort of Home Assistance thing, by chance? In our guides, we use nrfutil with an additional DK to transfer the image to the OTA target, but I am not sure whether this will work with Z2M. You will have to test that. 

    Best regards,

    Edvin

Reply
  • Hello,

    What kind of bootloader do you have? And what SDK version are you using?  Based on your other tickets, it looks like you are using NCS. So if you have added a bootloader to your application, then your build folder should include the ota file.

    The file is located in build\zephyr\dfu_update.zip, and is called app_update.bin.

    However, this bootloader is not tailored for Zigbee, so where you would typically use something called mcumgr for performing the FOTA via bluetooth or serial, mcumgr doesn't do zigbee. As you can see here, we are currently using a tool called nrfutil to generate the ota image. 

    What I am not sure of, however, is how to transfer this file over ZigBee2MQTT (Z2M). Is this some sort of Home Assistance thing, by chance? In our guides, we use nrfutil with an additional DK to transfer the image to the OTA target, but I am not sure whether this will work with Z2M. You will have to test that. 

    Best regards,

    Edvin

Children
  • Hi Edvin,

    I'm using MCUBoot and v2.5.2 of the SDK.

    I found app_update.bin Thursday evening after submitting this ticket and was wondering if that would be it.

    Yes, ZigBee2MQTT is a Home Assistant thing.  I've been pulling my hair out trying to figure out how to do both the NRF side of things and the Z2M side of things.

    I'll give this all another read with fresh Monday eyes and report back.

    Thank you

  • I see. Z2M is not something that we support directly, but I believe we have other users (perhaps you, included), who has tried before. Not sure of the outcome, though. Also, not sure if anyone have (successfully) tried FOTA using Z2M. 

    The app_update.bin is at least the binary format of the application. You should also find something like merged.hex in there, which is the .hex representation. What I am not sure of, however, is how the transport would work in Z2M. By default it is expected to use it's own Zigbee cluster for transporting the new image, when you are using MCUBOOT. Not sure how this is done in Z2M.

    Best regards,

    Edvin

  • Hi Edvin,

    I've been playing around today and it looks like Z2M does successfully update my board.  I found that building my project also gave me a *.zigbee image which I uploaded to Home Assistant and I was able to successfully update my board from the Z2M add-on.

    Thank you very much for your help.

  • Hello,

    Wow, that,s actually really cool! I guess the DFU protocol for Zigbee is standardized, so it kind of makes sense, but I wouldn't expect it to work so easily out of the box. 

    Thanks for sharing!

    Best regards,

    Edvin

Related