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.
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:
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.
so hours/days later, we can check the DC-CLI and confirm the end-device status.
Then we can schedule the required end-device updates … but they are of course sleeping.
so hours/days later, we can confirm if the update worked.
Once it has worked, we turn off the FW-UPDATE features.
(I did create a PDF document for our support people)