Confusion with .ota and .fsota File Extensions for XBee3 Zigbee OTA Updates


I’m using the XBee Python Library to perform OTA file system updates on XBee3 Zigbee modules with the update_remote_filesystem_image function in digi.xbee.filesystem. This function expects a file with a .ota extension, but XCTU generates a file with a .fsota extension, causing it to fail:

if (not _file_exists(self._file_path)
        or (not self._file_path.endswith(EXTENSION_OTA)
            and not self._file_path.endswith(EXTENSION_OTB))):
    raise _ParsingOTAException(_ERROR_INVALID_OTA_FILE % self._file_path)

Changing either the EXTENSION_OTA constant to “.fsota” or the file extension from .fsota to .ota allows the update to proceed (seemingly) without issues. Are .ota and .fsota file formats identical? If not, how can I generate .ota images using XCTU or another tool?


The .ota file extension is for the Digi XBee firmware. The .fsota is a File System over OTA file. You are not able to create a .ota but you can create the fsota file.