Frigate is an open-source computer vision and network video recorder that was built for the Home Assistant community. Cameras feed their video to Frigate; Frigate runs object detection on each frame locally using a Coral TPU or a GPU; Home Assistant receives events when objects are detected, along with snapshots and clips. For agricultural operations, this turns cameras from passive recording devices into active systems that produce structured data — a person entering the propagation area at 3 AM, an animal at the greenhouse door, a vehicle on the service road, a detection of a specific pest on a trap camera. Detection runs entirely on the grower's hardware; no video leaves the operation. The capability pays off in multiple directions: integrated pest management gets continuous monitoring rather than periodic inspection, operations monitoring catches unusual activity, and the video record becomes useful for compliance, insurance, and after-the-fact investigation. This page covers Frigate's architecture, the camera and hardware choices that determine whether Frigate works well or poorly, configuration patterns, the agricultural applications worth building, and the failure modes that affect production Frigate deployments. Frigate is not a beginner's first Home Assistant addition, but for operations with real monitoring needs, it is genuinely transformative.
Before adding Frigate.
Prerequisites and realistic expectations.
Capable hardware. Frigate is the heaviest AI workload most agricultural operations run. Object detection on multiple camera streams uses substantial CPU or dedicated accelerator hardware. A Raspberry Pi cannot run Frigate well for multiple cameras; a graybox host with a Coral TPU can. The [Choosing Your Hardware](/home-assistant/hardware/choosing) page's primary recommendation — a repurposed business-class desktop or mini PC — supports Frigate well when a Coral TPU is added. A GPU is another option, generally more expensive but also usable for other workloads.
Cameras with compatible streams. Frigate works with cameras that expose RTSP (real-time streaming protocol) video feeds, which is most IP cameras but not all consumer cameras. Before buying cameras for Frigate, verify the cameras expose RTSP. Many cameras also expose a lower-resolution "substream" alongside the main stream; using the substream for detection reduces CPU load.
A clear purpose. Frigate is powerful but requires meaningful setup. Without a clear purpose — pest detection, operations monitoring, security, specific compliance records — the setup effort may not pay off. Clarity about what the cameras should detect shapes the camera selection, placement, and configuration.
Storage for recordings. Frigate can record video continuously, on events, or both. Storage fills up. A typical multi-camera Frigate operation uses tens to hundreds of gigabytes per month depending on configuration. The graybox host's storage planning should include Frigate; external storage is common for operations with many cameras.
Network capacity. Camera streams consume network bandwidth, especially at high resolution and high frame rate. Multiple cameras streaming to Frigate at full resolution can saturate a WiFi link. For production deployments, wired Ethernet for cameras and for the Frigate host is the right pattern; WiFi cameras work at low scale but become limitations at higher camera counts.
The Frigate architecture.
Frigate is several components working together.
The Frigate service. The central component. Runs as a Docker container (the most common deployment), managing camera feeds, running detection, storing recordings, and providing the web interface. The Frigate service is where all the work happens.
Cameras as input. Frigate connects to cameras over RTSP. Each camera has a main stream (for recording and potentially detection) and optionally a substream (for detection at lower resolution to reduce CPU load). Frigate pulls frames from the streams at configurable rates.
Detectors. The compute resource that runs object detection. Supported detector types include Coral TPU (USB or M.2 PCIe), NVIDIA GPU, Intel GPU, CPU (slow, not recommended for more than one camera), and others as Frigate adds support. The detector runs detection models against camera frames and returns bounding boxes and classifications.
Models. The object-detection models themselves. Frigate ships with standard models (typically based on EfficientDet, YOLO variants, or similar) trained on the COCO dataset, which detects 80 common objects (person, car, dog, cat, bird, various others). Frigate Plus (the paid tier) provides improved models trained on community-submitted data; custom models can be loaded for specific detection tasks.
Events. When detection fires, Frigate generates events — data structures describing what was detected, where, for how long, and with what confidence. Events are the output that Home Assistant consumes.
The Home Assistant integration. The Frigate integration in Home Assistant subscribes to events from Frigate over MQTT (and an HTTP API). Each camera becomes a set of entities in Home Assistant — camera entities for viewing, binary_sensor entities for detection states, sensor entities for object counts, and others. Automations can trigger on these entities.
Recordings and snapshots. Frigate stores video clips (MP4 files) and still snapshots (JPEGs) of events. These are accessible through the Frigate web interface and, via the integration, through Home Assistant dashboards.
The web interface. Frigate's own web interface shows live camera feeds, recent events, a timeline of recordings, and configuration. For day-to-day use in Home Assistant, the Home Assistant integration surfaces most of what the grower needs; Frigate's web interface is mostly for configuration and deeper event review.
Detection hardware.
The compute that runs the object-detection models. The choice shapes how many cameras Frigate can handle and how responsive detection is.
Coral USB TPU. A a modest amount USB device that runs object detection at high speed with very low power draw. Connects to the host via USB. Handles detection for multiple cameras — a single Coral TPU can typically serve 4-8 cameras at reasonable frame rates. The common starting point for graybox Frigate deployments.
Coral M.2 TPU. A PCIe-format version of the Coral. Requires an M.2 slot in the host. Slightly more powerful than the USB version; more reliable (no USB cable issues). Similar price. For hosts with available M.2 slots, this is often preferable to USB.
Coral Dual TPU. A single M.2 module with two Coral chips. Higher capacity; can serve more cameras. For operations with many cameras, a Dual Coral outperforms a single Coral.
NVIDIA GPU. Any recent NVIDIA GPU (GTX 1060 and up, roughly) can run Frigate detection. Handles more cameras and higher frame rates than a single Coral. Comes with costs — higher power draw, hardware cost (used GTX 1060s are inexpensive; newer GPUs are more expensive), and NVIDIA's driver stack must be set up correctly. For operations that also want a GPU for other AI work (local LLMs, for instance), the same GPU serves both purposes.
Intel GPU. Recent Intel CPUs with integrated graphics (or discrete Arc GPUs) can run Frigate detection. Lower capacity than NVIDIA GPUs at the high end; usable for small to moderate deployments without dedicated accelerator hardware.
CPU-only. Frigate can run detection on CPU but slowly. A single camera at reduced frame rates might work; multi-camera CPU-only Frigate is not practical. Treat CPU detection as a fallback or a "does Frigate work at all" test; add real accelerator hardware for production use.
The recommendation for most operations. A graybox host with a Coral USB or M.2 TPU handles most small-to-medium deployments (up to ~8 cameras) well, at low cost and power draw. For operations with more cameras or for operations that also want GPU acceleration for local LLMs or other work, a modest NVIDIA GPU serves both. Start with a Coral; upgrade to GPU when detection capacity or multi-purpose use justifies it.
Camera selection.
The camera's quality bounds what Frigate can detect. Getting the cameras right matters more than tuning the software around poor cameras.
RTSP support. The fundamental requirement. Cameras without RTSP do not work with Frigate. Most IP cameras from reputable manufacturers support RTSP; many consumer-grade cameras (especially WiFi-only "smart" cameras designed for a specific cloud app) do not. When buying cameras for Frigate, verify RTSP support explicitly.
Resolution. Higher resolution cameras see more detail. For pest detection — where small targets matter — higher resolution helps. For operations monitoring at moderate distance, 2-4 megapixel cameras are usually sufficient. Higher resolution increases storage and CPU load proportionally; balance with the detection need.
Substreams. Many cameras expose a main stream (high resolution) and a substream (lower resolution). Frigate uses the substream for detection (lower CPU load) while recording the main stream. Cameras that support substreams are easier to run efficiently.
Frame rate. For most agricultural applications, 5-10 frames per second is plenty. Higher frame rates consume more resources without meaningfully improving detection. Most IP cameras are configurable; setting them to 5-10 FPS reduces load.
Field of view and lens. A wide-angle lens covers more area but with less detail per square foot. A narrower lens covers less area but resolves smaller objects. For pest detection, a closer camera with a narrower lens aimed at a specific area (a trap, a canopy section, an entry point) produces better detection than a wide-angle camera at distance.
Low-light performance. Greenhouses transition through photoperiods; agricultural operations may need 24-hour monitoring. Cameras with good low-light sensors (often described as "starlight" or with larger sensors) perform better in low light. IR illuminators (built in or separate) let cameras see in the dark; IR works well for monitoring but does not capture the visible-light details a color image would.
Weather and environment ratings. Outdoor cameras need weather resistance (IP65 or higher). Cameras in dusty environments (greenhouses during spraying, packing sheds) need dust resistance. Cameras in wet environments need water resistance. The rating matters; the camera that fits a dry office does not fit a wet greenhouse.
PoE versus WiFi. Power-over-Ethernet cameras get their power and network connection through a single Ethernet cable. Much more reliable than WiFi; typical for production deployments. WiFi cameras are easier to install in retrofits but can be unreliable and consume wireless bandwidth. For serious agricultural deployments, PoE is the right choice.
Camera brands. Many work well with Frigate. Common recommendations in the Frigate community include Reolink, Amcrest, Dahua, Hikvision, and others. Specific models vary in capability; consult Frigate's documentation and community for current compatibility.
Configuration patterns.
Frigate's configuration is YAML — global settings, per-camera settings, detector settings, and more.
Zones. Zones define regions within a camera's view where detection triggers events. A camera aimed at a greenhouse entry might have a "doorway" zone — detection in that zone produces events, detection outside it does not. Zones prevent alerts for objects that technically appear in the camera's view but are not in the areas of operational interest.
Object filters. Each camera can be configured to detect specific objects. A pest-monitoring camera is configured to detect insects (custom model) rather than people or cars. An entry monitoring camera is configured to detect person and vehicle rather than birds or cats. Filtering reduces false events.
Confidence thresholds. Detection produces confidence scores. A threshold filters out low-confidence detections that are more likely to be noise. Thresholds are per-object-type — "person" with 0.7 confidence, "car" with 0.8, "bird" with 0.9 (bird detection is often noisy). Tuning thresholds is an iterative process; start conservative and adjust based on the event rate.
Event vs. recording configuration. Frigate can record continuously (every frame, all the time), on event (only when detection fires), or both. Continuous recording uses more storage but captures everything; event recording saves storage but only keeps what triggered detection. Most operations do a mix — continuous low-resolution recording for a short period, event-based high-resolution clips for longer retention.
Retention policies. How long to keep events, how long to keep recordings, different retention for different cameras. Storage is finite; retention policy determines how far back investigation can reach. Balance the investigation need against storage cost.
Motion masks. Exclude parts of the frame from motion detection. A camera aimed at a greenhouse with moving plants (fans causing leaf motion) may detect "motion" continuously. Masking out plant-canopy regions reduces false motion triggers that drive unnecessary detection attempts.
Time-of-day conditions. Some detections matter only at certain times. A "person detected at entrance" alert that fires every time a worker arrives at 6 AM is noise; the same alert at 2 AM is important. Home Assistant's automation time conditions handle this — the detection event always fires; the automation triggered by the event checks the time before alerting.
Agricultural applications.
The use cases where Frigate genuinely pays off.
Integrated pest management. Cameras aimed at crop canopies, sticky traps, or known pest-entry points, trained to detect specific pests. Continuous monitoring catches early infestations that periodic walk-through inspections miss. Custom models (trained on the operation's specific pests) produce better detection than the default COCO model. Frigate Plus's community-trained models include some agricultural pest categories.
Operations monitoring. Cameras at entry points, service areas, and critical equipment. Detections of person/vehicle generate events that Home Assistant can respond to — logging when staff arrived, noting unusual activity, cross-referencing with access control. Not security cameras in the traditional sense — operational cameras that happen to see what happens.
Livestock monitoring (for operations that include it). Cameras at water troughs, feeding areas, or birthing pens. Detection of animals, movement patterns, and behaviors (if trained models are available). Extends the [Livestock Monitoring](/home-assistant/advanced/livestock) approach with video-based observation.
Climate-induced plant stress detection. With appropriate cameras and potentially custom models, visual indicators of plant stress (wilting, discoloration) can be detected continuously. More experimental — the model quality and camera positioning matter a lot. Worth exploring for high-value crops where small detection advantages pay off.
Worker safety monitoring. Cameras in areas where machinery operates can detect person-in-danger-zone situations. Combined with mechanical interlocks, this is a layer of safety; as the primary safety layer, it is insufficient (vision systems fail; mechanical interlocks should not rely on vision).
Compliance documentation. For operations under compliance regimes that require video records, Frigate's continuous recording and event-based clips produce the records. Access logs, batch tracking, and similar requirements can be satisfied by configured Frigate deployments. Specific compliance requirements should be reviewed against the retention and integrity requirements.
Insurance documentation. In the event of equipment theft, fire, or other incidents, video records support insurance claims. Frigate's continuous recording provides the record; the grower needs to ensure recordings are preserved (not just retained on-site).
Frigate Plus and custom models.
The default Frigate model is adequate for common objects. For agricultural operations needing specific detections, other options exist.
Frigate Plus. A paid service that provides improved detection models trained on community-submitted data. The improvement is substantial for common objects and has expanded into some agricultural categories. For operations relying on Frigate for serious monitoring, Frigate Plus subscription is often worthwhile — the improved detection produces fewer false positives and better real-object recognition.
Custom-trained models. For very specific detection needs — a particular pest species, a specific tool, a specific equipment state — custom model training is possible. This requires labeled training data, training compute (a GPU is nearly essential for training), and expertise in the tooling (typically TensorFlow or PyTorch). Significant project, but produces detection tuned to the operation.
Starting with the defaults. For most operations, the default model plus Frigate Plus covers the major use cases. Custom models are a deeper investment that pays off when the operation's specific needs go beyond what community-trained models offer.
Home Assistant integration usage.
How Frigate events become Home Assistant automation triggers.
The Frigate integration. Configured in Home Assistant with the Frigate server's URL and MQTT connection. Automatically discovers cameras, zones, and detected-object types; creates corresponding entities.
Camera entities. Each Frigate camera becomes a camera entity in Home Assistant. Dashboards can display live feeds. Notifications can include snapshots. The camera entity is the bridge between Frigate's video and Home Assistant's UI.
Binarysensor entities for detection. "Person detected in doorway" becomes a binarysensor entity that turns on when Frigate reports that detection, off when the detection clears. Automations trigger on the binary_sensor transitioning to on.
Sensor entities for counts. "Number of persons in zone X" becomes a sensor entity. Counts enable automations like "alert if more than 2 people in the restricted area" without complex Frigate-side logic.
Event-based automations. The most flexible pattern. Frigate publishes MQTT events for detections; Home Assistant automations trigger on the MQTT messages. This gives access to detection details (confidence, bounding box, specific zone) that simpler binary_sensor triggers do not expose.
Agricultural automation examples.
- "When person detected at propagation-entry camera outside normal hours, notify." - "When vehicle detected at loading-area camera, log with timestamp for coordination with delivery schedule." - "When custom-model detects pest on trap camera, add to the weekly IPM report and send snapshot to the IPM manager." - "When person detected in fertigation-injection area, pause the injection schedule until clearance signal."
Storage and retention.
Frigate produces video. Videos take space.
Storage planning. Continuous recording of multiple cameras at reasonable resolution uses substantial storage. A rough estimate: a single camera at 1080p, 5 FPS, recording continuously, uses roughly 5-10 GB per day. Four cameras continuously recording use 20-40 GB per day — 600 GB-1.2 TB per month. Event-only recording is much less.
Local storage. Most graybox hosts have room for some continuous Frigate recording. An SSD with 500 GB to 1 TB of free space handles a modest Frigate deployment. Operations with many cameras or long continuous retention benefit from dedicated storage — a large HDD for recordings, keeping the SSD for the host's OS and Home Assistant data.
External storage. Network-attached storage (NAS) or direct-attached large drives. Frigate can write to mounted volumes. For long-retention compliance use or multi-camera production deployments, external storage is typical.
Off-site backup. For critical recordings (security incidents, insurance documentation), local storage alone is not enough. A fire or theft that takes the host also takes the recordings. Periodic off-site replication of important recordings — to cloud storage or to off-site hardware — provides disaster recovery.
Retention policies. Delete old data. Most operations need recent recordings for day-to-day use and longer retention only for specific events. Frigate's retention configuration handles the automatic deletion. Policies should match the operational need, not default to "keep everything forever" which fills storage.
Common failure modes.
Specific Frigate-deployment problems from real operations.
The camera feed that kept dropping. RTSP connections from the cameras kept dropping; Frigate logged errors; detection missed periods. Cause: WiFi camera on marginal signal, or a flaky camera firmware. Fix: wired Ethernet (PoE) cameras; firmware updates; camera replacement if a specific unit is unreliable.
The false-positive detection storm. Default person detection fired constantly on plant stakes, mannequins, or shadows that were vaguely person-shaped. The alert channel was swamped. Fix: confidence threshold tuning, zone masking to exclude false-positive-prone areas, Frigate Plus for better-trained models, or custom model for the specific use case.
The Coral TPU that fell off USB. The USB Coral TPU occasionally lost its connection; Frigate fell back to CPU detection; performance degraded severely. Fix: use a better USB cable, use a USB port on the host directly (not through a hub), or switch to the M.2 Coral format that does not have USB-cable issues.
The storage that filled and stopped Frigate. Continuous recording filled the disk; Frigate stopped writing new data; events still fired but without recordings. Fix: retention policies that actually delete old data; monitoring disk space; separate storage for recordings from the host's OS drive.
The camera that was positioned wrong. A pest-detection camera was too far from the canopy to resolve the specific pests; detections never fired. The issue was placement, not Frigate. Fix: move the camera closer; use a narrower lens; change the detection target to what the camera can actually resolve at its current position.
The detection that was not in the Home Assistant integration. Frigate detected the object; the event did not surface in Home Assistant. Cause: MQTT broker connection issue or Frigate integration misconfiguration. Fix: verify MQTT connectivity between Frigate and Home Assistant; check integration logs; test event flow with Frigate's web UI first, then through Home Assistant.
The network saturation from multiple streams. Several cameras streaming to Frigate at full resolution saturated the WiFi; other devices on the network experienced issues. Fix: wired Ethernet for cameras and the Frigate host; reduce stream resolution or frame rate if wired is not practical; separate camera network from other infrastructure.
The recording that was corrupted. A recording was unplayable when reviewed later. Cause: disk issue or a Frigate write failure. Fix: monitor disk health; periodic review of recordings' playability; for critical recordings, redundant storage or off-site replication.
The pest model that did not exist. A grower expected Frigate to detect their specific pest; the default COCO model does not include it. The pest was never detected. Fix: Frigate Plus may include the pest category; custom model training is the fallback; adjust expectations if neither is feasible.
The privacy issue with camera coverage. A camera positioned to cover the work area also captured the break area. Workers felt monitored. Fix: zones that exclude privacy-sensitive areas from detection; clear disclosure about what cameras cover; position cameras to cover only the work areas they need to cover.
The event that was never saved. A significant event happened; by the time the grower wanted to review, retention had deleted the recording. Fix: for events that matter, export the recording within the retention window; consider tagging critical events for extended retention; longer retention for specific zones or cameras.
What not to do.
Patterns to avoid.
Don't rely on computer vision alone for safety. Vision systems fail. A worker-safety application that relies only on Frigate detecting someone in a danger zone is insufficient; mechanical interlocks, hardware safety, and traditional controls remain primary.
Don't skimp on hardware and expect quality detection. CPU-only detection is slow and unreliable for multi-camera production use. Investing in a Coral TPU (or GPU) at the outset saves frustration.
Don't position cameras poorly. A camera too far from what it should detect, in bad lighting, at a bad angle, or behind obscuring surfaces produces poor detection no matter how good the software is. Camera placement is fundamental.
Don't skip retention policies. Unbounded recording fills storage and stops working eventually. Set retention from the start. Adjust based on experience.
Don't expose camera feeds carelessly. Camera feeds that are visible to anyone with Home Assistant access or, worse, to anyone on the internet are privacy risks. Use role-based access; use secure remote access (VPN, not port forwarding); review what is actually reachable from outside the local network.
Don't rely on default models for specific agricultural needs. The default COCO model is general-purpose. For specific detections (pests, specific plant conditions), either Frigate Plus's expanded models or custom models fit better. Do not expect the default to recognize what it was not trained on.
Don't forget network capacity planning. Cameras consume bandwidth. A deployment that works with one camera may struggle with four on the same network. Plan the network.
Don't skip disclosure to workers. Cameras in working areas affect the people working there. Legal requirements vary; ethical practice is to disclose. A sign at the entrance, a conversation during onboarding, or both — the specific mechanism matters less than the fact that disclosure happens.
Don't treat recordings as eternal. Disk failures, accidental deletions, hardware theft — recordings disappear. For records that matter for compliance, insurance, or investigation, off-site copies are essential.