Hi, I see that the recommended model for installation on a RP is either a RP4 or RP5, but is there a minimum memory recommendation as well? Would a 1GB RP4 board suffice?
Would HA run on a 1Gb Pi ? Yes, but it is not advised. I would not buy it. As soon as you try to install some add-ons, you will hit its limits. The more memory the better, since you can’t add memory to a Pi.
In the installation page for Raspberry Pi a RPi3B is listed and usable, but with a warning that it can old run the most basic setup.
A RPi3B comes only with 1Gb ram option.
If you already have the pi whatever the memory give it a try, but if you are buying new consider something else, a pi really needs to be run from an SSD so factor that into the cost… A cheap mini pc can be had for not a lot more cash. A second hand thin client can be had for a lot less. Both will give you a better spec but may cost a bit more in power consumption.
I run HA and tons of extras and addons on a Pi4 4GB, with just a fast 64GB Micro SD.
I have 32 Dashboards running with 133 Devices / 1150 entities to 5 devices, including
- PVoutput Server
- Mosquitto broker
- Ring
- Samba Share
- NodeRed
- Matter Server
- Studio Code Server
- Terminal
- HACS
- Automations
No need for an SSD, it all runs like a dream
Oh I forgot to add my Aircraft receiver decoder
Stats
The SSD is not for speed, but for reliance.
A SSD have wear-leveling, Bad Block Correction and other technics to prevent a fatal flash failure.
A flash card do not have these things, so it is many times more prone to hardware failure.
A flash card without wear-leveling? New very very very old stock maybe?
It’s simple as all modern flash memory from any (reputable) manufacturer uses wear leveling… Why? Because otherwise you can’t get a reliable flash storage… Same for bad block detection…
I run HAOS fine on a 3B+. History graphs can be slow but otherwise very stable.
Well I haven’t yet had any issues with the cards I have purchased.
I am using Sandisk Extreme Pro 64GB cards, in 4 of my Pi4’s and 1 x Samsung Pro Endurance 32GB card in another Pi4.
We have had 8 power cuts in our road on different phases over the past year, due the old and damaged cables, courtesy of the cowboys that installed the fibre and of course in each case there was an abrupt power failure and an unpredictable start and stop period to add to it. Even under these conditions I have not had a failure yet and these have all been running in excess of 2 or 3 years.
Of course it is a concern but everytime there is a change to the core or a major change to my pages or software I carry out a backup and then save this to a cloud space, just to be on the safe side. There is an inherant storage risk whatever you use.
There is no entry in the SDcard standards for this and 15 years ago a few manufacturers did try some bad block correction, but the improvement in production technics meant it became easier to scan and map the so-called factory bad blocks.
After a thorough burn-in test the later arising so-called grown bad blocks were few in the first couple of years, so the bad block correction included in the cards were less effective.
That means hardly any flash cards have wear leveling today.
The manufacturer will do a map of factory bad blocks, but the firmware of the controller will have to handle grown bad blocks.
ESP have a wear leveling API that can be used to do this, but it needs to be included in the flash firmware and it takes up memory.
https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/storage/wear-levelling.html
And over the years running Openhab and then HA on a pi3 and a pi4 with SD cards I have had 3 fail.
A pi4 will cope fine running HAOS and lots of addons. But at some point you will find the addon you want, won’t run well. Frigate being a prime example.
Good point. There are add-ons, and then there are add-ons. I’d want something like Frigate on its own hardware. But I view HA as more of a stand-alone appliance, rather than just one of multiple functions running on the same hardware. Both approaches are valid.
It’s really something that needs to be discussed before anyone can recommend whether or not to use an RPi, and/or SD card.
Good point about add-ons. Thank you!
Thanks for all your replies (I would respond to each one but with the minimum time allowed between each post, I’d be here all night!).
You’ve all given me some very good points to consider. This is my first foray into self-hosted home automation, so there’ll be a learning curve no doubt.
RP was my first thought because I do a lot on that already but, as pointed out, there are other options. It’s tempting to buy some kit and dive in but perhaps a bit of research first would be the way to go…
Cheers!
Remember as well you aren’t limited by the platform, you can move backups between RP and other platforms e.g X86 either bare metal or virtualised. When I started my HA journey RP was my plan but the global chip shortage made them difficult to get. I tried for a few days on VirtualBox on a Windows host, then bought a used HP mini which I run Ubuntu on with KVM to run HAOS as a VM. I probably go Proxmox if I was starting again instead of Ubuntu.
Personally I’d have a play with something you have already see if it is right for you, you can always move later. As for memory 4Gb would be my suggestion, my VM had 2Gb originally which was fine most of the time except compiling some Esphome. Advantage with a VM you just give it a bit more.
Have fun
Another good point. I find it a lot easier on both myself and my RPi if I compile the ESPHome firmware directly on my laptop, not in the HA add-on. I’d be doing it from my laptop anyway, might as well use that hardware rather than remotely run it on the RPi.
That’s correct, still if you would use nand flash based sd cards without sector virtualization for wear leveling (static or dynamic) you wouldn’t be happy for very long
If you want to read a little more about the techniques (mostly secrete sauce from the manufactures), here are some links to get yourself up to date on the topic
SanDisk microSD - OEM Product Manual - 2016
SD cards include an on-board intelligent controller which manages interface protocols; security algorithms for content protection; data storage and retrieval, as well as Error Correction Code (ECC) algorithms; defect handling; power management; wear leveling and clock control.
1.5.4 Wear Leveling
Wear leveling is an intrinsic part of the erase pooling functionality of cards in the
SanDisk microSD Card Product Family using NAND memory.
Flash 101 and Flash Management - A detailed overview of flash and flash management - 2018
Five significant factors influencing reliability, performance, and write endurance of the managed NAND devices are:
• Use of Single-Level Cell (SLC) vs. Multi-Level Cell (MLC) NAND flash technology
• Wear-leveling algorithms
• Ensuring data integrity through Bad Block management techniques
• Use of error detection and correction techniques
• Write amplification
True and then not.
I got a bit sidetracked there.
SDCards normally have wear leveling, but with ESP boards it is not a SDcard, but a flash chip.
No problem Thomas, happens to all of us
That’s correct! And pears are not apples (At least nobody has ever claimed the opposite )
I corrected the link from my previous post and then reread the thread and I see I have used SDCard everywhere instead of flash chip. I need to be better to use the correct terms.