Add some lighting blueprints to mess around with
This commit is contained in:
@ -0,0 +1,297 @@
|
||||
blueprint:
|
||||
name: "\U0001F6AA Contact Sensor Left Open Notification by Malte"
|
||||
description: "\U0001F4F2 Notifies you when a door or window is left open.\n\nAre
|
||||
you tired of worrying about open doors or windows? This blueprint has got you
|
||||
covered! It's designed to send you a prompt notification when a door or window
|
||||
remains open for a specified duration.\n\n\U0001F4D6 For Details see this [Blog
|
||||
post](https://community.home-assistant.io/t/contact-sensor-door-or-window-left-open-notification/652571)\n"
|
||||
domain: automation
|
||||
source_url: https://gist.github.com/Raukze/27fe0c6bf6d91b8ae2ab5e11880509ba
|
||||
input:
|
||||
trigger_entity:
|
||||
name: "\U0001F916 Entity"
|
||||
description: 'The entity that will trigger the automation. This must be a binary
|
||||
sensor or input_boolean. (e.g., binary_sensor.fridge)
|
||||
|
||||
'
|
||||
selector:
|
||||
entity:
|
||||
domain:
|
||||
- binary_sensor
|
||||
- input_boolean
|
||||
multiple: false
|
||||
friendly_name:
|
||||
name: "\U0001F3F7️ Device Friendly Name"
|
||||
description: What should we call the entity in the notification? (e.g. Fridge)
|
||||
default: ''
|
||||
selector:
|
||||
text: {}
|
||||
issue_state:
|
||||
name: ⚠️ Issue State
|
||||
description: 'The state that triggers the automation. Because this is a binary
|
||||
sensor, it can only be on or off. Use the developer tools to find the correct
|
||||
setting.
|
||||
|
||||
'
|
||||
default: 'on'
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- 'on'
|
||||
- 'off'
|
||||
multiple: false
|
||||
sort: false
|
||||
custom_value: false
|
||||
duration_issue_state:
|
||||
name: ⏰ Time before alert
|
||||
description: The amount of time that the device can be in the issue state before
|
||||
an alert is triggered.
|
||||
default:
|
||||
minutes: 10
|
||||
selector:
|
||||
duration:
|
||||
enable_day: true
|
||||
condition_send_notification:
|
||||
name: "\U0001F50D Additional condition"
|
||||
description: Define a condition that is checked after the initial trigger before
|
||||
the notification is sent.
|
||||
default: []
|
||||
selector:
|
||||
condition: {}
|
||||
delete_notification:
|
||||
name: "\U0001F5D1️ Delete notification when not in issue state anymore."
|
||||
description: 'Do you want the notification to be deleted automatically when
|
||||
the device state is not in the issue state anymore.
|
||||
|
||||
'
|
||||
default: true
|
||||
selector:
|
||||
boolean: {}
|
||||
duration_from_issue_state:
|
||||
name: ⏰ Time from issue state before alert removal
|
||||
description: 'The amount of time that the device has not been in the issue state
|
||||
before the alert gets removed.
|
||||
|
||||
'
|
||||
default:
|
||||
seconds: 5
|
||||
selector:
|
||||
duration:
|
||||
enable_day: true
|
||||
notify_services_string:
|
||||
name: "\U0001F4F2 Notify Services"
|
||||
description: 'The service that will be called to deliver the notification. (e.g.,
|
||||
notify.mobile_app_my_phone).
|
||||
|
||||
It also supports multiple services, separated by a comma. (e.g., notify.mobile_app_my_phone,notify.mobile_app_my_spouse_phone).
|
||||
|
||||
'
|
||||
default: notify.mobile_app_<your_device_id_here>
|
||||
selector:
|
||||
text: {}
|
||||
notification_click_url:
|
||||
name: "\U0001F517 Click URL"
|
||||
description: 'Where the user will be taken if they tap the notification. (e.g.,
|
||||
/lovelace/kitchen)
|
||||
|
||||
'
|
||||
default: /lovelace/ROOM
|
||||
selector:
|
||||
text: {}
|
||||
notification_title:
|
||||
name: "\U0001F4E2 Notification Title"
|
||||
description: The title of the notification.
|
||||
default: The {{ friendly_name }} was left open
|
||||
selector:
|
||||
text: {}
|
||||
notification_message:
|
||||
name: "\U0001F4EC Notification Message"
|
||||
description: 'The message of the notification.
|
||||
|
||||
'
|
||||
default: The {{ friendly_name }} was left open at {{ as_timestamp(now()) | timestamp_custom('%T',
|
||||
True) }}.
|
||||
selector:
|
||||
text: {}
|
||||
repeat_notification:
|
||||
name: "\U0001F501 Repeat Notification"
|
||||
description: Whether or not a notification should be repeated after a certain
|
||||
time.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
time_between_repeat_notification:
|
||||
name: ⏳ Time Between Repeat
|
||||
description: Time period after which the repeat notification is triggered.
|
||||
default:
|
||||
minutes: 10
|
||||
selector:
|
||||
duration:
|
||||
enable_day: true
|
||||
notification_icon_warning:
|
||||
name: "\U0001F6A8 Notification Icon (Android Only)"
|
||||
description: 'The icon that is shown when the issue is reported. (e.g., mdi:fridge-alert)
|
||||
|
||||
'
|
||||
default: alert
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- alert
|
||||
- alert-circle
|
||||
- door
|
||||
- door-open
|
||||
- motion-sensor
|
||||
- fridge
|
||||
- fridge-alert
|
||||
- home
|
||||
- home-alert
|
||||
- home-assistant
|
||||
- window-closed
|
||||
- window-open
|
||||
- window-open-variant
|
||||
multiple: false
|
||||
sort: false
|
||||
custom_value: false
|
||||
notification_color:
|
||||
name: "\U0001F308 Notification Color (Android Only)"
|
||||
description: The color of the notification.
|
||||
default: red
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- red
|
||||
- orange
|
||||
- yellow
|
||||
- green
|
||||
- blue
|
||||
- purple
|
||||
multiple: false
|
||||
sort: false
|
||||
custom_value: false
|
||||
notification_persistent:
|
||||
name: "\U0001F4CC Persistent Notification (Android Only)"
|
||||
description: The notification cannot be closed manually.
|
||||
default: false
|
||||
selector:
|
||||
boolean: {}
|
||||
notification_interruption_level:
|
||||
name: "\U0001F514 Interruption Level (iOS Only)"
|
||||
description: 'The intrusiveness of the notification received. This also determines
|
||||
whether the notification will be delivered while the device is in a focus
|
||||
mode.
|
||||
|
||||
'
|
||||
default: active
|
||||
selector:
|
||||
select:
|
||||
options:
|
||||
- passive
|
||||
- active
|
||||
- time-sensitive
|
||||
- critical
|
||||
multiple: false
|
||||
sort: false
|
||||
custom_value: false
|
||||
custom_action_issue_state:
|
||||
name: ⚙️ Custom Action Issue State
|
||||
description: Custom actions that are executed when the device state enters the
|
||||
issue state.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
custom_action_from_issue_state:
|
||||
name: ⚙️ Custom Action From Issue State
|
||||
description: Custom actions that are executed when the device state exits the
|
||||
issue state.
|
||||
default: []
|
||||
selector:
|
||||
action: {}
|
||||
mode: restart
|
||||
max_exceeded: silent
|
||||
variables:
|
||||
friendly_name: !input friendly_name
|
||||
trigger_entity: !input trigger_entity
|
||||
issue_state: !input issue_state
|
||||
duration_issue_state: !input duration_issue_state
|
||||
condition_send_notification: !input condition_send_notification
|
||||
delete_notification: !input delete_notification
|
||||
duration_from_issue_state: !input duration_from_issue_state
|
||||
notify_services_string: !input notify_services_string
|
||||
notification_click_url: !input notification_click_url
|
||||
notification_title: !input notification_title
|
||||
notification_message: !input notification_message
|
||||
repeat_notification: !input repeat_notification
|
||||
time_between_repeat_notification: !input time_between_repeat_notification
|
||||
notification_icon_warning: !input notification_icon_warning
|
||||
notification_color: !input notification_color
|
||||
notification_interruption_level: !input notification_interruption_level
|
||||
custom_action_issue_state: !input custom_action_issue_state
|
||||
custom_action_from_issue_state: !input custom_action_from_issue_state
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: !input trigger_entity
|
||||
to: !input issue_state
|
||||
for: !input duration_issue_state
|
||||
id: send_notification
|
||||
- platform: state
|
||||
entity_id: !input trigger_entity
|
||||
from: !input issue_state
|
||||
for: !input duration_from_issue_state
|
||||
id: delete_notification
|
||||
action:
|
||||
- variables:
|
||||
notify_services_list: '{{ notify_services_string.split('','') }}'
|
||||
number_of_notify_services: '{{ notify_services_list | count }}'
|
||||
notification_tag: '{{ trigger_entity[-20:] }}-{{ friendly_name[-20:] }}-{{ notify_services_string[-20:]
|
||||
}}'
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: send_notification
|
||||
- condition: !input condition_send_notification
|
||||
sequence:
|
||||
- repeat:
|
||||
sequence:
|
||||
- parallel:
|
||||
- repeat:
|
||||
count: '{{ number_of_notify_services }}'
|
||||
sequence:
|
||||
- service: '{{ notify_services_list[repeat.index-1] }}'
|
||||
data:
|
||||
message: !input notification_message
|
||||
title: !input notification_title
|
||||
data:
|
||||
clickAction: !input notification_click_url
|
||||
url: !input notification_click_url
|
||||
tag: '{{ notification_tag }}'
|
||||
color: !input notification_color
|
||||
notification_icon: mdi:{{ notification_icon_warning }}
|
||||
push:
|
||||
interruption-level: !input notification_interruption_level
|
||||
persistent: !input notification_persistent
|
||||
sticky: !input notification_persistent
|
||||
- choose: []
|
||||
default: !input custom_action_issue_state
|
||||
- if:
|
||||
- '{{ repeat_notification }}'
|
||||
then:
|
||||
- delay: '{{ time_between_repeat_notification }}'
|
||||
until:
|
||||
- '{{ not repeat_notification }}'
|
||||
- conditions:
|
||||
- condition: trigger
|
||||
id: delete_notification
|
||||
- '{{ delete_notification }}'
|
||||
sequence:
|
||||
- parallel:
|
||||
- repeat:
|
||||
count: '{{ number_of_notify_services }}'
|
||||
sequence:
|
||||
- service: '{{ notify_services_list[repeat.index-1] }}'
|
||||
data:
|
||||
message: clear_notification
|
||||
data:
|
||||
tag: '{{ notification_tag }}'
|
||||
- choose: []
|
||||
default: !input custom_action_from_issue_state
|
Reference in New Issue
Block a user