What it is
Frigate is a network video recorder (NVR) with local video processing, object detection and audio event detection. Its Home Assistant integration connects a running Frigate server to camera views, detection sensors, media and supported controls. The Frigate server, the integration and any companion dashboard card are separate components.
My Setup
How I Run Frigate Alongside Home Assistant
My Home Assistant installation runs on a Raspberry Pi. Frigate processing runs on a separate PC.
I use that separation to keep the camera-processing workload on its own machine while Home Assistant coordinates devices, dashboards and automations. Frigate brings together my local RTSP cameras, Ring cameras through my Ring MQTT fork, and Blink cameras through my experimental BlinkBridge fork.
Frigate also supplies the bark audio detections used by the Bark Alerts integration I built.
Separating camera processing from home automation
The separate PC runs Frigate's video ingestion, configured detection pipelines and recording services. Home Assistant connects to that server to expose supported camera entities, detection state, media and controls.
This keeps Frigate processing off the Raspberry Pi. Camera views, notification clips and media playback can still pass through Home Assistant, depending on how they are accessed.
The boundary is about responsibility: Frigate manages camera processing and recordings; Home Assistant makes that information useful alongside the rest of my home. Optional Bark Alerts audio-history conversion is a separate task that runs on the Home Assistant host.
Bringing different camera sources into Frigate
Local RTSP cameras
My local cameras provide RTSP streams over the local network. Frigate consumes those streams on the separate PC and applies the recording and detection settings configured for each camera.
These are the native local camera inputs in my setup.
Ring cameras through my Ring MQTT fork
My Ring MQTT fork provides an RTSP gateway for Ring camera video, allowing those cameras to join the same Frigate setup.
The gateway depends on Ring's cloud service. Exposing an RTSP endpoint on my network does not turn a Ring camera into a native local camera or guarantee an uninterrupted stream. Availability still depends on the camera, the bridge, the internet connection and Ring's service.
My project builds on Ring MQTT.
Blink cameras through my experimental BlinkBridge fork
I use my experimental BlinkBridge fork, based on Roger's BlinkBridge project, to make Blink footage available to Frigate over RTSP.
In clip-based mode, it publishes a new clip and then holds the final frame between updates. The fork also includes logic to recover new clips that the motion flag missed, using media responses already retrieved from Blink.
An experimental Live View option provides another path, but it should not be read as a guarantee of continuous footage. Live View and aggressive polling can increase battery use and encounter service limits.
This connection remains dependent on Blink's cloud service. A persistent RTSP endpoint does not necessarily contain fresh camera frames.
How Home Assistant connects to Frigate
The official Frigate integration uses a direct server connection alongside a shared MQTT broker. Live camera viewing also requires access to the relevant streaming endpoint.
Scroll the table horizontally to compare all four columns.
| Connection | Typical endpoint | Role | When unavailable |
|---|---|---|---|
| Frigate server API | https://<frigate-host>:8971 | Server access for media browsing, recording playback and supported runtime controls. | API-dependent functions are interrupted, even if Frigate continues processing cameras. |
| Shared MQTT broker | mqtt://<broker-host>:1883 | Detection and state updates used by MQTT-dependent entities, including motion, occupancy and audio detections. | Updates stop. Entities may retain stale information or become unavailable. |
| RTSP streaming | rtsp://<frigate-host>:8554/<stream> | Live video for camera entities using Frigate's RTSP restream. | Those live views are interrupted; API and MQTT connections may remain available. |
These are typical endpoint examples, not my household addresses.
Port 8971 is Frigate's authenticated endpoint, with TLS enabled by default. Home Assistant needs a working HTTPS connection with a certificate it can validate.
Port 5000 is a separate internal, unauthenticated HTTP endpoint. Using that endpoint does not require disabling TLS on 8971. Likewise, disabling TLS on the authenticated endpoint changes transport encryption, not authentication.
Frigate's MQTT configuration and Home Assistant's MQTT integration must use the same broker. A successful API connection does not replace the MQTT dependency, and MQTT does not carry the live camera video.
The official Frigate integration documentation covers these connection requirements.
My Bark Alerts integration
I built Bark Alerts to connect Frigate's bark audio detections to a compatible training collar's learned beep command through an RF-capable Broadlink device.
The workflow is:
Frigate bark audio detection → Frigate integration's Home Assistant sensor → Bark Alerts → Broadlink RF transmitter → learned collar beep request
Frigate publishes detection state through MQTT. The Frigate integration exposes that state in Home Assistant, and Bark Alerts watches the configured entity state changes. Bark Alerts does not subscribe directly to MQTT.
This is an event-driven workflow. Sending a command does not confirm that the collar received it or establish the animal's response.
The Bark Alerts guide covers arming, dry run, cooldown and the limits of a sound label.
Manual testing and command verification
The explicit Test beep action requests RF transmission even when Armed is off or Dry run is on. It still respects cooldown, and a request can fail. The action is not proof that the collar received the command.
The intended output is a beep only. Software cannot inspect a learned RF command and establish whether the receiver will beep, vibrate or deliver a shock. The command must be tested with the collar off the animal, and its actual response verified before automatic operation. That verification needs repeating if the command, receiver, channel or configuration changes.
Optional bark audio history
Bark Alerts also supports optional local audio history for reviewing detected bark episodes. This is a configurable feature, not a requirement for sending collar commands.
When enabled, it requests approximately five seconds before and five seconds after a bark from the triggering camera's existing Frigate recordings. Those recordings must contain audio. Recording-segment alignment can affect the captured boundaries.
The integration retrieves the clip through Frigate's documented HTTP API, independently of the Frigate Home Assistant integration's internal client. It then uses FFmpeg on the Home Assistant host to convert the downloaded media into a mono 16 kHz WAV file.
History retains the latest 25 bark episodes for a monitor. Failed captures count toward the episode limit, so 25 retained episodes do not necessarily mean 25 playable recordings.
Capture failures do not interrupt, retry or queue collar commands. The Bark Alerts guide and the project's audio-history documentation cover storage, privacy and capture status.
Why this arrangement fits my build
Frigate gives my different camera sources a common place for processing and recording. Home Assistant connects their detection state and supported controls to the wider home.
Running Frigate on a separate PC lets me manage its workload independently of the Raspberry Pi. The API connection supports server functions, MQTT carries detection updates, and streaming connections deliver camera video. Bark Alerts builds on the resulting Home Assistant entities, with optional audio history providing a way to review detections afterward.
What it can do
Camera entities
Expose live views and object snapshots from Frigate.
Monitoring
Create sensors for processing statistics and detected objects.
Event-driven automation
Use object-motion entities, audio detections and Frigate events as inputs to other workflows.
Media and controls
Browse available media and control supported detection or recording settings.
Install and connect
Before you start
- A running Frigate server, with its cameras already configured.
- HACS and Home Assistant MQTT; Frigate must use the same broker for MQTT-dependent entities.
Prepare the server and broker
Confirm that Frigate is running and its MQTT connection works with the broker used by Home Assistant.
Install the integration
Find Frigate in HACS, download it and restart Home Assistant.
Add Frigate
Go to Settings > Devices & services > Add integration > Frigate and provide its reachable instance URL.
Check media and entities
Enable media_source for the media browser. Add a companion dashboard card separately if wanted.
Limits and caveats
- Installing the Home Assistant integration does not install or configure the Frigate NVR.
- Many entities depend on MQTT; API access alone does not establish that they will work.
- Camera features and media depend on the server configuration. Detection is not an accuracy guarantee.
Sources and next steps
- Frigate integration documentationOfficial installation, API, MQTT and streaming connection requirements.
- Frigate integration sourceThe Home Assistant component and its installation README.
- Integration releasesUpdates and release notes for the Home Assistant component.
- Integration issuesReport component issues with identifying details removed.
- Frigate NVRThe separate server project and its documentation.
- My BlinkBridge projectMy experimental, unofficial Blink-to-RTSP fork for Frigate, with clip streaming and optional Live View.
- My Bark Alerts projectMy Frigate-to-Broadlink collar beep integration, with setup requirements, controls and command-verification guidance.
- Ring MQTT upstreamThe upstream project behind my Ring MQTT fork, including its RTSP gateway documentation.