RiP4 or virtual machine: How should I set up my HA system?

Here’s the context of this question… I previously ran HAOS on a RPi4 with 8GB ram. I separately ran Frigate NVR in a docker container on a mini pc (Minisforum GK41) that has 8GB ram and an Intel J4125 Celeron cpu. There were times that I thought the Raspberry Pi was taking a long time to send notifications to my iPhone that were triggered my MQTT messages initiated by the Frigate NVR. For example, Frigate would detect a person on my back deck, but I wouldn’t get a message on my phone fore 10+ seconds.

At the same time, I have been planning on adding more poe cameras to my system and decided to buy a Beelink EQ12 with 16GB ram and an Intel N100 cpu. How many resources should I give the virtual machine so that it performs better than the RPi4?

Alternatively, are there services that I should move from Home Assistant to a docker container on the host (i.e., Beelink EQ12) that would make Home Assistant run fast?

I would greatly appreciate your thoughts.

Sending a notification from an MQTT message takes almost zero resources, CPU and I/O wise. An RPI4 can handle hundreds of MQTT messages per second, no sweat. Your problem lies somewhere else. Throwing more CPU power at it will not solve it.

@HeyImAlex What would be a good way to figure out what app or process is taxing the system?

If you can SSH into your RPI, issue the command htop.

Does 2 vcpus on an Intel n100 sound like too much to be using for Home Assistant? When I check htop it shows each processor is always under 10%.

I think it depends what you want to use HA for.

I don’t do video processing and my RPi-4 2GB is more than enough for my ~70 devices.

Seems a lot of people think about this. I’m always surprised when people look to cram everything into the same hardware that runs HA. I believe that you should only put your primary home automation capabilities on the HA hardware and then build a different machine to run none critical items, such as any real video processing. This prevents your home automation from being take offline because of some none critical functionality. I run zoneminder on separate hardware to do object detection and then just feed the results over to HA. As such a RiP4 is ok for an HA controller. However I much prefer the odroid N2+ over a RiP4 based on performance… The odroid N2+ with 4G memory and 32G emmc storage is a great platform for HA. Here are instructions on getting a good load on the N2+. The N2+ is more than enough for your critical home automation items and has low enough power drawl so that you can run it off a relatively small battery backup for a long time. Which is important if you do any home security in your home automation. Considering things you use for home automation like motion sensors, can easily provide home security features its an easy next step when building home automation.

Your point about keeping Home Assistant and other services on separate machines so that one point of failure can’t take them all out is a good one. A power outage would take my router off line so I wouldn’t be able to get any notifications on my phone even if the computer running HA were still running. Basically, I’ve assumed if the power goes out, I’m vulnerable.

My concern with other functionality taking out my home automation system isn’t really related to power.
If you have some smart capability you want to take place at some specific time, like feed a pet, or notify you when activity is detected in the house when no one is supposed home. If some none critical functionality kills the HA host, your pet is hungry or worst you don’t get notified about the strange activity in your house. In case of power outage you can use cellular as a backup. The cool thing about using cellular as a backup is you can also use it with a DECT phone to provide an fashion home phone number. Having this extra number comes in handy, as you can provide it to anyone you don’t really want to give your personal number. This chain talked about the cellular backup path. The cellular gives a way to access the system and get notifications even in the event of a power failure.