zwave-js-ui icon indicating copy to clipboard operation
zwave-js-ui copied to clipboard

Possible to queue OTA updates?

Open rafaelmathieu opened this issue 2 years ago • 12 comments

Currently I have over 100 devices on my network and one of my switch just got a Firmware update. The problem is I have 50 of them.

As far as I have seen, I can only update one at a time which is a pain to do.

Is there a way to Queue the updates so that the next update starts automatically after the previous one completes?

rafaelmathieu avatar Sep 13 '23 17:09 rafaelmathieu

@AlCalzone Correct me if I'm wrong but this should already happen? If a user start updates on multiple devices them are queued, right?

robertsLando avatar Sep 14 '23 06:09 robertsLando

As far as I have tried it didn't seem possible.

returns this error: image

rafaelmathieu avatar Sep 14 '23 15:09 rafaelmathieu

I can add this feature on my side, anyway I would like to know @AlCalzone opinion on this, maybe it makes more sense to have it implemented on driver side so other applications can use this feature that in cases like yours is so useful

robertsLando avatar Sep 14 '23 15:09 robertsLando

Not possible at the moment. I plan to add a higher level queue into the driver that can queue tasks, so this becomes possible in the future: https://github.com/zwave-js/node-zwave-js/issues/3707

AlCalzone avatar Sep 20 '23 19:09 AlCalzone

I look forward to be able to do this. took me almost 2 weeks to update everything. (didn't do this full time)

rafaelmathieu avatar Sep 27 '23 18:09 rafaelmathieu

This issue is stale because it has been open 90 days with no activity. Remove the stale label or comment or this will be closed in 5 days. To ignore this issue entirely you can add the no-stale label

github-actions[bot] avatar Dec 27 '23 00:12 github-actions[bot]

This issue is now closed due to inactivity, you can of course reopen or reference this issue if you see fit.

github-actions[bot] avatar Jan 01 '24 00:01 github-actions[bot]

This feature is interesting for me too. Been investing in a lot of new Shelly Zwave modules recently and for once that a manufacturer seems to care about regularly providing new firmwares, I think I will have to regularly update a bunch of my modules. Doing them one by one is very time consuming TBH.

jfhautenauven avatar Jan 27 '24 19:01 jfhautenauven

@jfhautenauven This is something that should be implemented on driver side firstly

robertsLando avatar Jan 29 '24 09:01 robertsLando

@robertsLando indeed, I've read the above :)

@AlCalzone : this is still something planned in the driver right ? :p

jfhautenauven avatar Jan 30 '24 09:01 jfhautenauven

This is very simple to script out. Not sure why a driver update is required.

  1. Create a queue for OTA FW updates
  2. Run the first update in the queue
  3. Poll every n seconds/minutes for update status/success.
  4. On success/timeout reinterview node and start the next FW update in the queue

Adding retry/backoff would remedy any issues with update interruption and failures.

malammar avatar Jun 06 '24 18:06 malammar

Not sure why a driver update is required.

Because I'd like to implement that functionality in the driver, and I'd like to do it the right way. There are multiple things that could benefit from the same mechanism.

Sure @robertsLando could hack around it but that would be wasted work once the driver can do it natively.

AlCalzone avatar Jun 07 '24 06:06 AlCalzone