Can XBee firmware be OTA ugraded by Device Cloud?

We have some CP X4 with S2B (fw: 21A7), and battery powered end-devices with S2C-TH (fw: 4059). We are having reliability issues; per newer fw 405E/405F release notes, fw like 4059 has joining problems for S2C end-devices with S2B routers.

I’ve had no problem doing OTA update from an X4 or X2e web-gui, but that requires local gateway access - ours are remote.

Can the upgrade be done via Device-Cloud? I’ve been able to upload the EBL file via DC; I can enable OTA check boxes, but it seems I cannot actually trigger the upgrade. Can OTA be triggered remotely by Device-Cloud? Does Digi have a Python script which can help accomplish this?

Looks like if you use the API function of the Device Cloud, you should be able to update the firmware on a remote XBee. Just make sure you know the Device ID value before you start writing the API.

Hey, MVUT. So no white-paper on this?

After some fiddling, I discovered that a mix of normal Device Cloud settings and Device Cloud “Command Line Interface” (DC-CLI), I can accomplish it. It does take about 1/2 a day, so for hundreds of units, is tough. Plus one cannot cut-n-paste to DC-CLI, so one types by hand.

In our case, our sleeping device might only wake up a few times a day. So we need to:

  1. via DC, enable the FW-UPDATE; then we have to wait for our end-devices to wake & update the gateway, so we can confirm which XBEE and FW is in each end-device.
  2. so hours/days later, we can check the DC-CLI and confirm the end-device status.
  3. Then we can schedule the required end-device updates … but they are of course sleeping.
  4. so hours/days later, we can confirm if the update worked.
  5. Once it has worked, we turn off the FW-UPDATE features.

(I did create a PDF document for our support people)

At the DC-CLI, check out the XBEE command (not SET XBEE, just XBEE)

“xbee fw_update” shows the status of any joined nodes.

“xbee fw_update 00:13:a2:00:40:d9:9c:a8! fw_405F.ebl” schedules the update, which is (FYI) cleared if the gateway reboots.