Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible to queue OTA updates? #3283

Open
rafaelmathieu opened this issue Sep 13, 2023 · 12 comments
Open

Possible to queue OTA updates? #3283

rafaelmathieu opened this issue Sep 13, 2023 · 12 comments
Assignees
Labels
no-stale question Further information is requested zwave-js-feature Needs a zwave-js feature to be implemented

Comments

@rafaelmathieu
Copy link

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 rafaelmathieu added the question Further information is requested label Sep 13, 2023
@robertsLando
Copy link
Member

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

@rafaelmathieu
Copy link
Author

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

returns this error:
image

@robertsLando
Copy link
Member

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

@AlCalzone
Copy link
Member

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: zwave-js/node-zwave-js#3707

@robertsLando robertsLando added the zwave-js-feature Needs a zwave-js feature to be implemented label Sep 21, 2023
@rafaelmathieu
Copy link
Author

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

Copy link
Contributor

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 github-actions bot added the Stale label Dec 27, 2023
Copy link
Contributor

github-actions bot commented Jan 1, 2024

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

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jan 1, 2024
@robertsLando robertsLando reopened this Jan 3, 2024
@jfhautenauven
Copy link

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.

@robertsLando
Copy link
Member

robertsLando commented Jan 29, 2024

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

@jfhautenauven
Copy link

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

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

@malammar
Copy link

malammar commented Jun 6, 2024

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.

@AlCalzone
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-stale question Further information is requested zwave-js-feature Needs a zwave-js feature to be implemented
Projects
None yet
Development

No branches or pull requests

5 participants