Let's start - it's time to prepare the system.
Since I will be using smart systems from different suppliers at home, I need an aggregator that will enable communication between different environments. Currently, there are several such systems on the market: Open Hab, Home Assistant, Domoticz (these are just examples).
I chose the Home Assistant for my Smart Home system - mainly because I already know and used it. In addition, I like the philosophy of Home Assistant and the way and amount of integration with various smart systems. It can work on various hosts - starting from MS Windows, through Docker and ending with VM and Raspberry. For me, it will run on Qnap NAS as a virtual machine.
The basis to run Home Assistant is the equipment on which it will run.
HARDWARE: SERVER
Requirements: good CPU (at least 4 CPUs), a lot of RAM. Necessarily USB ports (but they don't have to be 3.0+). It's good if it has several network cards - thanks to this, you can separate the smart-home traffic from the rest.
The server on which the Home Assistant will work is the heavily tuned QNAP TVS-872XT.
- CPU: i5 8400T
- RAM: 64 GB
- GPU: Quadro K2200
- Network:
- 2x1GbE connected as 2GbE in alb (active load balancing) - I use this card for VPN support
- 1x5GbE (this is 10GbE connected to the 5Gb port on the switch) - used to transfer data to / from virtual machines
- 1x10GbE - the main data network.
- OS: QTS Hero v5 with ZFS support
- Native support for Virtualization Station
- 8x2TB Seagate Iron Wolf configured in RAID6 - these are disks for storage. Here I keep movies, photos, other household stuff. Virtual machines land here as well.
- 2xNVME SSD 500GB - this is a RAID0 array, QTS Hero system and applications are installed on it
- 2xSATA SSD 500GB - these are drives for buffering data from the main matrix. Qnap has a pretty cool mechanism for storing your most-used data on fast SSDs.
- Cheaper NAS models enabling virtual machines to work. It is important that they have at least 8GB of RAM and a decent processor. For the Home Assistant I allocate 6GB RAM and 6 processor cores. I used to have a QNAP (TS-435) with a Celeron and 8GB of RAM on it and it was fairly decent, but I noticed that the system is quite slow. With this configuration, we will not run anything else on the hardware.
- RaspberryPI - The only reasonable option here is the RPi4 with 8 GB of RAM. This can be a good starter hardware, but requires you to buy an external drive (using an SD card is not a good idea for a Home Assistant);
- The rest - for example, a VM for Windows is not a good idea because it requires a laptop / PC to be turned on all the time
- NAS: QNAP TVS-872XT
- Memory upgrade: Crucial 32GB
- HDDs: Seagate IronWolf 2TB
- SSD drives: Samsung 980 500GB
- QNAP expansion card: QM2-2S10G1T
- GPU card: NVIDIA K2200
- Raspberry Pi4: RPi ModelB
- QNAP: TS-453D