Upgrading a 4-year old install

I’m semi-maintaining the HA setup in my friends house. The setup was created 5 years ago, and then left mainly unmaintained. The person that created the setup told my friend that she should not perform any updates, so that the system can stay running as-is. Core version is 2021.11 or so.

Fast-forward 4 years, and I’m trying to fix some minor issues in the setup, but keep running into things like configuration that has been done in many different places: some in GUI, some in YAML files, but also Node-RED and some other add-on. It’s generally a mess, IMHO. I would also like to switch from ZHA to z2m, while I’m at it, and add some new stuff.

The current setup is running a mix of zigbee and zwave devices, and it is the main control for many devices in the house:

  • all lights: no wired switches anymore, all zigbee
  • all heating: airco units and IR panels, the latter solely manageable using HA generic_thermostat entities
  • audio integrated with Sonos devices
  • additional integrations for solar panels etc
  • many flows that control heating, light scenes, etc.

We’re talking 200+ devices.

How would you start this project? I don’t think I can safely upgrade HA to today’s version, and then have a working system in which I can slowly clean up and phase out stuff like Node-RED.

I’m envisioning a spreadsheet listing all devices in and around the house, so that I can re-add them. Also a list of used integrations, most useful flows and their behavior, etc. Then simply backup the HA device (Intel NUC), wipe the thing and start from scratch. It’s clean, but it’s also a huge task.

Any things you can recommend?

Buy a new Nuc or Beelink or something and migrate the stuff over like you were converting from Homey or something. Don’t upgrade it…

2 Likes

In this scenario, I think I agree with SG above, best to leave the existing intact, spin up a new unit, start migrating things in smaller easier managed chunks, probably start with the devices that are smallest/least complex.

Current versions of HA have a well established backup and restore functionality, but no idea on something that old, so you want to minimize breaking anything else while something else is being migrated.

1 Like

Are you getting payed or moving in with them? If no then don’t touch the system.

1 Like

I would recommend you limit any use of HACS integrations.

Presuming this system will not be updated often sticking to official supported items is best. Overall I find the breaking changes are limited if they exist at all.

Thanks all. I didn’t consider setting up a new machine next to the existing setup, and then start migrating stuff. That would surely help in keeping everything up and running during the migration.

This would mean that you need to access 2 deployments for a while, using a mobile phone. Anyone has experience with this? I also found GitHub - custom-components/remote_homeassistant: Links multiple home-assistant instances together which could help in exposing most functionality in a single deployment.

Regarding limiting the use of HACS modules, I fully agree :slight_smile:

The companion app can access multiple servers, but not at the same time.
That ‘linking multiple instances together’ is IMHO not the ideal solution to tackle this migration.

I agree that setting up a 2nd system would be a better approach instead of trying to upgrade that outdated system.

As @Nick4 mentions, the companion app can switch between multiple instances. I have 8 connected to my phone :sweat_smile:!

I also have multiple tabs open in my browser so I can work on things side by side, I open up a tab on my second monitor.

Thank you all for input!
Current state of plans are: I bought a Beelink for my own setup, migrated everything from my RPI5 to the Beelink. Now I have a spare RPI5 that will be the new temporary home at my friends’ house. New ZWAVE and Zigbee antennas already ordered.

Next up: clean install on the RPI5. Move stuff one by one from the old NUC to the RPI5. When all is done, backup the RPI5. Wipe the old NUC, do a fresh install, and restore the backup from the RPI5 there.

Then: profit, I guess :slight_smile: