85 lines
2.5 KiB
YAML
85 lines
2.5 KiB
YAML
blueprint:
|
|
name: Confirmable Notification
|
|
description: >-
|
|
A script that sends an actionable notification with a confirmation before
|
|
running the specified action.
|
|
domain: script
|
|
source_url: https://github.com/home-assistant/core/blob/master/homeassistant/components/script/blueprints/confirmable_notification.yaml
|
|
input:
|
|
notify_device:
|
|
name: Device to notify
|
|
description: Device needs to run the official Home Assistant app to receive notifications.
|
|
selector:
|
|
device:
|
|
integration: mobile_app
|
|
title:
|
|
name: "Title"
|
|
description: "The title of the button shown in the notification."
|
|
default: ""
|
|
selector:
|
|
text:
|
|
message:
|
|
name: "Message"
|
|
description: "The message body"
|
|
selector:
|
|
text:
|
|
confirm_text:
|
|
name: "Confirmation Text"
|
|
description: "Text to show on the confirmation button"
|
|
default: "Confirm"
|
|
selector:
|
|
text:
|
|
confirm_action:
|
|
name: "Confirmation Action"
|
|
description: "Action to run when notification is confirmed"
|
|
default: []
|
|
selector:
|
|
action:
|
|
dismiss_text:
|
|
name: "Dismiss Text"
|
|
description: "Text to show on the dismiss button"
|
|
default: "Dismiss"
|
|
selector:
|
|
text:
|
|
dismiss_action:
|
|
name: "Dismiss Action"
|
|
description: "Action to run when notification is dismissed"
|
|
default: []
|
|
selector:
|
|
action:
|
|
|
|
mode: restart
|
|
|
|
sequence:
|
|
- alias: "Set up variables"
|
|
variables:
|
|
action_confirm: "{{ 'CONFIRM_' ~ context.id }}"
|
|
action_dismiss: "{{ 'DISMISS_' ~ context.id }}"
|
|
- alias: "Send notification"
|
|
domain: mobile_app
|
|
type: notify
|
|
device_id: !input notify_device
|
|
title: !input title
|
|
message: !input message
|
|
data:
|
|
actions:
|
|
- action: "{{ action_confirm }}"
|
|
title: !input confirm_text
|
|
- action: "{{ action_dismiss }}"
|
|
title: !input dismiss_text
|
|
- alias: "Awaiting response"
|
|
wait_for_trigger:
|
|
- platform: event
|
|
event_type: mobile_app_notification_action
|
|
event_data:
|
|
action: "{{ action_confirm }}"
|
|
- platform: event
|
|
event_type: mobile_app_notification_action
|
|
event_data:
|
|
action: "{{ action_dismiss }}"
|
|
- choose:
|
|
- conditions: "{{ wait.trigger.event.data.action == action_confirm }}"
|
|
sequence: !input confirm_action
|
|
- conditions: "{{ wait.trigger.event.data.action == action_dismiss }}"
|
|
sequence: !input dismiss_action
|