DieMetRik

Уведомления Лицо из Frigate

Jun 24th, 2025
669
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.87 KB | None | 0 0
  1. alias: Frigate. Уведомления Лицо из Frigate
  2. description: ""
  3. triggers:
  4.   - trigger: mqtt
  5.     topic: frigate/tracked_object_update
  6.   - trigger: mqtt
  7.     topic: test/tracked_object_update
  8. conditions:
  9.   - condition: template
  10.     value_template: "{{ trigger.payload_json['type'] == 'face'}}"
  11. actions:
  12.   - variables:
  13.       name: "{{ trigger.payload_json['name'] }}"
  14.       type: "{{ trigger.payload_json['type'] }}"
  15.       score: "{{ (trigger.payload_json['score'] | float(0) * 100) | int(0) }}"
  16.       id: "{{ trigger.payload_json['id'] }}"
  17.       datetime: >-
  18.         {{ trigger.payload_json['timestamp'] | timestamp_custom('%Y-%m-%d
  19.         %H:%M:%S') }}
  20.       camera: "{{ trigger.payload_json['camera'] }}"
  21.       ip_base_url: http://192.168.1.130:8123/api/frigate/notifications/
  22.     alias: Определение переменных из MQTT frigate events
  23.   - alias: type == face && != None (При распознавании лица)
  24.     if:
  25.       - alias: Если это лицо
  26.         condition: template
  27.         value_template: "{{ type == 'face' }}"
  28.       - alias: Если name != None
  29.         condition: template
  30.         value_template: "{{ name != None }}"
  31.       - alias: Условие для запрета отправки дублей
  32.         condition: template
  33.         value_template: "{{ id  != states('input_text.frigate_face_id_event_detected') }}"
  34.     then:
  35.       - action: telegram_bot.send_message
  36.         metadata: {}
  37.         data:
  38.           parse_mode: html
  39.           message: |-
  40.             Найден: <u>{{name}}</u> на {{score}}%  <pre>camera: {{camera}}
  41.             Дата: {{ datetime }}
  42.             id: {{id}}</pre>
  43.           target: "{{ target }}"
  44.         enabled: true
  45.       - alias: Если Dmitry или Nadezda > 90%
  46.         if:
  47.           - condition: or
  48.             conditions:
  49.               - condition: and
  50.                 conditions:
  51.                   - condition: template
  52.                     value_template: "{{ score >= 90 }}"
  53.                   - condition: template
  54.                     value_template: "{{ name == 'Dmitry'}}"
  55.                 alias: Если Dmitry > 90
  56.               - alias: Если Nadezda > 85
  57.                 condition: and
  58.                 conditions:
  59.                   - condition: template
  60.                     value_template: "{{ score >= 85 }}"
  61.                   - condition: template
  62.                     value_template: "{{ name == 'Nadezda'}}"
  63.           - condition: or
  64.             conditions:
  65.               - condition: state
  66.                 entity_id: alarm_control_panel.alarm_home
  67.                 state: armed_away
  68.               - condition: state
  69.                 entity_id: alarm_control_panel.alarm_home
  70.                 state: pending
  71.               - condition: state
  72.                 entity_id: alarm_control_panel.alarm_home
  73.                 state: triggered
  74.         then:
  75.           - target:
  76.               entity_id: alarm_control_panel.alarm_home
  77.             action: alarm_control_panel.alarm_disarm
  78.             data: {}
  79.           - action: telegram_bot.send_message
  80.             data:
  81.               message: "🚨Снято с охраны по лицу: [ {{ name }} ]"
  82.       - alias: Если score > 90% (выставить запрет на отправку дублей)
  83.         if:
  84.           - condition: template
  85.             value_template: "{{ score >= 90 }}"
  86.         then:
  87.           - if:
  88.               - condition: template
  89.                 value_template: >-
  90.                   {{ trigger.payload_json['id']  !=
  91.                   states('input_text.frigate_face_id_event_detected') }}
  92.             then:
  93.               - action: input_text.set_value
  94.                 metadata: {}
  95.                 data:
  96.                   value: "{{ id }}"
  97.                 target:
  98.                   entity_id: input_text.frigate_face_id_event_detected
  99. mode: queued
  100. max: 10
  101.  
Tags: Frigate
Advertisement
Add Comment
Please, Sign In to add comment