Blueprint to make a TTS announcement when a binary sensor goes from off to on, e.g. a doorbell sensor and to take a snapshot from a camera and send it to your official home assistant mobile app.
You can select a binary sensor, an Alexa device to make the announcement and customise the announced message, a camera, a mobile device to receive the snapshot as a notification (either android or iOS) and customise the notification title and message.
NOTE: For amazon echo devices you require the alexa media player add-on.
You can announce to multiple devices by inputting a comma separated list or a group.
Blueprint screen:
Blueprint to import:
blueprint:
name: Doorbell - Notify Alexa and send camera snapshot to app
description: 'Make an announcement over Amazon Echo devices when the doorbell is pushed and send a camera snapshot to your app.'
domain: automation
input:
doorbell:
name: Doorbell
description: This is the doorbell binary sensor
selector:
entity:
domain: binary_sensor
echo_device:
name: Alexa
description: The Alexa device to make the announcement on. Make a comma seperated list to announce on multiple devices.
selector:
entity:
domain: media_player
default: ""
message:
name: Message (Optional)
description: 'Default: "There is Somebody at the Door!"'
default: There is Somebody at the Door
camera:
name: Camera
description: The camera which creates the snapshot
selector:
entity:
domain: camera
notify_device:
name: Device to notify
description: Device needs to run the official Home Assistant app to receive notifications
selector:
device:
integration: mobile_app
is_ios:
name: Is it an iOS device?
description: Toggle if your selected device runs iOS, default is Android
selector:
boolean:
default: false
notification_title:
name: Notification title (Optional)
description: 'Default: "There is Somebody at the Door!"'
default: "There is Somebody at the Door!"
notification_message:
name: Notification message (Optional)
description: 'Default: "There is Somebody at the Door!"'
default: "There is Somebody at the Door!"
delay:
name: Delay (Optional)
description: Wait before creating camera snapshot
default: ""
selector:
number:
min: 0
max: 60
unit_of_measurement: seconds
mode: slider
source_url: https://gist.github.com/seamus65/cb4b12c076d0383f24d2f567da12e8ee
mode: single
trigger:
- platform: state
entity_id: !input 'doorbell'
from: "off"
to: "on"
variables:
camera: !input camera
notify_device: !input notify_device
is_ios: !input is_ios
notification_title: !input notification_title
notification_message: !input notification_message
delay: !input delay
snapshot_create_file_path: "/config/www/tmp/snapshot_{{ states[camera].object_id }}.jpg"
snapshot_access_file_path: "{{ snapshot_create_file_path | replace('/config/www','/local') }}"
action:
- service: notify.alexa_media
data:
target:
- !input 'echo_device'
message: !input message
data:
type: tts
- delay: "{{ delay }}"
- service: camera.snapshot
entity_id: !input camera
data:
filename: "{{ snapshot_create_file_path }}"
- device_id: !input notify_device
domain: mobile_app
type: notify
title: "{{ notification_title }}"
message: "{{ notification_message }}"
data: >
{% set android_data = {"image": "%s"} | format(snapshot_access_file_path) %}
{% set ios_data = {"attachment": {"url": "%s", "content_type": "JPEG"}} | format(snapshot_access_file_path) %}
{{ ios_data if is_ios else android_data }}