If you have wireless IP cameras installed on your premises, or you plan to deploy Wi-Fi cameras to avoid the wiring hassle, you can go for a Network Video Recorder or NVR. Except NVRs, especially wireless ones, come with a hefty price tag.
But if you use the Home Assistant server, you can set it up as an NVR with object detection and record videos only when motion is detected. This helps get you the required footage while saving bandwidth and storage at no extra cost.
Things You Will Need
You will need the following to build an NVR using a Home Assistant server:
- A supervised Home Assistant server on a Raspberry Pi 3, 4, or better. You may now also install the Supervised Home Assistant server on Docker.
- Make sure you are running the Home Assistant Server on Raspberry Pi or Docker via SSD and not an SD card. You must migrate your Home Assistant Server from the micro SD card to SSD as NVR requires more and faster storage.
- Make sure HACS is installed on your Home Assistant Server.
- Have MQTT installed and configured on Home Assistant.
- You will also need one or more Wi-Fi or Ethernet-based IP CCTV camera(s). You can get them from the marketplace from manufacturers, such as TP-Link, or build a $10 DIY IP security camera.
Install the Frigate NVR Add-On
Frigate is a Network Video recorder or NVR that works with both wireless and wired IP cameras. By installing the Frigate add-on on Home Assistant, you can run a completely local NVR with real-time AI-based object detection. It triggers automatic recording and captures footage based on the motion detected. It’s much more accurate and reliable than MotionEye when it comes to detecting human and object motion.
Follow these steps to install the Frigate add-on in your Home Assistant server,


Add and Configure Frigate NVR
After restarting the Home Assistant server, follow these steps to add and configure the Frigate NVR.


mqtt:
host: 192.168.0.100
port: 1885
user: mqtt-user
password: techposts
cameras:
TerraceCam: # <------ Name the camera
ffmpeg:
inputs:
- path: rtsp://192.168.0.200/live/ch00_1 # <----- Update for your camera
roles:
- rtmp
rtmp:
enabled: False # <-- RTMP should be disabled if your stream is not H264
detect:
width: 1280 # <---- update for your camera's resolution
height: 720 # <---- update for your camera's resolution
fps: 5
record: # <----- Enable recording
enabled: True
snapshots: # <----- Enable snapshots
enabled: True
motion:
mask:
- 0,720,3,0,427,0,355,162,812,565,783,434,708,244,518,279,918,692,274,230,463,246,642,388,944,720
GarageCam: # <------ Name the camera
ffmpeg:
hwaccel_args: -hwaccel vaapi -hwaccel device /dev/drive/renderrd128 -hwaccel_output_format yuv420p
inputs:
- path: rtsp://192.168.0.00:8554/mjpeg/1 # <----- Update for your camera
roles:
- rtmp
rtmp:
enabled: False # <-- RTMP should be disabled if your stream is not H264
detect:
width: 1280 # <---- update for your camera's resolution
height: 720 # <---- update for your camera's resolution
fps: 5
record: # <----- Enable recording
enabled: False
snapshots: # <----- Enable snapshots
enabled: False
Tapo: # <------ Name the camera
ffmpeg:
inputs:
- path: rtsp://techposts:9716582452@192.168.0.248:554/stream1/1 # <----- Update for your camera
roles:
- rtmp
rtmp:
enabled: False # <-- RTMP should be disabled if your stream is not H264
detect:
width: 1280 # <---- update for your camera's resolution
height: 720 # <---- update for your camera's resolution
fps: 5
record: # <----- Enable recording
enabled: True
snapshots: # <----- Enable snapshots
enabled: True
motion:
mask:
- 0,720,3,0,427,0,355,162,812,565,783,434,708,244,518,279,918,692,274,230,463,246,642,388,944,720 


Smart Surveillance at a Fraction of the Cost
With Frigate setup in your Home Assistant, you can leverage the AI and object detection capabilities of the add-on to monitor your home, office, and surroundings. You can use any IP camera, and it doesn’t necessarily have to be smart.
Also, you don’t need any memory card for cameras to store the video footage. Just add your IP cameras to the Frigate add-on running on your Home Assistant server and let the add-on handle the rest for you. It reduces the storage I/O and helps conserve the Home Assistant drive space as it only captures videos when movement is detected.
ncG1vNJzZmivp6x7rq3KnqysnZ%2Bbe6S7zGifqK9dqbxuwdKeZKGnnZp6or%2FSoqqtmZ6peqK%2FjKetq2WemsG4u9GkZK%2BhlJq8br7EnKarnJWnfA%3D%3D