-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathactionable-notifications-for-android.yaml
151 lines (142 loc) · 5.29 KB
/
actionable-notifications-for-android.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
blueprint:
name: Send actionable notifications for Android
description: 'Send actionable notifications to an Android device
For each action, you can open an URL, an application on the device or load a lovelace
view/dashboard.
If you plan to use a lovelace view the format would be /lovelace/test where test
is replaced by your defined path in the defined view.
If you plan to use a lovelace dashboard the format would be /lovelace-dashboard/view
where /lovelace-dashboard/ is replaced by your defined dashboard URL
and view is replaced by the defined path within that dashboard.
To pick the application to open, prefix app:// to the the package name.
If the device does not have the application installed then the Home Assistant
application will open to the default page.
If you define an action and an URI for a button, URI will take precedence over
action.
'
domain: automation
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
multiple: false
trigger_entity:
name: Trigger entity
description: Send the notification when this boolean turns on
selector:
entity:
domain:
- input_boolean
multiple: false
notification_title:
name: Notification title (Optional)
description: The title of the notification
default: ''
notification_message:
name: Notification message (Optional)
description: The message of the notification
default: ''
persistent_notification:
name: Create persistent notification?
description: Persistent notifications cannot be dimissed by swiping away
default: false
selector:
boolean: {}
action_1_title:
name: First action name
description: Name of the first button
default: ''
action_1_uri:
name: URI for action 1 (Optional)
description: Optional URI for the first action
default: ''
first_action:
name: Action 1
description: Action to run when the first action is clicked
default: []
selector:
action: {}
action_2_title:
name: Second action name
description: Name of the second button
default: ''
action_2_uri:
name: URI for action 1 (Optional)
description: Optional URI for the second action
default: ''
second_action:
name: Action 2
description: Action to run when the second action is clicked"
default: []
selector:
action: {}
action_3_title:
name: Third action name
description: Name of the third button
default: ''
action_3_uri:
name: URI for action 3 (Optional)
description: Optional URI for the third action
default: ''
third_action:
name: Action 3
description: Action to run when the third action is clicked
default: []
selector:
action: {}
source_url: https://community.home-assistant.io/t/actionable-notifications-for-android/256773
mode: restart
max_exceeded: silent
variables:
notify_device: !input notify_device
trigger_entity: !input trigger_entity
notification_title: !input notification_title
notification_message: !input notification_message
persistent_notification: !input persistent_notification
action_1_title: !input action_1_title
action_1_uri: !input action_1_uri
first_action: !input first_action
action_2_title: !input action_2_title
action_2_uri: !input action_2_uri
second_action: !input second_action
action_3_title: !input action_3_title
action_3_uri: !input action_3_uri
third_action: !input third_action
trigger:
platform: state
entity_id: !input trigger_entity
from: 'off'
to: 'on'
action:
- service: input_boolean.turn_off
entity_id: !input trigger_entity
- domain: mobile_app
type: notify
device_id: !input notify_device
title: '{{ notification_title }}'
message: '{{ notification_message }}'
data:
tag: '{{ notification_title }}'
persistent: '{{ persistent_notification }}'
actions: "{% set titles = [action_1_title, action_2_title, action_3_title] %}
{% set uris = [action_1_uri, action_2_uri, action_3_uri] %} {% set actions =
namespace(data = []) %}\n{% for title in titles %}\n {% if title|length %}\n
\ {% set uri = uris[loop.index - 1] %}\n {% set action_name = \"action\"
+ loop.index|string %}\n {% set action = {\n \"action\": \"URI\" if
uri|length else action_name,\n \"title\": title,\n \"uri\": uri \n
\ }\n %}\n {% set actions.data = actions.data + [action] %}\n {%
endif %}\n{% endfor %} {{ actions.data }}\n"
- wait_for_trigger:
platform: event
event_type: mobile_app_notification_action
- choose:
- conditions: '{{ wait.trigger.event.data.action == ''action1'' }}'
sequence: !input first_action
- conditions: '{{ wait.trigger.event.data.action == ''action2'' }}'
sequence: !input second_action
- conditions: '{{ wait.trigger.event.data.action == ''action3'' }}'
sequence: !input third_action