rPI / NAS / VM / NUC - deciding factors

What are your deciding factors for choosing one platform over the other?
I am curretly in a process of moving from OpenHab as I wanted to try something new and HA’s lovelace bought me xD

my OH instance was running off of rPi 3B+ for the past 2 years. Never had any issues and / or dead SD card. Currently, as I am preparing for the HA plunge (and want the OH running concurrently till I am confident enough with HA) I am investigating possible hardware approaches. Sooner or later most of you migrate away from rPi because of the SD card issues, but some choose the rPi for the sake of having it on a separate device.

My setup is currently very tiny, but will grow as soon as I feel more comfortable with HA.
Currently I have following devices on which I can run HA:
Raspberry Pi 4 - 4GB
NAS (Celeron N3455 / 8GB RAM / RAID 10)
one of old laptops:
i7-720QM / 8GB / 250GB SSD / HD5650 - con: it is a behemoth of a laptop (19")
Core2Duo T7250 / 2GB / 250GB HDD - pro: it is way smaller than the above one

I know that I can currently run HA on any of those without issues, but looking more futureproof, NAS / laptop seem to be better choices.

With NAS the disadvantage is that with every OS update, HA instance will be down for up to 10 minutes (yes, it can sometimes take that long to shut everything down, update and do the checks).

The best solution, I feel, would be to run HA on a NUC - but what’s the point (besides the size).
Next to best solution is one of those 2 laptops - but just how powerful do these need to be?
Or will the 4GB rPi be sufficient?
SD card failures won’t be a problem - as the config (whether rPi / laptop) will be regularly backed up (maybe even Rsync-ed) with the NAS and copy of the most important data is also kept offsite, on my private VPS.

Are there things I forgot to consider? What are your thoughts on this, guys?

I am only familiair with running HASS.IO (Home Assistant is the new name) I have been considering a more powerful setup. From what I’ve read it is a question of what you want to run besides HASS and how attached you are to low booting times. For example, my Pi3b+ with an external SSD boots in about two minutes which is not a problem but boot times of mere seconds are possible with ‘old hardware’.

Raspberry Pi 4 - 4GB

This will probably be fine as it will also allow you to reserve the entire system capacity just for HASS. I would encourage you to avoid the use of SD cards altogether though. Perhaps if you can write to an external database such as MariaDB would a SD card be feasible.

NAS (Celeron N3455 / 8GB RAM / RAID 10)

This would be my choice. It is significantly quicker than a Pi but not incredibly so, which is not necessary anyway. Load times will probably be okay.

NAS (Celeron N3455 / 8GB RAM / RAID 10)
With NAS the disadvantage is that with every OS update, HA instance will be down for up to 10 minutes (yes, it can sometimes take that long to shut everything down, update and do the checks).

If your NAS does this frequently it is not the right system for HASS.

i7-720QM / 8GB / 250GB SSD / HD5650 - con: it is a behemoth of a laptop (19")
Core2Duo T7250 / 2GB / 250GB HDD - pro: it is way smaller than the above one

I would choose the smaller laptop over the i7 because I am assuming it uses less power while idling.

1 Like

thanks for the response @zigt1301

not entirely sure yet, but I think I’ll start with nodeRED / grafana / mosquitto

well, let’s just say that OS on my home PC, work PC and (current) laptop all run on NVMe SSD :wink:

OK, so I think I’ll be leaning towards repurposing my old laptop. As awesome as being able to run HA on a NAS might seem, it will eventually limit my flexibility with regards to OS updates - because wanting to keep the HA downtime to minimum, I’d have to wait and make sure it is up and running with no issues. Currently I can simply VPN in, start OS update on the NAS and check if everyting’s OK when I’m back home.

Does HDD / SSD make noticeable difference in HA usage?

All this talk like you HAVE TO use an sd card on a pi. It’s 2020, we can boot ha from ssd on a pi now. So the only reason left is power/speed. If you have 100’s of devices talking every second, you need nuc or better. Pi can run most homes just fine though.

You can still keep the db, etc on a nas or whatever if you like, but it isn’t necessary for reliability anymore now that we have usb boot. Still keep remote backups though.

I have also moved from OH( and vera, and iobroker, and fibaro HC2, and homeseer), running on a PI, then an Odroid C2.

I tried several versions of HA including the all in one installer, on the PI, a build from scratch on the C2, and a “download package” and tinker on the C2 using the native odroid linux.

The latter worked the most reliably. However, I have mostly Z-WAVE devices, and Z-WAVE on HA is not as robust as on OH, so much so that I needed to move my HA close to each node for its “interview process”. On the C2 I have a UPS card with a small battery, but the wifi on the C2 with a dongle I just couldn’t get working with HA. I bought a new 80211ac dongle and still no luck, no doubt if I bought the hardkernel dongle it would work, but that is a long lead time and I just wanted it to work!

So, in summary, I put lxde (low resource linux) on an old laptop, and installed virtualbox, downloaded the HA virtual machine from HA and it’s been great ever since. I have a screen for admin, and wifi and Gig lan; with battery backup. The VM used about 1.5G ram (but it’s only 40% utilised) meaning I can run several more VMs on that laptop if I need to, or add another core or RAM to the VM if things get slow. Another good thing with this approach is I can backup the whole VM on the network and if required, just rerun it on a different PC if something dies with the other laptop.

I even started testing on my Mac using virtual box, and just copied the VM over when I was ready to make it permanent on the HA laptop; so I know it’s a robust, portable option.

Raspberry Pi is absolutely sufficient. I ran mine on a Pi 3 for a while, until reloading and restarting just took too dang long. I have not tried a new Raspberry Pi 4 yet, but I suspect it would run really well on it. The advantage of a Pi is the low power usage.

Then I moved to a 10 year old laptop. The speed increase was great. If you have an unused laptop, I highly recommend putting it to use. Here’s a nice video on that process:

Recently I picked up an old Intel Xeon business desktop on eBay to run Plex on. I ended up installing Unraid, and I recently moved Home Assistant to a Virtual Machine on that computer. It runs about the same as it did on my laptop, but now I have one computer running instead of two.

Some people have a Synology NAS at home for file storage. They can run apps like Home Assistant also, so it makes sense to throw it on there.

Hopefully this gives

Runnin on PI4 4GB with SSD drive, it’s fast and absolutely fine. Also using MariaDB external database which also runs on the PI because of Nextcloud boosted the performance even more when loading historical data.
I am also running the PI with executed Kodi, Raspotify etc.

Thank you for all your input guys :slight_smile:
It is, indeed, a very friendly and helpful community :blush:

Nah, right now just a handful of them

that’s disappointing :confused:
although I have just 3 z-wave devices (door sensors) I’d very much like them to be reliable.

isn’t it meant to be this way? I mean: it is way faster and more reliable to just unplug the Z-wave stick (it has an inbuilt battery) and walk from device to device to have it included. After succesful inclusion, the device info will be stored on the stick, so that when you plug it back in, you’ll see all of them after a few short moments.
Is it different on HA then?

that’s the idea I’d be aiming for when running HA from laptop / rPi - either sync the config to my NAS or have the entire “image” periodically backed up there

I do - couple of them, actually: my company has just retired 3 of their oldest laptops, so I have enough room here.

I own a QNAP 4-bay NAS, but use it exclusively for backup / NVR
I could have HA running in a Docker on it, but if I don’t absolutely have to, I would prefer not to for one simple reason: it has 4x 4TB drives in a RAID 10 array (so far so good), but… if a drive goes bad, the array enters “degraded state” (unit still works, but drives are read-only) until a replacement drive is inserted. After replacing the bad drive, array will rebuild itself, which (with the 4 TB drives) is no quickie…
So in a way, having bad SD on a raspberry is not that bad as getting the HA to work again is just few hours (worst case scenario) compared to few days (unless having a reserve HDD lying around, which noone I know has) when a HDD goes bad in a RAID array.
Granted, RAID arrays do not fail that much, but when they do, downtime is waaay longer.

Would you choose it over an old laptop?
I assume then, that rpi foundation finally made the external HDD/SSD usage possible up until now everywhere I read about external drive on raspberry, it was for the pi3, and pi4 was “still to come”.
Are you booting directly from the SSD or is the /boot still on SD?
How long does it take to boot?

Yes, this is why I bought a z Stick, unfortunately it does not work that way with OH or HA. If you read the instructions on inclusion from the author of the OH wave library (cd Jackson) he is clear that inclusion MUST be done from OH with the key in to work properly, same deal for HA in my experience. One thing I’ll say though is that inclusion and exclusion works MUCH more reliably for me with HA than OH.

However, the star performer for z wave, running and inclusion and exclusion for me was Homeseer, the ztool app it had worked SO well and inclusion and exclusion, and the wave worked all around the house. The problem with HS is that it’s a single author, and is mainly PC focused, and all the addons are paid, and pretty rubbish compared to the addons for either OH and HA (just look at charting for example).

Something isn’t right with python OpenZwave and the OH zwave library because it was the same hardware I used, only sw changes.

I’m waiting patiently for the qt-zwave/ zwavedaemon rewrite that hopefully will improve things.

1 Like

If you want to utilize power consumption then I would absolutely go for the PI. Boot is a matter of maybe half a minute or less. I did not check the time however it’s faster fro SSD than from SD. Boot from SD is quite fast too! I am using the PI fanless only with passive cooller, so If you don’t want to hear noises from the fans, go for the PI

Here is maintained great guide how to get SSD boot. You still need to have SD in the Pi anyway:

use this one

That’s a good observation. I wonder how Unraid handles a dead drive. My impression is that it would continue working as before, just with some of my data missing until I replace the drive, and rebuild it from parity.

No matter what hardware you choose, if you install full Home Assistant (formerly “Hass.io”) with the addon store, this Google Drive Back is a well polished piece of software. It automatically backs up on a schedule you set, and keeps as many old copies as you set before deleting old copies to make room. If for example your Raspberry Pi SD card dies, reinstall Home Assistant on a new card, and download your latest snapshot from Google Drive.

1 Like

I started with a Pi 3B and then moved to an old laptop and back to the pi. The reason I moved from the Pi was due to SD card corruption a couple of times. Then moved to the laptop runing Ubuntu Server with Hassio (now Home Assistant) in docker. Worked fine, no real speed gains - expect perhaps a bit faster reboot, but nothing worth mentioning. I did however use a lot more time with keeping Ubuntu and all the surrounding packages updated, only to run Home Assistant. I found out that Z wave logs like crazy, so after configuring the logging levels and also configuring the recorder to only record things I actually am interested in, I moved back to the Pi and bougth a A1 SD card. Time will tell if it works, but I hope it will, I don’t want to spend a lot of time maintaining something that is just maintaining itself on a Pi with Home Assistant on it.

I know that is very much a personal prefence and if you run a lot of other stuff it might not work, but for me the Pi has been the best solution.

yes, that’s what would happen. Unlike RAID, the data is not spun on multiple drives, but each file exists only on one drive (and parity drive) so if a drive dies, only the data that was on it would not be accessible - rest would be just fine.

my NAS has quite good backup software running on it and I already have one thick-provisioned, encrypted volume with snapshot capabilities for backups, which then syncs with an offsite dedicated server I am renting purely for the data safekeeping
I’ll be uitilizing this setup also for the HA backups.
Plus, I’ve been put off with backing things up to Google Drive / MS OneDrive when I needed to rebuild my entire RAID array and both of those rejected most of my files.
Add to that Google’s ToS:

When you upload, submit, store, send or receive content to or through Google Drive, you give Google a worldwide license to use, host, store, reproduce, modify, create derivative works (such as those resulting from translations, adaptations or other changes we make so that your content works better with our services), communicate, publish, publicly perform, publicly display and distribute such content

.yeah… :laughing:
I’d rather rent a cheap (ultra-)low end dedicated server so that my data stays my own and only I have access to it xD

so far, I have never had a SD card failure in any of the Pi’s I am using (currently have 5 at home and a few at work, doing various kind of stuff), but tbh I never skimped on the SD cards

Snapshots can be password protected, in case you don’t already have a server

1 Like