Migrating from Raspberry Pi 3 to Pi 4

Just in case this hasn’t been found somewhere else. As long as you haven’t done anything weird with your DB configuration like another DB handler, You should be fine.
This works for me running:
Going From: Raspberry Pi 3 Model B+
Going To: Raspberry Pi 4 Model B With 8GB RAM
Both Running the following system versions: (IMPORTANT! You MUST be going from and going to the same system versions.)
core-2021.7.1
supervisor-2021.06.8
Home Assistant OS 6.1

Pre-start Note: Make sure to note your hostname and local IP address.
Both can be found under: Supervisor > System - Host.
Simply copy & paste them in notepad. You’ll need them in step 10 below.

  1. Make a Partial Snapshot on old Raspberry Pi 3 (Supervisor > Snapshots) and include everything but HA Core OS. (The first checkbox at the top) You can add a password if you like. HA will not ask for it during restore process.
  2. Once the snapshot is created, click on it and select everything but HA Core OS and if you added a password, type that in.
  3. Click the 3 dots in the bottom right-hand corner and download the snapshot.
  4. Go through the normal steps to install a fresh install on Raspberry Pi 4 UNTIL you get the Onboarding screen. HA - Raspberry Pi
  5. On the onboarding screen, you should see a tiny link at the bottom that says “Alternatively, you can restore from a snapshot.” Click that link.
  6. Upload the partial snapshot you downloaded in step 3.
  7. Again, select everything but the HA Core OS. (Note: It’ll look like nothing happened except you’ll loose connection.
  8. As tempting as it may seem given nothing happens. No confirmation screen or anything. DO NOT UNPLUG YOUR RASPBERRY PI. The system will restart and it will still resolve to homeassistant.local:8123. Be patient. This took about 10 minutes for me.
  9. Once the page loads after refreshing and you may have to clear cache in your browser, you should be presented with a login screen. Log In with your previous credentials.
  10. Once logged in, go to Supervisor > System and change the IP and Hostname to your previous settings.
  11. Restart your system.
  12. If you use Nabu Casa Cloud Service otherwise skip to step 14 - Once everything is up again. Go to Configuration > Home Assistant Cloud. It may look like it’s connected but for me it didn’t work again until I logged out and logged back in.
  13. Check to make sure your Google & Alexa integrations are still working. Mine were just fine and didn’t require any updating, but it can be finicky from my understanding.
  14. Go to Configuration > Integrations and make sure everything is still set up and working. I had to re-log into my Withings Health and Alarm.com integrations. Your experience may vary but it really wasn’t hard. It just took me 30 seconds to do this.
  15. Run scripts and third party or external controllers to make sure they still work. I was worried my long-term token generated for my Elgato Stream Deck wouldn’t work and I would have to make a new one. But, it worked just fine.
  16. ENJOY! The whole process from device plug-in to up and running like usual was only about 40 minutes including restore time and system restart.
1 Like