Smart Update for ESPHome Dashboard

I submitted a feature request for intelligent bulk updates in ESPHome Dashboard.

Current “Update All” recompiles every device, even ones already updated.
For large deployments (I have 377 devices), this wastes 10+ hours.

I built a working add-on that cuts this to 30 minutes by only updating
devices that actually need it.

If you have 20+ ESPHome devices, please check out the discussion and
share your experience:

Your support helps show this is a real need!

If you would like to try it out, go to https://github.com/CSJudd/ha-addons/tree/master/esphome_selective_updates

14 Likes

This was discussed many times in the past: it’s never a good idea to update ALL of your devices if not needed, especially in a group. If you ask me i’d remove that button at all. Some of my esphome devices still run 2023 fw…
Golden rule here is “don’t repair if it ain’t broken”. Doing this ends up in a bunch of help requests on this forum like “after update this and that doesn’t work” . Of course no-one of those “help seekers” reads changelogs before doing update…

2 Likes

For me, this would be very beneficial if any security updates were made available. In other words, if a specific firmware update addresses a potential security concern, that would be more important of an update for me to compile over a feature fix.

Still, I do like this as an option.

2 Likes

For simple configs that’s fine, but for more complex devices updating every two years is a sure fire way to get two years of breaking changes all in one go.

1 Like

The trick to avoid all those breaking changes is not to update at all. If it works, it works - leave it alone.

My only ESPHome device is a controller for a solar hot water heater. It’s still running the original version from 2021 without a hiccup. There’s no way I would risk updating the firmware on a device which is responsible for providing hot water.

1 Like

Ah… you are a Tasmota man then.

1 Like

I love all these ideas… I think adding the version/update lock would be easy to do with a tag in the device yaml and react accordingly. I also like the idea of a dashboard/view to group devices - thinking by “area” or a “tag” or both selectable in the UI… I’ll play with these.

Admittedly, I have 3 Tasmota devices. They’re still on a 2018 version :sweat_smile:

I have about 35 tasmotas and 4 esphomes. They are always up to date.
The tasmotas take about 3 minutes and 1 button press to update. The esphomes take 30-45 minutes to compile.

that’s pretty unfair comparison… tastmota comes precompiled and you only need to upload fw, while esphome is compiled from zero each time… But 30-45 minutes is way high. I would seriously think about changing my hardware. On my nuc compiling of esp32 takes…roughly 2-3-4 minutes, on 8266 1-2mins tops.

I used to do that, too, back at the beginning. Then i realized that i’m just needlessly wasting my time… “big surprise”: after update all my devices worked exactly the same as before… :joy:
Now I read changelog and update only when i change program in certain module, or if any improvement is stated (either security patch or improved functions like bt proxy improvements not long ago).