Notificaciones de Home Assistant
La mejor manera de comenzar con las notificaciones para SecureVu es usar el Blueprint. Puedes usar el YAML generado por el Blueprint como punto de partida y personalizarlo desde allí.
En general, se recomienda activar notificaciones basadas en el topic MQTT securevu/reviews. Esto proporciona el/los event_id(s) necesarios para obtener miniaturas/instantáneas/clips y otra información útil para personalizar cuándo y dónde deseas recibir alertas. Los datos se publican en forma de un feed de cambios, lo que significa que puedes referenciar el "estado anterior" del objeto en la sección before y el "estado actual" del objeto en la sección after. Puedes ver un ejemplo aquí.
Aquí hay un ejemplo sencillo de una automatización de notificación para objetos rastreados que actualizará la notificación existente en cada cambio. Esto significa que la imagen que ves en la notificación se actualizará a medida que SecureVu encuentre una imagen "mejor".
automation:
- alias: Notify of tracked object
trigger:
platform: mqtt
topic: securevu/events
action:
- service: notify.mobile_app_pixel_3
data:
message: 'A {{trigger.payload_json["after"]["label"]}} was detected.'
data:
image: 'https://your.public.hass.address.com/api/securevu/notifications/{{trigger.payload_json["after"]["id"]}}/thumbnail.jpg?format=android'
tag: '{{trigger.payload_json["after"]["id"]}}'
when: '{{trigger.payload_json["after"]["start_time"]|int}}'
Ten en cuenta que los dispositivos iOS soportan vistas previas en vivo de cámaras añadiendo un ID de entidad de cámara a los datos del mensaje.
automation:
- alias: Security_SecureVu_Notifications
description: ""
trigger:
- platform: mqtt
topic: securevu/reviews
payload: alert
value_template: "{{ value_json['after']['severity'] }}"
action:
- service: notify.mobile_app_iphone
data:
message: 'A {{trigger.payload_json["after"]["data"]["objects"] | sort | join(", ") | title}} was detected.'
data:
image: >-
https://your.public.hass.address.com/api/securevu/notifications/{{trigger.payload_json["after"]["data"]["detections"][0]}}/thumbnail.jpg
tag: '{{trigger.payload_json["after"]["id"]}}'
when: '{{trigger.payload_json["after"]["start_time"]|int}}'
entity_id: camera.{{trigger.payload_json["after"]["camera"] | replace("-","_") | lower}}
mode: single