OTA Update of Electron

Hi there,

I have a Product of Electron devices. When I release a firmware, it often takes days for Electron devices to get updated to the firmware. Those devices are online frequently, and sometimes I use “reset” button for the update, but it often fails to update. Sometimes I need to power off an Electron device to let it get updated.

Why is it so hard to get the latest update? What’s the best approach for a better and smooth upgrade?


That topic has been raised before.
e.g. here

In short: You need a full handshake which is not (always) happening after a sleep or reset since.
But you can force a handshake via Particle.publish("spark/device/session/end", "", PRIVATE);

That was the case previously. As of a few weeks ago, if the device reconnects to the cloud with session resume, such as after a reset, SLEEP_MODE_DEEP, or stop mode sleep (pin + time) without cellular standby, it should get its update within a few seconds of reconnecting to the cloud. This should speed up updates for devices that sleep. It won’t affect devices that stay online all the time; that could still take a week.

Product creators with an enterprise contract can now enabled intelligent firmware updates, which can cause an immediate update like lock and flash, but do so for the entire fleet or by device group. It also provides a new mechanism for the device firmware to control when it gets or applies an update.



@ScruffR @rickkas7 Thank you so much.