Home Assistant Automation¶
Example Home Assistant automation to send notifications when an MQTT update is received.
This uses Supernotify to respect priorities and make multiple notifications for the same event - in the live example this includes Mobile Push alerts, email (with the snapshot ANPR image as an attachment), chimes ( hunting horn for known vehicles, doorbell chimes for unknown ) and Alexa spoken announcements.
It can be adapted to a plain notification by removing the data section and changing the action. Modern Home Assistant UI allows pasting in yaml to create automations.
alias: Driveway ANPR Alert
description: "Notify via email, chime, Alexa and mobile push when a vehicle identified"
triggers:
- trigger: state
entity_id:
- sensor.anpr_driveway
conditions:
- condition: not
conditions:
- condition: state
entity_id: sensor.anpr_driveway
state:
- unavailable
- unknown
actions:
- action: notify.supernotify
metadata: {}
data:
message: >-
{{ trigger.to_state.attributes.description }} with {{
trigger.to_state.attributes.plate }} spotted at {{
trigger.to_state.attributes.camera }} camera, moving {{
trigger.to_state.attributes.vehicle_direction }}
{% if trigger.to_state.attributes.previous_sightings == 0 %} Not
previously sighted {% else %} with {{
trigger.to_state.attributes.previous_sightings }} previous sightings. {%
endif %} {% if trigger.to_state.attributes.last_sighting is defined %}
last seen on {{ trigger.to_state.attributes.last_sighting[:10] }} at {{
trigger.to_state.attributes.last_sighting[11:16] }} {% endif %}
{% if trigger.to_state.attributes.reginfo is defined %} DVLA info: {{
trigger.to_state.attributes.reginfo }} {% endif %}
title: >-
{{ trigger.to_state.attributes.description }} spotted on {{
trigger.to_state.attributes.camera }} camera
data:
priority: "{{ trigger.to_state.attributes.priority }}"
apply_scenarios: >-
{% if trigger.to_state.attributes.known %}known_vehicle{% else
%}unknown_vehicle{% endif %}
constrain_scenarios:
- known_vehicle
- unknown_vehicle
media:
camera_entity_id: image.anpr_{{trigger.to_state.attributes.camera}}
snapshot_url: "{{ trigger.to_state.attributes.event_image_url }}"
mode: single