mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-07-12 13:47:14 +02:00
81 lines
3.3 KiB
Markdown
81 lines
3.3 KiB
Markdown
---
|
|
id: ha_notifications
|
|
title: Home Assistant notifications
|
|
---
|
|
|
|
The best way to get started with notifications for Frigate is to use the [Blueprint](https://community.home-assistant.io/t/frigate-mobile-app-notifications/311091). You can use the yaml generated from the Blueprint as a starting point and customize from there.
|
|
|
|
It is generally recommended to trigger notifications based on the `frigate/events` mqtt topic. This provides the event_id needed to fetch [thumbnails/snapshots/clips](/integrations/home-assistant#notification-api) and other useful information to customize when and where you want to receive alerts. The data is published in the form of a change feed, which means you can reference the "previous state" of the object in the `before` section and the "current state" of the object in the `after` section. You can see an example [here](/integrations/mqtt#frigateevents).
|
|
|
|
Here is a simple example of a notification automation of events which will update the existing notification for each change. This means the image you see in the notification will update as frigate finds a "better" image.
|
|
|
|
```yaml
|
|
automation:
|
|
- alias: Notify of events
|
|
trigger:
|
|
platform: mqtt
|
|
topic: frigate/events
|
|
action:
|
|
- service: notify.mobile_app_pixel_3
|
|
data_template:
|
|
message: 'A {{trigger.payload_json["after"]["label"]}} was detected.'
|
|
data:
|
|
image: 'https://your.public.hass.address.com/api/frigate/notifications/{{trigger.payload_json["after"]["id"]}}/thumbnail.jpg?format=android'
|
|
tag: '{{trigger.payload_json["after"]["id"]}}'
|
|
when: '{{trigger.payload_json["after"]["start_time"]|int}}'
|
|
```
|
|
|
|
Note that iOS devices support live previews of cameras by adding a camera entity id to the message data.
|
|
|
|
```yaml
|
|
automation:
|
|
- alias: Security_Frigate_Notifications
|
|
description: ""
|
|
trigger:
|
|
- platform: mqtt
|
|
topic: frigate/events
|
|
payload: new
|
|
value_template: "{{ value_json.type }}"
|
|
action:
|
|
- service: notify.mobile_app_iphone
|
|
data:
|
|
message: 'A {{trigger.payload_json["after"]["label"]}} was detected.'
|
|
data:
|
|
image: >-
|
|
https://your.public.hass.address.com/api/frigate/notifications/{{trigger.payload_json["after"]["id"]}}/thumbnail.jpg
|
|
tag: '{{trigger.payload_json["after"]["id"]}}'
|
|
when: '{{trigger.payload_json["after"]["start_time"]|int}}'
|
|
entity_id: camera.{{trigger.payload_json["after"]["camera"]}}
|
|
mode: single
|
|
```
|
|
|
|
## Conditions
|
|
|
|
Conditions with the `before` and `after` values allow a high degree of customization for automations.
|
|
|
|
When a person enters a zone named yard
|
|
|
|
```yaml
|
|
condition:
|
|
- "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
- "{{ 'yard' in trigger.payload_json['after']['entered_zones'] }}"
|
|
```
|
|
|
|
When a person leaves a zone named yard
|
|
|
|
```yaml
|
|
condition:
|
|
- "{{ trigger.payload_json['after']['label'] == 'person' }}"
|
|
- "{{ 'yard' in trigger.payload_json['before']['current_zones'] }}"
|
|
- "{{ not 'yard' in trigger.payload_json['after']['current_zones'] }}"
|
|
```
|
|
|
|
Notify for dogs in the front with a high top score
|
|
|
|
```yaml
|
|
condition:
|
|
- "{{ trigger.payload_json['after']['label'] == 'dog' }}"
|
|
- "{{ trigger.payload_json['after']['camera'] == 'front' }}"
|
|
- "{{ trigger.payload_json['after']['top_score'] > 0.98 }}"
|
|
```
|