esphome / feature-requests

ESPHome Feature Request Tracker
https://esphome.io/
413 stars 26 forks source link

Change "Update All" to "Update Online Devices" #2441

Open apbarratt opened 11 months ago

apbarratt commented 11 months ago

Describe the problem you have/What new integration you would like

The "Update All" button in ESPHome is a nifty way of quickly updating all devices to the most recent version by creating a pipeline that builds each device with the latest data, then wirelessly uploading it to the device in question. The trouble here is that this time saving measure is not helpful if some of those devices are not actually online. I would propose the button be renamed to "Update Online Devices" (I'd also thought just "Update Online", but wasn't sure it entirely made clear the purpose of the button and might be miscontrued to mean it was the status of an update, rather than a call to action). I'd then have this queue be updated to only actually compile the code for devices that are actually online.

I appreciate that if an upload fails, the user will still be able to download the firmware manually, but I suspect in such situations, the user is likely to be working with a few individual devices in development and so unlikely to be using the "Update All" button to achieve this. However I am making that assumption without seeing any usage data, so if I am mistaken, I suppose my proposed button could in fact be an addition rather than a change.

Please describe your use case for this integration and alternatives you've tried:

As a user with multiple devices online but a few without power at this time, I would like to update all devices with a single button without having to wait through compile times for devices that will currently fail to upload.

Additional context

Here is a mockup of the proposed change. Yellow box for highlighting purposes only.

Screenshot 2023-10-24 at 12 13 01
rubin110 commented 10 months ago

This has been an ongoing nag for me and every few months I look up to see if there's a fix for this yet. I have a bunch of devices that I swap out seasonal (windows ACs, small electric heaters, etc.) so many of what ESPHome is tracking will be offline.

I think the thing that's needed is "Only update devices that are marked as 'update available'" which would exclude anything offline or anything that's already running the latest release.

Anyhow, as it turns out there are a bunch of people who have wanted a similar feature over the last year:

The closest workaround is running a script within the instance to execute this. It would still be awesome to have a singular button in the UI to run it.

I imagine there hasn't been much of a response to these tickets due to either lack of time or not on the roadmap for various reasons. It would be great to consolidate all of these tickets into one, and then have a clear answer as to where this feature request stands. Thanks!