Fixed. copy the action part from the blueprint in first post and override it in your blueprint files.
If its not working well, then you need to go into your telegram bot integration and select default parse mode, then select html.
When editting a caption, selecting parse mode seems to be no longer allowed in home assistant 2026.01. But that was not the only fix, some stricter rules in general had to be dealt with.
It’s working for me again now.
EDIT: do not forget to update all variables as well with your own again as you are taking over the example data. such as:
message_tag: telegram_notifications_driveway
msg_id: “{{ states(‘input_number.telegram_driveway_message_id’) | int }}”
the caption itself.
the target for the send_video as its different from the normal chat youre using (usually)
I’ve done a fresh installation of Frigate and HA integration. Everything is working except I cannot get a notification using Telegram. Stepping through the Traces the animation stops at: '{{ type != ''end'' }}'.
I follow the instructions above and also have the Telegram integration. I’d appreciate suggestions to enabling notifications. (I’m new to Telegram but seemed to sort out bot and chat id.) Here is my yml:
blueprint:
name: Frigate - Telegram Notification
description: Create automations to receive Snapshots and Clips from Frigate
domain: automation
input:
camera:
name: back_patio
description: The name of the camera as defined in your frigate configuration
(/conf.yml).
target_chat:
name: Target
description: 'The chat_id to be used by the Telegram bot. !secret chat_id is
not allowed on Blueprint, you will need the chat_id code.
'
notification:
name: Notification
description: 'Select "true" to disable notification, lave "false" to receive
notification. '
selector:
select:
options:
- 'true'
- 'false'
multiple: false
custom_value: false
sort: false
default: 'false'
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:
multiple: false
labels:
name: (Optional) Trigger Objects
description: A list (-) of objects you wish to recieve notifications for.
default: []
selector:
object:
multiple: false
presence_filter:
name: (Optional) Presence Filter
description: Only notify if selected presence entity is not "home".
default: ''
selector:
entity:
multiple: false
reorder: false
source_url: https://gist.github.com/NdR91/5486a1e55101e062c48545395b7dd9a3
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 }}'
target_chat: !input target_chat
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
notification: !input notification
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:
- service: telegram_bot.send_photo
data:
chat_id:
-1234567890 (Not my real id)
disable_notification: '{{ notification }}'
caption: 'Movimento rilevato. Telecamera: {{ camera_name }} (ID: {{ id }})
'
url: '{{base_url}}/api/frigate/notifications/{{id}}/snapshot.jpg'
- repeat:
sequence:
- wait_for_trigger:
- platform: mqtt
topic: frigate/events
payload: '{{ id }}'
value_template: '{{ value_json[''after''][''id''] }}'
timeout:
minutes: 2
continue_on_timeout: false
- condition: template
value_template: '{{ wait.trigger.payload_json[''type''] == ''end'' }}'
- service: telegram_bot.send_video
data:
target: '{{ target_chat }}'
disable_notification: '{{ notification }}'
caption: 'Movimento rilevato. Telecamera: {{ camera_name }}'
url: '{{base_url}}/api/frigate/notifications/{{id}}/{{camera}}/clip.mp4'
until: '{{ wait.trigger.payload_json[''type''] == ''end'' }}'