Una vez instalado y configurado Frigate el siguiente paso lógico es integrarlo en nuestro Home Assistant.
Lo primero será crea una serie de cámaras MQTT
mqtt:
camera:
- name: mqtt_foscam_1
unique_id: mqtt_foscam_1
topic: frigate/foscam_1/person/snapshot
- name: mqtt_foscam_2
unique_id: mqtt_foscam_2
topic: frigate/foscam_2/person/snapshot
- name: mqtt_foscam_3
unique_id: mqtt_foscam_3
topic: frigate/foscam_3/person/snapshot
- name: mqtt_hikvision_1
unique_id: mqtt_hikvision_1
topic: frigate/HIKVISION_1/person/snapshot
- name: mqtt_hikvision_2
unique_id: mqtt_hikvision_2
topic: frigate/HIKVISION_2/person/snapshot
- name: mqtt_ic_3116w
unique_id: mqtt_ic_3116w
topic: frigate/IC-3116W/person/snapshot Lo siguiente crear los sensores de deteccions de movimiento.
####################################################################
# Sensores camaras frigate
####################################################################
- name: "Frigate NVR"
icon: hass:cctv
state_topic: "frigate/available"
payload_on: "online"
payload_off: "offline"
device_class: connectivity
- name: movimiento_foscam_1
device_class: motion
off_delay: 10
state_topic: "frigate/events"
value_template: >
{% if (value_json['after']['camera'] == 'foscam_1') and (value_json['after']['label'] == 'person') and (value_json['after']['stationary'] == false)
and (value_json['after']['has_snapshot'] == true ) %}
ON
{% else %}
OFF
{% endif %}
- name: movimiento_foscam_2
device_class: motion
off_delay: 10
state_topic: "frigate/events"
value_template: >
{% if (value_json['after']['camera'] == 'foscam_2') and (value_json['after']['label'] == 'person') and (value_json['after']['stationary'] == false)
and (value_json['after']['has_snapshot'] == true ) %}
ON
{% else %}
OFF
{% endif %}
- name: movimiento_foscam_3
device_class: motion
off_delay: 10
state_topic: "frigate/events"
value_template: >
{% if (value_json['after']['camera'] == 'foscam_3') and (value_json['after']['label'] == 'person') and (value_json['after']['stationary'] == false)
and (value_json['after']['has_snapshot'] == true ) %}
ON
{% else %}
OFF
{% endif %}
- name: movimiento_hikvision_1
device_class: motion
off_delay: 10
state_topic: "frigate/events"
value_template: >
{% if (value_json['after']['camera'] == 'HIKVISION_1') and (value_json['after']['label'] == 'person') and (value_json['after']['stationary'] == false)
and (value_json['after']['has_snapshot'] == true ) %}
ON
{% else %}
OFF
{% endif %}
- name: movimiento_hikvision_2
device_class: motion
off_delay: 10
state_topic: "frigate/events"
value_template: >
{% if (value_json['after']['camera'] == 'HIKVISION_2') and (value_json['after']['label'] == 'person') and (value_json['after']['stationary'] == false)
and (value_json['after']['has_snapshot'] == true ) %}
ON
{% else %}
OFF
{% endif %}
- name: movimiento_ic_3116w
device_class: motion
off_delay: 10
state_topic: "frigate/events"
value_template: >
{% if (value_json['after']['camera'] == 'IC-3116W') and (value_json['after']['label'] == 'person') and (value_json['after']['stationary'] == false)
and (value_json['after']['has_snapshot'] == true ) %}
ON
{% else %}
OFF
{% endif %}Una vez creados y funcionando ya podemos empezar con las automatizaciones , en este caso por ejemplo automatizaciones que guardan en jpg el snapshot que nos ha llegado por mqtt en función de cada cámara y lo envia por Telegram dando aviso por texto y añadiendo la imagen
- id: 'nuevo snapshot recibido camara 1'
alias: 'nuevo snapshot recibido camara 1'
variables:
filepath: /config/www/cam_captures/1_{{now().year}}_{{now().month}}_{{now().day}}_{{now().hour}}_{{now().minute}}_{{now().second}}.jpg
trigger:
- platform: state
entity_id: binary_sensor.movimiento_foscam_1
from: 'off'
to: 'on'
action:
- service: camera.snapshot
data:
entity_id: camera.mqtt_foscam_1
filename: '{{ filepath }}'
- delay: 00:00:05
- service: notify.notif_telegram_ha_camaras
data:
title: Enviar imagenes
message: Cam. 1 {{now().strftime("%d/%m %H:%M:%S")}}
data:
photo:
- file: '{{ filepath }}'
capture: Snapshoot
caption: Cam. 1 {{now().strftime("%d/%m %H:%M:%S")}}
- id: 'nuevo snapshot recibido camara 2'
alias: 'nuevo snapshot recibido camara 2'
variables:
filepath: /config/www/cam_captures/2_{{now().year}}_{{now().month}}_{{now().day}}_{{now().hour}}_{{now().minute}}_{{now().second}}.jpg
trigger:
- platform: state
entity_id: binary_sensor.movimiento_foscam_2
from: 'off'
to: 'on'
action:
- service: camera.snapshot
data:
entity_id: camera.mqtt_foscam_2
filename: '{{ filepath }}'
- delay: 00:00:05
- service: notify.notif_telegram_ha_camaras
data:
title: Enviar imagenes
message: Cam. 2 {{now().strftime("%d/%m %H:%M:%S")}}
data:
photo:
- file: '{{ filepath }}'
capture: Snapshoot
caption: Cam. 2 {{now().strftime("%d/%m %H:%M:%S")}}
- id: 'nuevo snapshot recibido camara 3'
alias: 'nuevo snapshot recibido camara 3'
variables:
filepath: /config/www/cam_captures/3_{{now().year}}_{{now().month}}_{{now().day}}_{{now().hour}}_{{now().minute}}_{{now().second}}.jpg
trigger:
- platform: state
entity_id: binary_sensor.movimiento_foscam_3
from: 'off'
to: 'on'
action:
- service: camera.snapshot
data:
entity_id: camera.mqtt_foscam_3
filename: '{{ filepath }}'
- delay: 00:00:05
- service: notify.notif_telegram_ha_camaras
data:
title: Enviar imagenes
message: Cam. 3 {{now().strftime("%d/%m %H:%M:%S")}}
data:
photo:
- file: '{{ filepath }}'
capture: Snapshoot
caption: Cam. 3 {{now().strftime("%d/%m %H:%M:%S")}}
- id: 'nuevo snapshot recibido camara 4'
alias: 'nuevo snapshot recibido camara 4'
variables:
filepath: /config/www/cam_captures/4_{{now().year}}_{{now().month}}_{{now().day}}_{{now().hour}}_{{now().minute}}_{{now().second}}.jpg
trigger:
- platform: state
entity_id: binary_sensor.movimiento_hikvision_1
from: 'off'
to: 'on'
action:
- service: camera.snapshot
data:
entity_id: camera.mqtt_hikvision_1
filename: '{{ filepath }}'
- delay: 00:00:05
- service: notify.notif_telegram_ha_camaras
data:
title: Enviar imagenes
message: Cam. 4 {{now().strftime("%d/%m %H:%M:%S")}}
data:
photo:
- file: '{{ filepath }}'
capture: Snapshoot
caption: Cam. 4 {{now().strftime("%d/%m %H:%M:%S")}}
- id: 'nuevo snapshot recibido camara 5'
alias: 'nuevo snapshot recibido camara 5'
variables:
filepath: /config/www/cam_captures/5_{{now().year}}_{{now().month}}_{{now().day}}_{{now().hour}}_{{now().minute}}_{{now().second}}.jpg
trigger:
- platform: state
entity_id: binary_sensor.movimiento_hikvision_2
from: 'off'
to: 'on'
action:
- service: camera.snapshot
data:
entity_id: camera.mqtt_hikvision_2
filename: '{{ filepath }}'
- delay: 00:00:05
- service: notify.notif_telegram_ha_camaras
data:
title: Enviar imagenes
message: Cam. 5 {{now().strftime("%d/%m %H:%M:%S")}}
data:
photo:
- file: '{{ filepath }}'
capture: Snapshoot
caption: Cam. 5 {{now().strftime("%d/%m %H:%M:%S")}}
- id: 'nuevo snapshot recibido camara 6'
alias: 'nuevo snapshot recibido camara 6'
variables:
filepath: /config/www/cam_captures/6_{{now().year}}_{{now().month}}_{{now().day}}_{{now().hour}}_{{now().minute}}_{{now().second}}.jpg
trigger:
- platform: state
entity_id: binary_sensor.movimiento_ic_3116w
from: 'off'
to: 'on'
action:
- service: camera.snapshot
data:
entity_id: camera.mqtt_ic_3116w
filename: '{{ filepath }}'
- delay: 00:00:05
- service: notify.notif_telegram_ha_camaras
data:
title: Enviar imagenes
message: Cam. 6 {{now().strftime("%d/%m %H:%M:%S")}}
data:
photo:
- file: '{{ filepath }}'
capture: Snapshoot
caption: Cam. 6 {{now().strftime("%d/%m %H:%M:%S")}} También lo añadimos a nuestro panel lovelace
- type: vertical-stack
cards:
- type: entities
title: Camaras
show_name: true
show_state: false
show_header_toggle: false
columns: 3
entities:
- entity: binary_sensor.frigate_nvr
name: Frigate NVR
- entity: camera.mqtt_foscam_1
name: Camara 1
- entity: camera.mqtt_foscam_2
name: Camara 2
- entity: camera.mqtt_foscam_3
name: Camara 3
- entity: camera.mqtt_hikvision_1
name: Camara 4
- entity: camera.mqtt_hikvision_2
name: Camara 5
- entity: camera.mqtt_ic_3116w
name: Camara 6
- type: entities
title: Sensores movimiento Camaras
show_name: true
show_state: false
show_header_toggle: false
columns: 3
entities:
- entity: binary_sensor.movimiento_foscam_1
name: Camara 1
- entity: binary_sensor.movimiento_foscam_2
name: Camara 2
- entity: binary_sensor.movimiento_foscam_3
name: Camara 3
- entity: binary_sensor.movimiento_hikvision_1
name: Camara 4
- entity: binary_sensor.movimiento_hikvision_2
name: Camara 5
- entity: binary_sensor.movimiento_ic_3116w
name: Camara 6Y este seria el resultado al activarse la detección de movimiento

Y con esto y un bizcocho ……..