domain: automation input: camera: name: Frigate Camera description: The name of the camera as defined in your frigate configuration. base_url: name: (Optional) Base URL description: > 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 may cause issues on some devices. default: "" zone_filter: name: (Optional) Zone Filter description: Only notify if object has entered a defined zone. default: false selector: boolean: zones: name: (Optional) Trigger Zones description: A list (-) of zones you wish to recieve notifications for. default: [] selector: object: labels: name: (Optional) Trigger Objects description: A list (-) of objects you wish to recieve notifications for. default: [] selector: object: presence_filter: name: (Optional) Presence Filter description: Only notify if selected presence entity is not "home". default: "" selector: entity: cooldown: name: (Optional) Cooldown description: Delay before sending another notification for this camera after the last event. default: 30 selector: number: max: 300 min: 0 unit_of_measurement: seconds silence_timer: name: (Optional) Silence Notifications description: > How long to silence notifications for this camera when requested as part of the actionable notification. default: 30 selector: number: max: 300 min: 0 unit_of_measurement: minutes mode: single max_exceeded: silent trigger: platform: mqtt topic: frigate/events payload: !input camera value_template: "{{ value_json['after']['camera'] }}" variables: id: "{{ trigger.payload_json['after']['id'] }}" camera: "{{ trigger.payload_json['after']['camera'] }}" camera_name: "{{ camera | replace('_', ' ') | title }}" object: "{{ trigger.payload_json['after']['label'] }}" label: "{{ object | title }}" entered_zones: "{{ trigger.payload_json['after']['entered_zones'] }}" type: "{{ trigger.payload_json['type'] }}" base_url: !input base_url zone_only: !input zone_filter input_zones: !input zones zones: "{{ input_zones | list }}" input_labels: !input labels labels: "{{ input_labels | list }}" presence_entity: !input presence_filter condition: - "{{ type != 'end' }}" - "{{ not zone_only or entered_zones|length > 0 }}" - "{{ not zones|length or zones|select('in', entered_zones)|list|length > 0 }}" - "{{ not labels|length or object in labels }}" - "{{ not presence_entity or not is_state(presence_entity, 'home') }}" action: - choose: - conditions: "{{ not group_target }}" sequence: - delay: minutes: 1 - service: telegram_bot.send_message data: message: 'A {{ label }} was detected on the {{ camera_name }} camera.' - service: telegram_bot.send_video data: url: http://192.168.50.13:5000/api/events/{{id}}/clip.mp4?download=true default: - delay: minutes: 1 - service: telegram_bot.send_message data: message: 'A {{ label }} was detected on the {{ camera_name }} camera.' - service: telegram_bot.send_video data: url: http://192.168.50.13:5000/api/events/{{id}}/clip.mp4?download=true - delay: minutes: !input silence_timer