Notifications
Frigate offers native notifications using the WebPush Protocol which uses the VAPID spec to deliver notifications to web apps using encryption.
Push notifications require internet access from the Frigate server to the browser vendor's push service (e.g., Google FCM, Mozilla autopush). See Network Requirements for details.
Setting up Notificationsâ
In order to use notifications the following requirements must be met:
- Frigate must be accessed via a secure
httpsconnection (see the authorization docs). - A supported browser must be used. Currently Chrome, Firefox, and Safari are known to be supported.
- In order for notifications to be usable externally, Frigate must be accessible externally.
- For iOS devices, some users have also indicated that the Notifications switch needs to be enabled in iOS Settings --> Apps --> Safari --> Advanced --> Features.
Configurationâ
Enable notifications and fill out the required fields.
Optionally, change the default cooldown period for notifications. The cooldown can also be overridden at the camera level.
Notifications will be prevented if either:
- The global cooldown period hasn't elapsed since any camera's last notification
- The camera-specific cooldown period hasn't elapsed for the specific camera
Global notificationsâ
- Frigate UI
- YAML
- Navigate to SettingsâNotificationsâNotifications.
- Set Email to your email address
- Enable notifications for the desired cameras
notifications:
enabled: True
email: "johndoe@gmail.com"
cooldown: 10 # wait 10 seconds before sending another notification from any camera
Per-camera notificationsâ
- Frigate UI
- YAML
- Navigate to SettingsâCamera configurationâNotifications and select the desired camera.
- Set Enable notifications to on
- Set Cooldown period to the desired number of seconds to wait before sending another notification from this camera (e.g.
30)
cameras:
doorbell:
...
notifications:
enabled: True
cooldown: 30 # wait 30 seconds before sending another notification from the doorbell camera
Registrationâ
Once notifications are enabled, press the Register This Device button on all devices that you would like to receive notifications on. This will register the background worker. After this Frigate must be restarted and then notifications will begin to be sent.
Supported Notificationsâ
Currently notifications are only supported for review alerts. More notifications will be supported in the future.
Currently, only Chrome supports images in notifications. Safari and Firefox will only show a title and message in the notification.
Reduce Notification Latencyâ
Different platforms handle notifications differently, some settings changes may be required to get optimal notification delivery.
Androidâ
Most Android phones have battery optimization settings. To get reliable Notification delivery the browser (Chrome, Firefox) should have battery optimizations disabled. If Frigate is running as a PWA then the Frigate app should have battery optimizations disabled as well.
Notifications FAQâ
â
Push notifications involve Frigate, your browser, and your browser vendor's push service, so it helps to work from the server outward.
-
Enable debug logs for the push client by adding
frigate.comms.webpush: debugto yourloggerconfiguration. Restart Frigate after this change.logger:
default: info
logs:
frigate.comms.webpush: debugThese logs show exactly where a notification stopped, including:
Email must be provided for push notifications to be sentmeans the globalemailfield is empty and nothing will ever be sent.Sending test notificationandSending push notification for <camera>, review ID <id>mean Frigate handed the message off to the push service.Skipping notification for <camera> - in global cooldown period(orcamera-specific cooldown period) means your cooldown values suppressed it.Notifications for <camera> are currently suspendedmeans notifications were suspended from SettingsâNotifications or MQTT.Notification endpoint expired for <user>, received 410means that device's subscription is no longer valid and it must be re-registered.Failed to send notification to <user> :: <status>means the push service rejected the message. A401or403usually points at a VAPID oremailproblem, and a5xxis a problem on the push service's end.- If you see no messages at all when an alert occurs, the notification was never queued. Confirm an actual alert was created (notifications are not sent for detections), and that notifications are enabled both globally and for that camera.
-
Verify the basics that most reports come down to:
- Frigate must be reached over
httpswith a certificate your device trusts. Browsers silently refuse to register a service worker otherwise, and a self-signed certificate that is not installed as trusted on the device will fail. - On iOS, notifications only work when Frigate has been installed to the Home Screen via Share > Add to Home Screen and opened from that icon. Safari and Chrome tabs cannot receive web push on iOS.
- Each device must be registered individually, and Frigate must be restarted after registering before anything can be sent, including test notifications.
- The Frigate server needs outbound internet access to the browser vendor's push service. See Network Requirements.
- Frigate must be reached over
-
Test from the UI. Use the
Send a test notificationbutton in SettingsâNotifications. If the log showsSending test notificationbut nothing arrives on the device, the problem is between the push service and your device rather than in Frigate. -
Check the browser side on the device that is not receiving notifications:
- Confirm the site's notification permission is set to Allow in your browser or OS settings, and that a focus/do not disturb mode is not hiding them.
- In desktop browsers, open Developer Tools > Application > Service Workers and confirm
notifications-worker.jsis registered and activated. Unregistering it and registering the device again will rebuild a broken subscription. - Check the browser console and your reverse proxy logs for failures loading
/notifications-worker.jsor errors on/api/notifications/register.
â
Push subscriptions are issued by the browser vendor and can be revoked, most often after a browser update, after clearing site data, or when a device has been offline for an extended period. When this happens the device still appears registered in Frigate, but the push service rejects the message. The debug logs will show Notification endpoint expired with a 404 or 410 status.
Unregister and re-register the affected device from SettingsâNotifications, then restart Frigate.
â
Work through these in order:
- Notifications are only sent for alerts. If the camera is producing detections instead, adjust the camera's
review > alerts > labelsso the objects you care about are classified as alerts. - Confirm notifications are enabled for that camera in SettingsâCamera configurationâNotifications.
- Check the camera's
cooldownvalue, and remember that the global cooldown applies across all cameras. A busy camera can consume the global cooldown and suppress a quieter one. - If authentication is enabled with roles, users only receive notifications for the cameras their role grants access to.