Moving from a Pi to a PC

TLDR: Do it if your system has grown large enough. It’s the ducks guts.

This isn’t a tutorial, just observations on the process and effect.

I see a lot of questions about how to do this and few discussions of quantitative/qualitative benefits. So I’d like to address that.

I have been running on a pi 3B for over a year. During that time I’ve added a fair number of devices, sensors, scripts and automations. I don’t think my HA server is that ‘large’ but here are some quantitative stats:

Plus about 5000 lines of Lovelace config.

I did have to move to MariaDB instead of the standard SQL database due to constant corruption of the database but other than that, I did not think my pi was performing too badly. Automations mostly ran when they should. Sensors mostly updated when they should.

I say mostly because the large amount of data the Glances component (monitoring my other pi used as a GPIO to MQTT bridge) would regularly vomit up would occasionally fail and I’d get warnings in the log.

Config checks and restarts were measured in minutes.

There were always many “component xx is taking longer than 10 sec to set up” warnings. Some components would actually fail to set up correctly (looking at you, iTach remote) and only partial control/automation was possible of devices that depended on this.

It eventually sank in that I needed to upgrade.

I purchased a new XCY core i7 4610Y mini PC with 8GB of RAM for only slightly more than you can get a Celeron NUC for. I had a spare 128GB Samsung SSD so that made a difference but still, NUC prices are way too high for what you get. Power consumption is 11W for an idle i7 4610Y. So comparable with the pi. The i7 4500U uses 15W at idle, also an option. These processors benchmark a lot faster than the Celerons.

I retained the existing Pi as another GPIO to MQTT bridge as there were switches attached to the GPIO. No rewiring was necessary I just wrote the appropriate config file for flyte’s python script and ran that in a ve on raspbian lite.

I chose to go the easy route and burned the NUC image to my SSD in an external SATA HDD enclosure with Etcher. Removed it. Installed it in the new PC and on power up was soon greeted with the very promising view of a nearly empty HA web page. Not bad for a not actually a NUC.

I chose this route as I don’t need access to the host OS. Everything I want this server to do (Grafana, MQTT, Motioneye, and more) can be done from within Hassio and its addons. If you want access to the host OS to do fancy shit, use the documented Docker on Ubuntu server LTS method.

It took very little time to set up SSH and SAMBA, copy across my latest snapshot and restore from it.

Everything appeared to be well!

Almost…

My HA local timezone was correct but he underlying HassOS had not picked up my local timezone. I won’t bore you with the details (time dependant templates and SSL not working) but performing a HA update (fortuitously available on at least a by-weekly basis!) fixed the problem. There are other ways to do this if you find you are in the same boat. Ask me how.

Actually dont. I dont know because I did not have to. I just know it is possible and what you need and where to ask ‘how’.

Now.

Now configuration checks dont let me get up out of my chair much less make a cup of tea (as they used to). Seriously, 2 to 3 seconds and it’s done.

Now I smile when I see and hear these alerts on my phone when I restart:

Last restart took 12 seconds. Compared to up to 5 minutes before the upgrade this is fantastic.

My start up log contains nothing but 3 warnings about custom components not being tested.

I can view my (still image capture based) cameras for as long as I want without the view disappearing (used to happen after about 10-20 seconds on the pi).

The only downside I’ve noticed:

Panels with 30+ mini graphs that used to take a minute or so to load make my web browser unresponsive for 2-3 seconds while the deluge of data comes in. At least for the first time they are loaded - after that only the cache has to be updated and responsiveness is fine.

In short, I’m extremely happy with the upgrade. If you are suffering from the symptoms outlined above, don’t delay, upgrade today.

12 Likes

Have read with a lot of interests your post and I have to say I fully agree with you on all benefits ! I was also using PI 3B+ as my first main HA hardware platform (used both ways, installed by hand in virtenv and later with hassio) and I had also lot of timing errors/warnings in logs all the time, not speaking of slow reaction from system and problems with memory cards…
Switched to an Intel NUC (easily using snapshots of hassio unless different hardware platform ARM -> X86) and since then no more errors in logs for timer or similar things and boot/reboot so fast, and no more memory cards corruption or problems like that !

2 Likes

Other than the HassOS TZ issue I had no problems at all. What did you encounter, if any?

I know there are some community addons that only work on AMD64 not ARM but wasn’t away of any platorms with issues.

I got none as I had been careful to always use addons avalaible at least on ARM (Pi) and X86 :wink:

2 Likes

I remember reading about a couple of components that don’t work (or don’t work completely) on Windows as the host OS but as that’s an OS issue and both X86 and ARM images use a flavour of Linux that shouldn’t be an issue for pi to PC migration.

Sorry if I didn’t mention it but I’m speaking moving to X86 architecture running Linux (I use only real OS such as Linux, not the b*llshit of some framed companies :smiley:

I upgraded about 3 months ago to a custom PC i5 8400 8gb ram best decision ever had to figure out what to fill up the extra space with (a good problem to have)

:exploding_head:

Running HA in a VirtualBox VM, and it’s a joy. Host system is a i7 laptop.

2 Likes

Upgraded for similar reasons. Despite my attempts at using external/network storage on my Pi 3 along with a separate MariaDB VM, performance just wasn’t cutting it for me. I went with an Ubuntu VM + Docker on my ESXi host (free license). I was able to forward my Z-Wave stick, which was my biggest concern.

1 Like

Had similarly great experience with my migration. I wrote what I did here My migration to improve Hassio performance and increase security

2 Likes

Is there any guide on running HA on a VM? Do you pay for the VM?

What issues have you got with shell command? I am facing the same :frowning:

??

A VM is just another computer on the network. You don’t pay if you run the VM yourself.

Setup VM (Ubuntu/Debian/whatever), then follow literally any of the preferred ways to install HA on a Linux distro. Python, docker, hassio on docker…

1 Like

My guy always to the rescue thanks for your help and knowledge man God bless :slight_smile:

Virtualbox is free. There are hassio images for virtual appliances. https://www.home-assistant.io/hassio/installation/

I run hassio in virtualbox on my windows laptop, just experimentally. Works fine. Note: some virtual systems may have problems passing usb devices to hassio, which means z-wave/zigbee sticks won’t work.

1 Like

What machine were you using to host the MariaDB database? I find the speed of that machine has just as much effect as the machine actually running HA.

I used the pi Hassio addon. Memory use doubled but I still had 50% free and the performance vastly improved over the SQLite default db.

I run hassio inside proxmox VE (which is a hypervisor) on my Dell optiplex 9020 micro (i5 8gb ram, 250gb ssd). Passing USB devices are like putting them in and click the pass to host button. Z-wave works like a charm. Performance is beast and power usage is low. If you’d want to get into it I could help you out. I was thinking creating a tutorial series.

2 Likes

Yeah but you can’t do that with Hyper-V