Frigate & NVR

Know when someone is on camera.

Frigate detects a person on the driveway and the alert lands on your phone in under a second. A Home Assistant automation or a Node-RED flow listens to Frigate’s MQTT events and makes one HTTP POST to PocketAlert — filtered by label and score, and a night-time detection sent as critical can break through Do Not Disturb.

Push in <1sListens to frigate/eventsHome Assistant · Node-RED
Features

Push alerts from Frigate without extra add-ons

You already run the NVR. Add one automation and a person on camera reaches your phone — filtered, prioritized, and kept in history.

Person, not leaves

Match label "person" with a score threshold in the automation. A swaying branch never wakes you.

A channel per camera

One application per camera keeps the driveway, the porch, and the garage in separate channels.

Critical when it matters

A night-time person detection sent as critical can bypass Do Not Disturb. Routine events stay silent.

Footage stays home

Frigate stays fully local. Only the alert text you send leaves your network — never the footage.

Works with your bridge

A Home Assistant automation or a Node-RED flow forwards the MQTT event with one HTTP POST.

History of detections

Every forwarded detection lands in searchable history with stats — scroll what happened while you were out.

Get started

Three steps to camera alerts

1

Get a token or URL

Create an API key, or copy an application webhook URL for each camera.

2

Wire the bridge

Add a Home Assistant automation or Node-RED flow on the frigate/events MQTT topic.

3

Get the push

Walk past a camera and your phone buzzes in under a second, in that camera’s channel.

Connect Frigate

1. Create an API key

Create a key on the API Keys page. Your bridge sends it in the Token header on every POST to the messages API.

2. Add a rest_command in Home Assistant

rest_command:
  pocketalert:
    url: "https://api.pocketalert.app/v1/messages"
    method: POST
    headers:
      Token: "YOUR_API_KEY"
    content_type: "application/json"
    payload: '{"title":"{{ title }}","message":"{{ message }}","level":"{{ level | default(''high'') }}"}'

3. Fire on a Frigate event

automation:
  - alias: "Person on driveway"
    trigger:
      - platform: mqtt
        topic: frigate/events
    condition:
      - "{{ trigger.payload_json['type'] == 'new' }}"
      - "{{ trigger.payload_json['after']['label'] == 'person' }}"
      - "{{ trigger.payload_json['after']['top_score'] > 0.7 }}"
    action:
      - service: rest_command.pocketalert
        data:
          title: "Person on {{ trigger.payload_json['after']['camera'] }}"
          message: "Frigate detected a person ({{ (trigger.payload_json['after']['top_score'] * 100) | round }}% confidence)"
          level: critical

4. Or bridge with Node-RED

No Home Assistant? Drop an mqtt in node on frigate/events, a switch node on msg.payload.after.label, and an http request node that POSTs the title and message to https://api.pocketalert.app/v1/messages with your Token header. Read the docs for the full message API.

FAQ

Questions, answered

Frigate publishes every detection as an MQTT event. A Home Assistant automation (or a Node-RED flow) listens to the frigate/events topic and makes one HTTP POST to the PocketAlert messages API with a title and a message. The push lands on your phone in under a second.

No. Anything that can subscribe to MQTT and make an HTTP POST works — Node-RED, a small Python script, or Home Assistant if you already run it. Frigate itself does not send notifications; it publishes events, and the bridge you choose forwards them.

Send it with "level":"critical". Android delivers it on a dedicated channel that bypasses Do Not Disturb — you grant DND access once. On iPhone, high and critical arrive as time-sensitive notifications that break through Focus modes. On the free plan critical is delivered as high — still instant, without the DND override.

Filter in the automation, not on your phone. Match only events with type "new" and label "person" (or "car"), and add a score threshold so a swaying branch never fires. Give each camera its own application, and send routine detections as level silent — they land in history without a sound.

Yes. Frigate keeps recording and detecting entirely on your own hardware. The only thing that leaves your network is the alert text you choose to send — a title like "Person on driveway" and a short message.

Every detection you forward sits in a searchable history in the app and the web dashboard, with per-application stats. Useful when you come home and want to scroll what the cameras saw while you were out — not just the last push.

Hear it before you open the app.

One automation on the frigate/events topic and the next person on your driveway reaches your phone in a second.