Notifications and MQTT
Fregata uses upstream Frigate’s notification model unchanged. The short version: Fregata Mobile or Frigate’s own web push for alerts on your phone, MQTT for live state, and the HTTP API for snapshots and clips. This page covers the macOS-specific bits and points at the Frigate docs for the rest.
Push notifications to your phone
Section titled “Push notifications to your phone”There are a few ways to get an alert on your phone. Start with Fregata Mobile.
Fregata Mobile (recommended)
Section titled “Fregata Mobile (recommended)”Fregata Mobile is a free, native app for iPhone, iPad and Apple Watch, made for Fregata and for Frigate. It is in public beta. Alerts arrive with the picture, then a short clip, straight from your own NVR. You don’t need Home Assistant or MQTT, and there is no account to create. Alerts are encrypted so Apple’s servers can never read them. Live view, recordings and snapshots come straight from your NVR, and your video never passes through our relay.
Under the hood it uses Frigate’s own web push, delivered through a relay we run. Notification filters let you choose which cameras, objects and zones may alert you, and the app also has Live Activities and widgets.
What you need:
- An iPhone or iPad on iOS or iPadOS 26 or later. The Apple Watch app needs watchOS 26.
- Port
8971, the one that asks for a sign-in. Over port5000, live view works, but while sign-in is on (Fregata’s default) alerts registered there are silently dropped. - A way for the phone to reach your Mac when you’re out. See Fregata Mobile: away from home.
With an administrator account the app can set up the server side for you: tap Set up automatically, and it turns on notifications for your cameras, registers the phone and restarts Frigate once, after asking you. The steps, and the same changes by hand, are in Fregata Mobile’s Set up alerts page.
Frigate’s built-in web push
Section titled “Frigate’s built-in web push”Frigate can also send web push notifications straight to a browser, or to a web app on a phone’s Home Screen, with no extra software. They are sent for review alerts only, not for detections. Frigate’s requirements, as they apply to Fregata:
- You open the web UI over
httpswhile signed in. Fregata serves HTTPS on port8971by default, so usehttps://<mac-ip>:8971, not port5000. - The browser has to trust the certificate. Fregata’s default certificate is self-signed, and a browser won’t register for notifications on a certificate the device doesn’t trust. Either install the certificate as trusted on that device, or put Fregata behind a reverse proxy with a real certificate.
- Your Mac can reach the internet, because Frigate hands each message to the browser vendor’s push service (Google’s or Mozilla’s, for example).
- Away from home, the Mac has to be reachable from outside. See Network & remote access.
- On an iPhone or iPad, the web UI has to be added to the Home Screen (Share → Add to Home Screen) and opened from that icon.
Chrome shows the picture in the notification. Safari and Firefox show only a title and a message.
- In the web UI, go to Settings → Notifications → Notifications.
- Enter your address under Email. Frigate requires one, and passes it to the push service as the contact address.
- Under Cameras, turn on the cameras you want alerts from, then click Save.
- On each device that should get notifications, open the web UI over
httpson port8971, sign in, open Settings → Notifications → Notifications and click Register This Device. - Choose Restart Frigate from the tray. Frigate reads its list of registered devices only when it starts, so nothing is sent until it restarts.
- Click Send a test notification (an administrator sees it once the device is registered) to check that it arrives.
notifications: enabled: true cooldown: 10 # seconds to wait before another notification from any cameraRegistering a device is done in the web UI on that device, even if you enable notifications here. Choose Restart Frigate from the tray after saving the file and after registering.
Frigate’s notifications documentation covers per-camera cooldowns and a troubleshooting FAQ for notifications that stop arriving.
Home Assistant
Section titled “Home Assistant”If you already run Home Assistant, its mobile app supports rich push with
images via notify.mobile_app_*. The
Home Assistant guide shows the automation
template. Home Assistant isn’t required for phone alerts, and it keeps
working alongside Fregata Mobile.
MQTT and your own automations
Section titled “MQTT and your own automations”Anything that can read Frigate’s MQTT topics can turn events into its own notifications. Fregata publishes the same topics as Frigate. See MQTT setup below.
The data plane
Section titled “The data plane”When something happens on a camera, Fregata emits:
- An MQTT message on a per-camera, per-class topic.
- A new row in the SQLite events table.
- (If
snapshots.enabled: true) a clean snapshot to~/Fregata/media/clips/<camera>-<event-id>-clean.webp. The annotated version (timestamp, bounding box, object crop) isn’t stored separately — it’s rendered on request via the HTTP API’s/api/events/<event-id>/snapshot.jpg. - (If
record.enabled: true) the footage around the event stays in the normal recording segments under~/Fregata/media/recordings/. There is no separate clip file:/api/events/<event-id>/clip.mp4cuts the clip from those segments when you request it.
Frigate’s HTTP API exposes all of those to the rest of your stack —
locally at http://127.0.0.1:5000/api/... (plain HTTP, unauthenticated,
loopback-only — use 127.0.0.1, not localhost, or AirPlay Receiver can
silently intercept it; see
Network & remote access) or
at https://<host>:8971/api/... (HTTPS + login) — see
the Frigate HTTP API reference.
MQTT setup
Section titled “MQTT setup”Connect Fregata to your MQTT broker from the web UI’s Settings, or by
adding an mqtt block to ~/Fregata/config/config.yml:
- In the web UI, go to Settings → System → MQTT.
- Turn on Enable MQTT.
- Set MQTT host to your broker’s address (for example
10.0.1.42) and MQTT port to1883. - Set MQTT username (for example
fregata) and MQTT password. To keep the password out ofconfig.yml, first add aFRIGATE_MQTT_PASSWORDvariable in the tray’s Settings → Environment Variables… and choose Restart Now (Frigate only sees new variables after a restart, and rejects a{FRIGATE_…}name it doesn’t know; see Environment variables). Then type{FRIGATE_MQTT_PASSWORD}as the password here. - Optionally set Topic prefix and Client ID. Stats interval is under Advanced Settings.
- Click Save. MQTT changes always need a restart, so click Restart when the page asks, or choose Restart Frigate from the tray.
mqtt: enabled: true host: 10.0.1.42 port: 1883 user: fregata password: "{FRIGATE_MQTT_PASSWORD}" topic_prefix: frigate client_id: fregata stats_interval: 60Restart Frigate from the tray after saving the file.
Fregata sets topic_prefix: frigate by default for compatibility
with existing dashboards and the HA integration. Override it if you
want — but if you do, remember to set the same topic_prefix in
the HA integration config.
The topics you’ll typically care about:
| Topic | Payload | When |
|---|---|---|
frigate/events |
JSON event object | New event, in-progress update, end |
frigate/<camera>/<class> |
ON / OFF |
Class enters or leaves the frame |
frigate/<camera>/<class>/snapshot |
JPEG bytes | New event snapshot |
frigate/<camera>/motion |
ON / OFF |
Motion start / stop |
frigate/stats |
JSON system stats | Every stats_interval seconds |
For the full topic catalog see the Frigate MQTT reference.
A note on macOS power management
Section titled “A note on macOS power management”Fregata holds a .idleSystemSleepDisabled activity assertion for
the whole time Frigate is running, so the system stays awake on
its own — MQTT publishes keep flowing without you needing to
touch Energy Saver. See
Mac sleep and Wake-On-Demand
for the full story (including the lid-close caveat on laptops).