Nov 22, 2020
A New Home for Home Assistant
I've been using Home Assistant for a couple of years now. A few months ago I picked up a Raspberry Pi 4 to replace my aging 3B+. It took a little while, but once I finally upgraded, it couldn't have been easier.
A Wonderful Start
Two years ago I made the switch from Smart Things to Home Assistant. There are plenty of reasons to make that switch, but this article is not about those. I used a Raspberry Pi 3B+ using Home Assistant OS. Coming from Smart Things, the majority of my hardware used Zigbee and Z-Wave. That made the Nortek/GoControl HUSBZB-1 an obvious choice since it combined both radios in one USB stick. Everything went great and I've been singing the praises of Home Assistant ever since.
Time for an Upgrade
Fast forward a couple of years and the Pi 3B+ was starting to show its age. I had already moved the Home Assistant recorder database to a different machine to avoid excessive writes to the SD card. But, after two years, I had burned through my first SD card. Around that time, I read about the 8gb model of the Raspberry Pi 4. I knew that much RAM was overkill for Home Assistant, but I thought it would be great for running the Visual Studio Code community add-on. I couldn't even use this add-on with my existing install because it requires a 64-bit Home Assistant OS installation. With dreams of faster boots and instant automations, I ordered the Pi 4.
Imagine my disappointment, then, when I began setting up the Pi 4 and discovered that Home Assistant OS did not yet support the 8 gb Pi 4 on the stable branch. Home Assistant is critical to the smooth functioning of my home, so I didn't want to run my main system on the development builds, even though they seemed solid. So I set the Pi 4 aside and waited.
Then, some time last week, I was doing my regular checks and found that Home Assistant OS 4.16 supported my new Pi 4. With giddy anticipation, I started setting it up.
Migrating to a New Pi
Home Assistant OS makes hardware upgrades like this incredibly smooth. But I didn't realize just how smooth. My basic plan was as follows:
- Write the 64-bit version of Home Assistant OS to a fresh SD card.
- Boot up the Pi 4 with the fresh SD card to make sure it works.
- Save and download a snapshot of my current configuration from the Pi 3B+.
- Upload the snapshot to the Pi 4, then perform a Wipe and Restore with the snapshot.
- Make sure the Pi 4 boots. When it does, shut down both and then move the Z-Wave stick from the old Pi to the new one.
This last step was where I expected to run into problems. After all, what are the odds that the USB Z-Wave Stick would be addressed the same way by the old and new hardware?
Well, it turns out the odds were pretty good. My backup installed on the Pi 4 and booted up the first time, despite the backup being made for a different board and different bitness. Then, I moved the Z-Wave stick from old Pi to new, booted it up, and it worked like a charm.
I still can't believe it worked so smoothly. Kudos to the awesome team at Home Assistant for building such a maintainable system!