SgtBatten / HA_blueprints

Somewhere to store automation blueprints
204 stars 78 forks source link

Snapshot to Telegram #138

Open Moras360 opened 10 months ago

Moras360 commented 10 months ago

Describe the problem you are having or the outcome you are trying to achieve.

I am receiving notification messages, but not images are pulling through to Telegram.

Version

0.12.0.2

Automation config file

mode: parallel
trigger_variables:
  input_camera: camera.hq1_test
  camera: '{{ input_camera | replace(''camera.'', '''') }}'
trigger:
  - platform: event
    event_type: mobile_app_notification_action
    event_data:
      action: silence-{{ camera }}
    id: silence
  - platform: mqtt
    topic: frigate/events
    payload: '{{ camera }}/new'
    value_template: >-
      {{ value_json['after']['camera'] | lower | replace('-','_') }}/{{
      value_json['type']}}
    id: frigate-event
variables:
  input_camera: camera.hq1_test
  camera: '{{ input_camera | replace(''camera.'', '''') }}'
  camera_name: '{{ camera | replace(''_'', '' '') | title }}'
  input_base_url: 192.168.0.***:8123
  base_url: '{{ input_base_url.rstrip(''/'')}}'
  attachment: snapshot
  critical_input: 'false'
  critical: '{{ true if critical_input == ''true'' else false }}'
  alert_once: false
  update_thumbnail: false
  ios_live_view: false
  group: telegram
  group_target: '{{ group | lower | replace(''notify.'', '''') | replace('' '',''_'') }}'
  zone_only: false
  input_zones: []
  zones: '{{ input_zones | list | lower }}'
  zone_multi: false
  input_labels: ''
  labels: '{{ input_labels | list | lower }}'
  presence_entity: ''
  disable_times: []
  cooldown: 30
  loitering: false
  loiter_timer: 0
  fps: '{{ states(''sensor.'' + camera + ''_camera_fps'')|int(5) }}'
  state_only: false
  input_entity: ''
  input_states: []
  states_filter: '{{ input_states | list | lower }}'
  color: steelblue
  sound: default
  tv: false
  tv_position: center
  tv_size: large
  tv_duration: 10
  tv_transparency: 0%
  tv_interrupt: false
  debug: false
action:
  - 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 }}
          - >-
            {{ not disable_times|length or not now().hour in
            disable_times|map('int')|list }}
        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''] |lower}}'
              zone_multi_filter: >-
                {{zone_only and zone_multi and initial_entered_zones|length and
                zones and zones |reject('in', initial_entered_zones) |list
                |length == 0 }}
              title: ''
              message: Person  detected HQ1 CAM
              tap_action: >-
                http://192.168.0.***:8123/api/frigate/notifications/<event-id>/snapshot.jpg
              button_1: View Snapshot
              button_2: View Snapshot
              button_3: Silence New Notifications
              url_1: >-
                https://192.168.0.***:8123/api/frigate/notifications/<event-id>/snapshot.jpg
              url_2: >-
                https://192.168.0.***:8123/api/frigate/notifications/<event-id>/snapshot.jpg
              url_3: silence-{{ camera }}
              icon: mdi:home-assistant
              channel: ''
          - alias: 'Debug: write to Log'
            choose:
              - conditions:
                  - '{{debug}}'
                sequence:
                  - service: logbook.log
                    data_template:
                      name: Frigate Notification
                      message: |
                        DEBUG: 
                          Info:
                            fps: {{fps}}, 
                            frigate event id: {{id}}, 
                            object (formatted): {{object}} ({{label}}),
                          Config: 
                            camera(formatted): {{camera}}({{camera_name}}), 
                            Base URL: {{base_url}}, 
                            critical: {{critical}}, 
                            alert once: {{alert_once}}, 
                            Update Thumbnails: {{update_thumbnail}}, 
                            Target: {{'group (input/formatted): ' + group + '/' + group_target + ', ' if group else 'Mobile Device'}}
                            cooldown: {{cooldown}}s, 
                            loiter timer: {{loiter_timer}}s,
                            color: {{color}}, 
                            sound: {{sound}},
                            Title: {{title}}, 
                            Message: {{message}},
                            tap_action: {{tap_action}}, 
                            button 1 Text/URL: {{iif(button_1, button_1, 'unset')}} ({{url_1}}), 
                            button 2 Text/URL: {{button_2}} ({{url_2}}), 
                            button 3 Text/URL: {{button_3}} ({{url_3}}), 
                            icon: {{icon}}
                            tv: {{tv}}, 
                            tv_position: {{tv_position}}, 
                            tv_size: {{tv_size}}, 
                            tv_duration: {{tv_duration}}, 
                            tv_transparency: {{tv_transparency}}, 
                            tv_interrupt: {{tv_interrupt}}, 
                          Filters: 
                            Zones: 
                              zone filter toggle on: {{zone_only}}, 
                              Multi Zone toggle on: {{zone_multi}}, 
                              Required zones: {{input_zones}}, 
                              Entered Zones: {{initial_entered_zones}}, 
                              Zone Filter TEST: {{'PASS (Multi)' if zone_multi_filter else 'PASS' if ( not zone_only or not zone_multi and zones|select('in', initial_entered_zones)|list|length ) else 'FAIL (Multi)' if zone_multi else 'FAIL' }}, 
                            Required objects TEST: 
                              Input: {{input_labels}}, 
                              TEST: {{'PASS' if not labels|length or object in labels else 'FAIL'}}
                            presence entity (not home):
                              Entity: {{presence_entity}}
                              TEST:  {{'PASS' if not initial_home else 'FAIL'}}, 
                            disabled times: {{disable_times}}, 
                            State Filter: 
                              state filter toggle on: {{state_only}}, 
                              state filter entity: {{input_entity}}, 
                              required states: {{input_states}}, 
                              State Filter TEST: {{'PASS' if not state_only or states(input_entity) in states_filter else 'FAIL' }},
          - 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 (not zone_multi and zones|select('in',
                    initial_entered_zones)|list|length > 0) or (zone_multi and
                    initial_entered_zones|length > 0 and zones |reject('in',
                    initial_entered_zones) |list |length == 0) }}
                  - '{{ not initial_home }}'
                  - >-
                    {{ not state_only or states(input_entity) in states_filter
                    }}
                sequence:
                  - choose:
                      - conditions: '{{ not group_target }}'
                        sequence:
                          - device_id: 6a18e026f421595f3237bd5f19c57ee2
                            domain: mobile_app
                            type: notify
                            title: '{{title}}'
                            message: '{{message}}'
                            data:
                              tag: '{{ id }}'
                              group: '{{ camera }}-frigate-notification'
                              color: '{{color}}'
                              image: >-
                                /api/frigate/notifications/{{id}}/{{attachment}}.jpg?format=android
                              clickAction: '{{tap_action}}'
                              ttl: '{{ iif(critical, 0, 3600000) }}'
                              priority: '{{ iif(critical, ''high'', ''normal'') }}'
                              notification_icon: '{{icon}}'
                              channel: '{{channel}}'
                              url: '{{tap_action}}'
                              attachment:
                                url: >-
                                  /api/frigate/notifications/{{id}}/{{attachment}}.jpg
                              push:
                                sound: '{{sound}}'
                                interruption-level: '{{ iif(critical, ''critical'', ''active'') }}'
                              entity_id: '{{ iif(ios_live_view, input_camera, '''' ) }}'
                              actions:
                                - action: URI
                                  title: '{{button_1}}'
                                  uri: '{{url_1}}'
                                - action: URI
                                  title: '{{button_2}}'
                                  uri: '{{url_2}}'
                                - action: '{{ ''URI'' if ''/'' in url_3 else url_3 }}'
                                  title: '{{button_3}}'
                                  uri: '{{url_3}}'
                                  destructive: true
                      - conditions: '{{ tv }}'
                        sequence:
                          - service: notify.{{ group_target }}
                            data:
                              title: '{{title}}'
                              message: '{{message}}'
                              data:
                                tag: '{{ id }}'
                                group: '{{ camera }}-frigate-notification'
                                color: '{{color}}'
                                clickAction: '{{tap_action}}'
                                ttl: '{{ iif(critical, 0, 3600000) }}'
                                priority: '{{ iif(critical, ''high'', ''normal'') }}'
                                notification_icon: '{{icon}}'
                                channel: '{{channel}}'
                                image:
                                  url: >-
                                    {{base_url}}/api/frigate/notifications/{{id}}/snapshot.jpg
                                fontsize: '{{tv_size}}'
                                position: '{{tv_position}}'
                                duration: '{{tv_duration}}'
                                transparency: '{{tv_transparency}}'
                                interrupt: '{{tv_interrupt}}'
                                timeout: 30
                                url: '{{tap_action}}'
                                attachment:
                                  url: >-
                                    /api/frigate/notifications/{{id}}/{{attachment}}.jpg
                                push:
                                  sound: '{{sound}}'
                                interruption-level: '{{ iif(critical, ''critical'', ''active'') }}'
                                entity_id: '{{ iif(ios_live_view, input_camera, '''' ) }}'
                                actions:
                                  - action: URI
                                    title: '{{button_1}}'
                                    uri: '{{url_1}}'
                                  - action: URI
                                    title: '{{button_2}}'
                                    uri: '{{url_2}}'
                                  - action: '{{ ''URI'' if ''/'' in url_3 else url_3 }}'
                                    title: '{{button_3}}'
                                    uri: '{{url_3}}'
                                    destructive: true
                    default:
                      - service: notify.{{ group_target }}
                        data:
                          title: '{{title}}'
                          message: '{{message}}'
                          data:
                            tag: '{{ id }}{{''-loitering'' if loitering}}'
                            group: >-
                              {{ camera }}-frigate-notification{{'-loitering' if
                              loitering}}
                            color: '{{color}}'
                            image: >-
                              /api/frigate/notifications/{{id}}/{{attachment}}.jpg?format=android
                            clickAction: '{{tap_action}}'
                            ttl: '{{ iif(critical, 0, 3600000) }}'
                            priority: '{{ iif(critical, ''high'', ''normal'') }}'
                            notification_icon: '{{icon}}'
                            channel: '{{channel}}'
                            fontsize: '{{tv_size}}'
                            position: '{{tv_position}}'
                            duration: '{{tv_duration}}'
                            transparency: '{{tv_transparency}}'
                            interrupt: '{{tv_interrupt}}'
                            url: '{{tap_action}}'
                            attachment:
                              url: >-
                                /api/frigate/notifications/{{id}}/{{attachment}}.jpg
                            push:
                              sound: '{{sound}}'
                              interruption-level: '{{ iif(critical, ''critical'', ''active'') }}'
                            entity_id: '{{ iif(ios_live_view, input_camera, '''' ) }}'
                            actions:
                              - action: URI
                                title: '{{button_1}}'
                                uri: '{{url_1}}'
                              - action: URI
                                title: '{{button_2}}'
                                uri: '{{url_2}}'
                              - action: '{{ ''URI'' if ''/'' in url_3 else url_3 }}'
                                title: '{{button_3}}'
                                uri: '{{url_3}}'
                                destructive: true
          - 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
                - variables:
                    event: '{{ wait.trigger.payload_json }}'
                    loitering: >-
                      {{ loiter_timer and
                      event['before']['motionless_count']/fps/60 < loiter_timer
                      and event['after']['motionless_count']/fps/60 >=
                      loiter_timer }}
                    new_snapshot: >-
                      {{ update_thumbnail and event['before']['snapshot_time']
                      != event['after']['snapshot_time'] }}
                    home: >-
                      {{ presence_entity != '' and is_state(presence_entity,
                      'home') }}
                    presence_changed: >-
                      {{ presence_entity != '' and
                      as_datetime(event['before']['frame_time']) <
                      states[presence_entity].last_changed }}
                    last_zones: '{{ event[''before''][''entered_zones''] |lower}}'
                    entered_zones: '{{ event[''after''][''entered_zones''] |lower}}'
                    zone_filter: >-
                      {{ not zone_only or zones|select('in',
                      entered_zones)|list|length > 0 }}
                    zone_multi_filter: >-
                      {{not zone_only or not zone_multi or (
                      entered_zones|list|length > 0 and zones and
                      zones|reject('in', entered_zones)|list|length == 0 ) }}
                    stationary_moved: >-
                      {{ event['after']['position_changes'] >
                      event['before']['position_changes'] }}
                    zone_only_changed: >-
                      {{ zone_only and (entered_zones|length > 0 and not
                      last_zones|length) }}
                    entered_zones_changed: >-
                      {{ zones|length > 0 and (zones|select('in',
                      entered_zones)|list|length > 0 and not zones|select('in',
                      last_zones)|list|length) }}
                    state_true: >-
                      {{ not state_only or states(input_entity) in states_filter
                      }}
                    sub_label: '{{ event[''after''][''sub_label'']}}'
                    sub_label_changed: '{{ sub_label != event[''before''][''sub_label''] }}'
                    update: >-
                      {{ alert_once or (new_snapshot and not loitering and not
                      presence_changed and not zone_only_changed and not
                      entered_zones_changed and not sub_label_changed) }}
                    title: |
                      {% if sub_label %} 
                        {{title | replace('A Person', sub_label|title) | replace('Person', sub_label|title)}}
                      {%else%}
                        {{title}}
                      {%endif%}
                    message: |
                      {% if sub_label %} 
                        {{message | replace('A Person', sub_label|title) | replace('Person', sub_label|title)}}
                      {%else%}
                        {{message}}
                      {%endif%}
                - alias: 'Debug: write to Log'
                  choose:
                    - conditions:
                        - '{{debug}}'
                      sequence:
                        - service: logbook.log
                          data_template:
                            name: Frigate Notification
                            message: |
                              DEBUG (in loop): 
                                Info: 
                                  Last Zones: {{last_zones}}, 
                                  Current zones: {{entered_zones}}, 
                                  sublabel: {{sub_label}},
                                  iOS sound: {{update if not critical else 'yes due critical notifications'}}, 
                                  Android Sound: {{'disabled by alert once' if alert_once else 'enabled'}}, 
                                Triggers: 
                                  New Snapshot: {{new_snapshot}}, 
                                  Presence Changed: {{presence_changed}}, 
                                  stationary moved: {{stationary_moved}}, 
                                  entered zones changed: {{entered_zones_changed}}, 
                                  sublabel changed: {{sub_label_changed}}, 
                                Conditions: 
                                  Loitering: {{loitering}}
                                    or 
                                  Presence Entity not home: {{'ON' if presence_entity != '' else 'OFF'}} - {{'PASS' if not home else 'FAIL'}}, 
                                  zone filter TEST: {{'ON' if zone_only else 'OFF'}} - {{'PASS' if zone_filter else 'FAIL'}}, 
                                  multi-zone filter: {{'OFF' if not zone_only or not zone_multi else 'ON'}} - {{'PASS' if not zone_only or not zone_multi or ( entered_zones|length and zones and zones |reject('in', entered_zones) |list |length == 0 ) else 'FAIL'}}, 
                                  state filter TEST: {{'ON' if state_only else 'OFF'}} - {{'PASS' if state_true else 'FAIL'}}

                                  image: "/api/frigate/notifications/{{id}}/{{attachment}}.jpg"
                - alias: Notify on loitering or significant change
                  choose:
                    - conditions: >-
                        {{ loitering or (not home and zone_filter and
                        zone_multi_filter and state_true and (new_snapshot or
                        presence_changed or stationary_moved or
                        zone_only_changed or entered_zones_changed or
                        sub_label_changed)) }}
                      sequence:
                        - choose:
                            - conditions: '{{ not group_target }}'
                              sequence:
                                - device_id: 6a18e026f421595f3237bd5f19c57ee2
                                  domain: mobile_app
                                  type: notify
                                  title: '{{title}}'
                                  message: '{{message}}'
                                  data:
                                    tag: '{{ id }}{{''-loitering'' if loitering}}'
                                    group: >-
                                      {{ camera
                                      }}-frigate-notification{{'-loitering' if
                                      loitering}}
                                    color: '{{color}}'
                                    image: >-
                                      /api/frigate/notifications/{{id}}/{{attachment}}.jpg?format=android
                                    clickAction: '{{tap_action}}'
                                    ttl: '{{ iif(critical, 0, 3600000) }}'
                                    priority: '{{ iif(critical, ''high'', ''normal'') }}'
                                    alert_once: '{{ alert_once }}'
                                    notification_icon: '{{icon}}'
                                    channel: '{{channel}}'
                                    url: '{{tap_action}}'
                                    attachment:
                                      url: >-
                                        /api/frigate/notifications/{{id}}/{{attachment}}.jpg
                                    push:
                                      sound: '{{ iif(update, ''none'', sound) }}'
                                      interruption-level: >-
                                        {{ iif(critical, 'critical', 'active')
                                        }}
                                    entity_id: >-
                                      {{ iif(ios_live_view, input_camera, '' )
                                      }}
                                    actions:
                                      - action: URI
                                        title: '{{button_1}}'
                                        uri: '{{url_1}}'
                                      - action: URI
                                        title: '{{button_2}}'
                                        uri: '{{url_2}}'
                                      - action: '{{ ''URI'' if ''/'' in url_3 else url_3 }}'
                                        title: '{{button_3}}'
                                        uri: '{{url_3}}'
                                        destructive: true
                            - conditions: '{{ tv }}'
                              sequence:
                                - service: notify.{{ group_target }}
                                  data:
                                    title: '{{title}}'
                                    message: '{{message}}'
                                    data:
                                      tag: '{{ id }}{{''-loitering'' if loitering}}'
                                      group: >-
                                        {{ camera
                                        }}-frigate-notification{{'-loitering' if
                                        loitering}}
                                      color: '{{color}}'
                                      clickAction: '{{tap_action}}'
                                      ttl: '{{ iif(critical, 0, 3600000) }}'
                                      priority: '{{ iif(critical, ''high'', ''normal'') }}'
                                      alert_once: '{{ alert_once }}'
                                      notification_icon: '{{icon}}'
                                      channel: '{{channel}}'
                                      image:
                                        url: >-
                                          {{base_url}}/api/frigate/notifications/{{id}}/snapshot.jpg
                                      fontsize: '{{tv_size}}'
                                      position: '{{tv_position}}'
                                      duration: '{{tv_duration}}'
                                      transparency: '{{tv_transparency}}'
                                      interrupt: '{{tv_interrupt}}'
                                      timeout: 30
                                      url: '{{tap_action}}'
                                      attachment:
                                        url: >-
                                          /api/frigate/notifications/{{id}}/{{attachment}}.jpg
                                      push:
                                        sound: '{{ iif(update, ''none'', sound) }}'
                                      interruption-level: >-
                                        {{ iif(critical, 'critical', 'active')
                                        }}
                                      entity_id: >-
                                        {{ iif(ios_live_view, input_camera, '' )
                                        }}
                                      actions:
                                        - action: URI
                                          title: '{{button_1}}'
                                          uri: '{{url_1}}'
                                        - action: URI
                                          title: '{{button_2}}'
                                          uri: '{{url_2}}'
                                        - action: '{{ ''URI'' if ''/'' in url_3 else url_3 }}'
                                          title: '{{button_3}}'
                                          uri: '{{url_3}}'
                                          destructive: true
                          default:
                            - service: notify.{{ group_target }}
                              data:
                                title: '{{title}}'
                                message: '{{message}}'
                                data:
                                  tag: '{{ id }}{{''-loitering'' if loitering}}'
                                  group: >-
                                    {{ camera
                                    }}-frigate-notification{{'-loitering' if
                                    loitering}}
                                  color: '{{color}}'
                                  image: >-
                                    /api/frigate/notifications/{{id}}/{{attachment}}.jpg?format=android
                                  clickAction: '{{tap_action}}'
                                  ttl: '{{ iif(critical, 0, 3600000) }}'
                                  priority: '{{ iif(critical, ''high'', ''normal'') }}'
                                  alert_once: '{{ alert_once }}'
                                  notification_icon: '{{icon}}'
                                  channel: '{{channel}}'
                                  fontsize: '{{tv_size}}'
                                  position: '{{tv_position}}'
                                  duration: '{{tv_duration}}'
                                  transparency: '{{tv_transparency}}'
                                  interrupt: '{{tv_interrupt}}'
                                  url: '{{tap_action}}'
                                  attachment:
                                    url: >-
                                      /api/frigate/notifications/{{id}}/{{attachment}}.jpg
                                  push:
                                    sound: '{{ iif(update, ''none'', sound) }}'
                                    interruption-level: '{{ iif(critical, ''critical'', ''active'') }}'
                                  entity_id: '{{ iif(ios_live_view, input_camera, '''' ) }}'
                                  actions:
                                    - action: URI
                                      title: '{{button_1}}'
                                      uri: '{{url_1}}'
                                    - action: URI
                                      title: '{{button_2}}'
                                      uri: '{{url_2}}'
                                    - action: '{{ ''URI'' if ''/'' in url_3 else url_3 }}'
                                      title: '{{button_3}}'
                                      uri: '{{url_3}}'
                                      destructive: true
              until: >-
                {{ not wait.trigger or wait.trigger.payload_json['type'] ==
                'end' }}
id: '1702475305392'
alias: 'Frigate Notifications '
description: Send notifications based on events triggered by camera

Frigate Config

mqtt:
  host: 192.168.0.***
  user: admin
  password: *****

ffmpeg:
  hwaccel_args: preset-vaapi

birdseye:
 enabled: true
 restream: true
 quality: 1
 height: 2688
 width: 1520
 mode: continuous 

cameras:
  HQ1_TEST:
    ffmpeg:
      inputs:
      #High Res stream for recording:
      #   - path: rtsp://ha:***********@10.1.1.***:554/cam/realmonitor?channel=1&subtype=0
      #     roles:
      #      - record

      #Low res stream used for live viewing:
         - path: rtsp://ha:************@10.1.1.***:554/cam/realmonitor?channel=1&subtype=0
           roles:
            - detect

    detect:
      enabled:  true
      fps:      20
      width:    2688
      height:   1520

    objects:
      track:
        - person
        - car 
        - bird
        - motorcycle 

    snapshots:
      enabled: true
      required_zones:
        - paving

    record:
      enabled: false
      retain:
        days: 1
      events:
        retain:
          default: 10    
        required_zones:
        - paving  

    zones:
       paving:
         coordinates: 1827,387,2214,356,2191,234,2652,237,2688,1520,870,1520,880,580,581,525,585,446,766,399,1640,293
         objects:
           - person
           - car                    
       roof:
        coordinates: 0,1520,842,1520,833,604,0,410
        objects:
          - bird

    motion:
      mask:  
         - 2688,0,2688,249,1700,224,1688,0

Any other information that may be helpful

No response

SgtBatten commented 10 months ago

Please post the config found when editing the automation in yaml.

Also are you using the telegram branch? Doesn't look like it. Progress stalled due to lack of testers.

Moras360 commented 10 months ago

I'm not sure what you mean by Telegram branch. I created a bot and then use the chat ID and token. So the messages come through just fine, it's just that there's not image.

id: '1702475305392' alias: 'Frigate Notifications ' description: Send notifications based on events triggered by camera use_blueprint: path: SgtBatten/Stable.yaml input: camera: camera.hq1_test notify_device: 6a18e026f421595f3237bd5f19** notify_group: telegram message: Person detected HQ1 CAM attachment: snapshot base_url: 192.168.0.:8123 tap_action: >- http://192.168.0.:8123/api/frigate/notifications//snapshot.jpg button_1: View Snapshot url_1: >- https://192.168.0.***:8123/api/frigate/notifications//snapshot.jpg url_2: >- https://192.168.0.***:8123/api/frigate/notifications//snapshot.jpg

SgtBatten commented 10 months ago

I mean the branch of this repository that is dedicated to trying to get telegram working.

As I said, it fell stagnant due to lack of feedback so it's a bit out of date, but if snapshots work, then we were doing something better there.

https://github.com/SgtBatten/HA_blueprints/tree/telegram