Moving from Pi3b to Pi4b with SSD woes

Ok so I’ve been running HA on a RPi3b (NO SD) with the vanilla HASSIO install on SSD. This has been short of fantastic for over a year. Then suddenly the Pi would just reboot once a minute and would not let me SSH in or anything. Googled like mad and found others complaining about the same and some suggesting it’s RAM related ( I have my doubts as I had a card showing RAM usage and it rarely went above 50%) and they fixed it by going up to a Pi4 4GB.

Ok so I did that - but on a SD and restored from an earlier snapshot. Only it did not work correctly, specially NodeRed lost its connection to all my entities. I decided to reflash (after finding out Rpi4’s can’t boot from SSD) the Pi4 so it can boot from SSD. Then I found out but that won’t work with HASSIO! Right time to get to know Docker… only there’s no straight forward guide for that but I made do with what I could find and got Docker going on the SSD running Buster Lite. Great now to get HA up… but then there’s a gazillion HA docker instances and the vanilla one does not have SuperVisor (which was dropped but is back and might be dropped again… so much confusion on the net) - So I got HA up and running (no supervisor) and managed to install Node-Red in a different container. Great, but now how on earth do I restore from my Rpi3 snapshot?!? How do I link Node-Red across containers?

Can somebody PLEASE write a bot that WIPES the internet clear of anything HA related that is older than 3 months!!! It would REALLY help!

Rant over - Now can anyone please point me to how to restore?

Thank you ever so much!

Because you no longer have the supervisor you simply extract the contents of the snapshot and copy the entire contents of the config folder over to the new instance. Including any hidden files and folders.

4 Likes

Thanks Tom, you are a star that worked for a lot of it! Now I just need to figure out how to point Node Red to the HA instance and connect it all up… most of my hard work is in there…

This is only a couple of months old:

Thanks Tom!

Last one then I should be close to back to where I was… how do I get all my old node-red flows back… dreading the answer to be ‘you should have backed those up seperately!’ I guess they are somewhere in HA docker container and needs copying somewhere to the new Node Red Docker container?

Thanks

Thanks for ticking the solved box Petro - still doesn’t answer why it all has to be so confusing!?

I didn’t tick the solved box, you must have. I just moved this out of WTH into configuration because this is just basic support.

I’d argue it fits both, but happy for you to move where ever you feel is best. The whole process was riddled with WHAT THE HECK moments for me.

You’re moving from one architecture to another. It’s not going to be simple by any means. Had you moved from hassio to HomeAssistant OS you wouldn’t have had an issue. The only gotcha is that you’re running off an SSD on a pi, which historically doesn’t work great for any PI.

A good WTH for this would have been: “WTH why is it so hard to run home assistant on a raspberry pi with an SSD?”. As it stands, your current post is all over the place.

Then your second post should have been “WTH why can’t I restore a snapshot outside HomeAssistant OS?”

You’re welcome to create those 2 WTH’s, just make sure they don’t exist already.

I’m good. I can give you a whole lot of WTH’s (WTH - why are there so many people with pi3bs stuck in reboot loops, WTH why is the only solution provided to buy a whole new machine, WTH why is it so hard to find out how to move from Pi3b to Pi4b, WTH why does SSDs work with Pi3b and not Pi4b, WTH why can’t I use HASSIO on Pi4b with SSD etc etc. and now you’ve added some! WTH - why is everyone recommending running of an SSD when using a Pi and you say no?!) but it makes no difference to me where you post it, it is a total non-issue. Thanks for your time.

I think your WTH’s could make some good ground. If you have the time, you should make them. EDIT: Just make sure they are related to HA and not solely an issue on the Pi4b.

In case you haven’t figured it out, you can restore flows from a node-RED flow export, or you can pull in all your old flows from a JSON file if you were previously running the node-RED add-on in a supervised/Home Assistant OS install. With those files in hand, it is as simple as importing the flows. Using import means you’ll need to update your Home Assistant server node to get the connection back up to HA. Your timers may also need to be updated, as I think node-RED wipes time zone data during import.

With that being said, you may also just be able to dump your old flows into the /data folder that your node-RED container points to. I recently had to rebuild my environment when switching to an SSD on anotehr pi (one that runs NR). After using docker-compose to get my containers back up, i simply copied over the contents of my /data folder and like magic, it all came back. No updating required. Just a simple redeployment. The file you’re most interested in is /data/flows.json

Hope this helps.

Thanks Andy, that’s great, will give it a whirl in a bit. Currently trying to figure out why all my entity names have changed (_1’s and 2’s) … this moving to another pi business is hard work…

For anyone trying to do the same here are some initial gotchas:

  • once you got to a working HA in docker if you just copy over all your snapshot files you will have
  • the HACS logo all over (again) - there is a post somewhere on how to remove it - I had it many months ago
  • you might have a lot of entities that got renamed for some reason - 90% of mine has changed
  • have a lot of lovelace cards that are broken - mostly because of entity name changes… it’s going to take me a while to work through them

I will update as I go in case it helps anyone. (starting to think I should hold on until they have a USB bootable stable solution for a pi4 - but then Petro here confused even the SSD matter…)

It seems I had a tonne of Node Red add ons which did not come across so had to install them manually and seeing for whatever reason all my entities now have different names(light.bedroom became light.bedroom_1 or _2 in some cases) it has been a very painful (ongoing) process to fix it in Node Red. Somehow the original nodes that came across to Node Red which refers to an entity does not work at all. Even if you rename the entity to the correct one, I have to remove the node and recreate one from scratch then it works… I am sure I must be missing something as this migration to a pi4 / Docker is a bit of a nightmare! I am not sold yet…

UPDATE:

In case this helps anyone, I gave up on the docker route as too many things were broken and I did not have the time to rebuild it all. So I went the beta route many others suggested. I’ve been running a RPi4b (4gb) with an SSD on os5.2 (beta) and the only issue is it reports an eth error, but that does not seem to impact on anything. It’s been running solid for 20 odd days now.

I’d recommend that if you want to run a RPi 4 with SSD