Frigate Mobile App Notifications

Yes it works, and it also works with 3.0.0-rc.2 integration for me.

However, the same issues persist with about a million notifications coming in a day on average of about 3 per a person in zones I haven’t even asked it to notify me about and with all of the other settings being totally ignored :persevere: :persevere: :persevere:

1 Like

So I removed the integration and loaded v2.3 instead and notifications are now working so at least for me it was the v3.0.0 that was causing the issue.

I wonder if I update frigate to v0.11 then it would work again.

I’m getting this too, continuous notifications for the same event it would seem, check your binary sensor for the camera motion, mine detects fine but doesn’t seem to clear, maybe this is the issue?

I’m running home assistant core in a docker, mosquito mqtt in a docker, and frigate in a docker. All are connected and working except for notification on iOS with this blueprint. HA is accessed through reverse proxy. HA version is 2022 6.6. Frigate version is 0.10.1, and frigate integration v2.3.

I have no idea what is preventing me from getting notifications. I’ve checked and unchecked the box for “Enable the unauthenticated notification event proxy” without success. The automatons are being triggered. Te last triggered event time correlates to the last recorded clip. So something is broken in the notification part.

Any ideas on what may be the problem?

Thanks but that all looks fine there. Frigate is also detecting the zones perfectly itself.

I think the issue is with the zone filter, but after staring at the code for many more hours I still am no better off. Its got a lot going on :smiley:

If I find a fix I’ll be sure to share.

I cannot seem to get the notifications to work for groups. I have tested for a single device and it works fine. Below is the blueprint config, the notify section in my configuration.yaml file, and the trace
Blueprint config:

id: '1656106408096'
alias: Camera 1 Person Detected Notification
description: ''
use_blueprint:
  path: hunterjm/frigate_notification.yaml
  input:
    camera: camera1
    notify_group: all_phones
    labels:
      - person

Notification section from YAML (sanitised names with xxx and yyy)

notify:
  - name: all_phones
    platform: group
    services:
      - service: mobile_app_xxx_phone
      - service: mobile_app_yyy_phone

EDIT: I found the issue. It’s a bug with HomeAssistant when you rename a device. Please see this post: Updating the name of a phone does not update xxx in notify.mobile_app_xxx

Is anyone having issue gettings notifications to send?
Mine is working but intermittently, I have events in my frigate dashboard that were not sent along to my phone. I have the cooldown set to 0 and I am not getting the alerts any ideas?

notifications stopped working for me recently. i couldn’t figure out the cause

Hi,

Ive added this blueprint by clicking the link that was at the start of this thread.

My Frigate is 0.10.1.
Frigate Integration is 2.3
HASS is 2022.6.4

I’ve created the automation from the blueprint, done nothing other than copy the camera name from Frigate.yaml (including case) to set the camera name and then pick my iPhone as the notification device.

I’ve also checked the Frigate integration has the ticked box on “Enable Unauthenticated Proxy”.

I have tried to trigger a notification, but nothing appears to be happening.

I’ve checked the traces and can see there is activity, a whole flow diagram of stuff is showing, but the Trace Timeline tab shows the following on every item in the flow diagram:

Stopped because of unknown reason “null” at 2 July 2022, 23:42:32 (runtime: 0.00 seconds)

It seems I’ve fallen at the first hurdle, but I don’t see anything meaningful to help see what I’ve done wrong. Can anyone help?

Thanks

2 Likes

Should I enter the baseurl here or not? I use an IOS device? What is your recommendation?
The file always opens in the browser and not in the app. Which is better?

(Optional) Base URL

The external url for your Home Assistant instance. This will default to a relative URL and will open the clips in the app instead of the browser, which does not work well on iOS.

Well I figured something out.

Basically I updated the blueprint from the older version to the one where it says 0.10, and my notifications stopped working.

Thankfully I copied the old /config/automations.yaml YAML and compared the old code with the new.

It was due to this for me:

      labels: person

should be:

      labels:
      - person
1 Like

Interesting I will have to check mine since it has basically stopped functioning at all.

For those running Frigate on an external server like me, you need to modify this Blueprint:

Old:
clickAction: ‘{{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4’

New:
clickAction: ’ {{base_url}}/api/events/{{id}}/clip.mp4’

There’s multiple entries in the Blueprint that are similar to this. Note the removal of the “camera” tag.

2 Likes

Looking at the trace timeline, the first block is skipped due to the payload['after']['entered_zone'] (aka initial_entered_zones) not having any items in common with the zones list:

alias: Notify on new object
choose:
  - conditions:
      - '{{ not zone_only or initial_entered_zones|length > 0 }}'
      - >-
        {{ not zones|length or zones|select('in',
        initial_entered_zones)|list|length > 0 }}
      - '{{ not initial_home }}'

But then the following logic that runs in a 2 minute timeout repeat loop will notify without checking against zones.

The variables at the point in the trace are:

loitering: 0
new_snapshot: true
home: false
presence_changed: false
last_zones:
  - street
entered_zones:
  - street
zone_filter: true
stationary_moved: false
zone_only_changed: false
entered_zones_changed: false

which makes the condition true due to new_snapshot and results in notification.

alias: Notify on loitering or significant change
choose:
  - conditions: >-
      {{ loitering or (not home and zone_filter and (new_snapshot or
      presence_changed or stationary_moved or zone_only_changed or
      entered_zones_changed)) }}
    sequence:
      - choose:
          - conditions: '{{ not group_target }}'
            sequence:
              - device_id: 7d13f6066dbff052277a1f0b377cc186
                domain: mobile_app
                type: notify
                message: >-
                  A {{ label }} {{ 'is loitering' if loitering else 'was
                  detected' }} on the {{ camera_name }} camera.

This is the trace timeline graphic showing the first notification was skipped, but then the notification in the repeat loop happened.

Has anyone managed to get this working correctly with Frigate 0.11.0? I’m currently on 0.11.0-rc1, but I’ve also tried 0.11.0-beta7; no dice either way.

I have a feeling I’m doing something wrong, but wanted to see if it’s possible to get this configured with the latest version of Frigate.

I’m running Frigate, Home Assistant, and Mosquitto in Docker.

Mine will occasionally work properly on my one camera but its like once in a blue moon that it does. Diving into the code to figure out what’s wrong is beyond me, buts its what’s holding me back from really liking frigate so far.

I really need to just do my own notification but I always find those to be a pain to set up.

I cannot get the notification to work. I run Frigate NVR 3.1 freshly installed.
I downloaded the blueprint, added, added the name (same name as Frigate config) and mobile device but I do not get any notification.

When I do test run automation this is the trace.

choose:
  - alias: Silence New Object Notifications
    conditions:
      - condition: trigger
        id: silence
    sequence:
      - service: automation.turn_off
        target:
          entity_id: '{{ this.entity_id }}'
        data:
          stop_actions: false
      - delay:
          minutes: 30
      - service: automation.turn_on
        target:
          entity_id: '{{ this.entity_id }}'
  - alias: Frigate Event
    conditions:
      - condition: trigger
        id: frigate-event
      - '{{ is_state(this.entity_id, ''on'') }}'
      - >-
        {{ not this.attributes.last_triggered or (now() -
        this.attributes.last_triggered).seconds > cooldown }}
    sequence:
      - variables:
          id: '{{ trigger.payload_json[''after''][''id''] }}'
          object: '{{ trigger.payload_json[''after''][''label''] }}'
          label: '{{ object | title }}'
          initial_home: '{{ presence_entity != '''' and is_state(presence_entity, ''home'') }}'
          initial_entered_zones: '{{ trigger.payload_json[''after''][''entered_zones''] }}'
      - alias: Notifications enabled for object label
        condition: template
        value_template: '{{ not labels|length or object in labels }}'
      - alias: Notify on new object
        choose:
          - conditions:
              - '{{ not zone_only or initial_entered_zones|length > 0 }}'
              - >-
                {{ not zones|length or zones|select('in',
                initial_entered_zones)|list|length > 0 }}
              - '{{ not initial_home }}'
            sequence:
              - choose:
                  - conditions: '{{ not group_target }}'
                    sequence:
                      - device_id: 8114859d871ac9fe2e3c68be6c46804c
                        domain: mobile_app
                        type: notify
                        message: >-
                          A {{ label }} was detected on the {{ camera_name }}
                          camera.
                        data:
                          tag: '{{ id }}'
                          group: frigate-notification-{{ camera }}
                          image: >-
                            /api/frigate/notifications/{{id}}/thumbnail.jpg?format=android
                          clickAction: >-
                            {{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4
                          ttl: '{{ iif(critical, 0, 3600000) }}'
                          priority: '{{ iif(critical, ''high'', ''normal'') }}'
                          url: >-
                            {{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4
                          attachment:
                            url: /api/frigate/notifications/{{id}}/thumbnail.jpg
                          push:
                            interruption-level: '{{ iif(critical, ''critical'', ''active'') }}'
                          actions:
                            - action: URI
                              title: View Clip
                              uri: >-
                                {{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4
                            - action: URI
                              title: View Snapshot
                              uri: >-
                                {{base_url}}/api/frigate/notifications/{{id}}/snapshot.jpg
                            - action: silence-{{ camera }}
                              title: Silence New Notifications
                              destructive: true
                default:
                  - service: notify.{{ group_target }}
                    data:
                      message: >-

I solved it finally, after many hours and alot of coffee.
The issue was that I put 8123 as MQTT port and it should have been 1883. Now I get my notices, I almost was about to sell my Coral :smile:

Just tried adding that to my config as I previously had nothing there for port. Fingers crossed it works for me.

1 Like

If your running the test from the the Automation functions in HA - you won’t get anything. The automation created by the blueprint uses data that is sent from Frigate to HA in the MQTT message and in test mode, there is nothing there. It’s just easier to walk past the camera and not be wondering if you have successful ran the automation the right way or not.

1 Like