Keeping IOT devices up to date is a hard task, since they come in all sorts of different ecosystems, software projects, companies, etc. I run all FOSS IOT devices in order to avoid the problem with proprietary software and companies going out of business. In this, I’ll go over how I’m keeping my 3 types of devices up to date (ESPHome, WLED, and Tasmota).
The ESPHome Add-On provides an easy way to keep ESPHome devices up to date. When updates are available, the device will show an update option in the GUI, and there is an update all option at the top as well to update all ESPHome devices in one click. All the ESPHome upgrades have been simple for me to push out and I’ve had no problems yet with breaking changes (though all my devices are relatively simple).
ESPHome devices also now show up with updates in the main home assistant update listings.
WLED devices are now updatable via the integration in home assistant. This makes it a simple one click on the device to push out an update and keep things up to date that way.
There is a TasmoAdmin Add-On for Home Assistant which provides the ability to update tasmota devices. This can even do a bulk update of multiple devices at a time. The Tasmota project does warn to not update unless you need the new capability (and to backup the configurations if you do plan on updating. I was able to use it to upgrade all my tasmota smart plugs with minimal effort (I had one plug that I had to re-flash to get it fully upgraded, but it didn’t lose its configuration).
Home assistant has the ability to update Z-Wave device firmwares natively. These pop up in the updates list similar to any other home assistant core, or WLED device.