Add the possibility to install a previous release of an addon

I would like to add this also.
Be able to choose which version of , OS, Core, integration etc. i want to install in Home assistant.
This is most desirable when there are serious bugs in a version that make it impossible to use it fully.

It should be a list of at least 5 of the latest versions.
This is to simplify the way you can roll back to older versions.

1 Like

I think thereā€™s actually two distinct use cases here, one of which may be far less problematic than the other:

  1. Rollback an add-on to an arbitrary earlier version (e.g. to fix a breaking change)
  2. Install a newer version that is not the latest version available, but is newer than the current version

I can understand why (1) might be problematic as itā€™s not always possible to manage arbitrary version rollback, especially for add-ons that hold data. But (2) should be far simpler to achieve as itā€™s still enforcing a ā€œmust be newer than the currently installed versionā€ policy, which would be supported by all addons. Itā€™s just not mandating the very latest version and giving some choice to users.

For me, while (1) would certainly be handy (and I accept could only be achieved with a solid risk of data loss), (2) would allow for a certain conservatism when it comes to add-ons that have a very frequent release cycle, but take an extremely long time / are disruptive to install. (e.g. ESPHome)

I have another use case why I need an older addon version temporarily. Iā€™ve been using z2m for years running natively on a Windows machine using npm for Windows (because reasons beyond this post). That machine has suddenly died. Now I want to migrate my HA+z2m instance to the Virtualization Station on QNAP NAS. Installing HA was easy because I had previous HA instance create weekly backups and auto-upload them to the NAS. But installing z2m addon is a problem now because previous z2m instance on Windows was very old. Z2m does support restoring data from a standalone installation but this requires versions to match. It might work accross versions, but Iā€™m not risking having to re-pair 30+ devices, some of which inaccessible physically. I also might be able to spin up another Windows machine from backup and update npm version there, but previous attempts to run npm update commands on Windows have usually broken something. It would have really be much much easier if I could just select a version of HA addon to install.

Possible change of data structure between versions is exactly the reason why I do need an older version.

It is possible to downgrade a version using this workaround.

Create a partial backup of the add-on youā€™d like to downgrade.
Untar that backup and edit the addon.json file.
There, you should modify the ā€œversionā€ values (in the case of ESPHome 3 occurrences).
Save the changes, repack the backup, and restore from the modified backup.

Voila! HAOS will redownload the old version and install it, then immediately notify you about a new update.

Of course, test this first in your dev environment, or at least save a full backup. Doing this might ruin your HA install, your host might catch on fire, and your whole neighborhood might explode O.o