Last active
February 24, 2024 12:27
-
-
Save SCCMOG/55fd6c24a350e907ed5e0a0b0e5346cc to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
blueprint: | |
name: Advanced medication reminder ios | |
description: Get advanced notification and history for medication reminder | |
domain: automation | |
input: | |
reminder_time: | |
name: Reminder time | |
description: At what time do you want to be reminded | |
selector: | |
time: {} | |
notify_device: | |
name: Notification | |
description: Device needs to run the official Home Assistant app to receive | |
notifications | |
selector: | |
device: | |
integration: mobile_app | |
multiple: false | |
input_boolean: | |
name: Dedicated input_boolean | |
description: Create and set here a input_boolean to handle history and state | |
of the automation | |
selector: | |
entity: | |
domain: input_boolean | |
multiple: false | |
notification_title: | |
name: Notification title (Optional) | |
description: 'Default: Medication reminder' | |
default: Medication reminder! | |
notification_message: | |
name: Notification message (Optional) | |
description: 'Default: It''s time to take your medication' | |
default: It's time to take your medication | |
notification_action_taken: | |
name: 'Notification action: Taken (Optional)' | |
description: 'Default: Taken' | |
default: Taken | |
notification_action_later: | |
name: 'Notification action: Ask later (Optional)' | |
description: 'Default: Ask later' | |
default: Ask later | |
notification_action_skip: | |
name: 'Notification action: Skip (Optional)' | |
description: 'Default: Skip' | |
default: Skip | |
ask_later_wait_time: | |
name: Wait time before next reminder | |
description: Minutes before notify again after a Ask later action. | |
default: 30 | |
selector: | |
number: | |
min: 5.0 | |
max: 1440.0 | |
unit_of_measurement: minutes | |
step: 1.0 | |
mode: slider | |
logbook_message_remind: | |
name: Logbook message for remind (Optional) | |
description: 'Default: Reminder sent' | |
default: Reminder sent | |
logbook_message_taken: | |
name: Logbook message for action Taken (Optional) | |
description: 'Default: Medication taken' | |
default: Medication taken | |
logbook_message_later: | |
name: Logbook message for action Ask later (Optional) | |
description: 'Default: Postpone reminder' | |
default: Postpone reminder | |
logbook_message_skip: | |
name: Logbook message for action Skip (Optional) | |
description: 'Default: Reminder skipped' | |
default: Reminder skipped | |
logbook_message_no_answer: | |
name: Logbook message for no action after timeout (Optional) | |
description: 'Default: No answer time out' | |
default: No answer time out | |
optional_action: | |
name: Optional action | |
description: Run an action like notify a speaker at the same time that the mobile | |
notification | |
selector: | |
action: {} | |
default: [] | |
trigger: | |
- platform: time | |
at: !input reminder_time | |
mode: restart | |
action: | |
- service: input_boolean.turn_off | |
target: | |
entity_id: !input input_boolean | |
- alias: Notify until the medication has been take | |
repeat: | |
while: | |
- condition: state | |
entity_id: !input input_boolean | |
state: 'off' | |
sequence: | |
- service: logbook.log | |
data: | |
name: !input notification_title | |
message: !input logbook_message_remind | |
entity_id: !input input_boolean | |
- choose: | |
- conditions: '{{ true }}' | |
sequence: !input optional_action | |
- device_id: !input notify_device | |
domain: mobile_app | |
type: notify | |
title: !input notification_title | |
message: !input notification_message | |
data: | |
actions: | |
- title: !input notification_action_taken | |
action: taken | |
- title: !input notification_action_later | |
action: later | |
- title: !input notification_action_skip | |
action: skip | |
tag: !input input_boolean | |
- wait_for_trigger: | |
platform: event | |
event_type: ios.notification_action_fired | |
event_data: {} | |
timeout: | |
minutes: !input "ask_later_wait_time" | |
- choose: | |
- conditions: "{{ wait.trigger.event.data.actionName == 'taken' }}" | |
sequence: | |
- service: input_boolean.turn_on | |
target: | |
entity_id: !input "input_boolean" | |
- service: logbook.log | |
data: | |
name: !input "notification_title" | |
message: !input "logbook_message_taken" | |
entity_id: !input "input_boolean" | |
- conditions: "{{ wait.trigger.event.data.actionName == 'later' }}" | |
sequence: | |
- service: logbook.log | |
data: | |
name: !input "notification_title" | |
message: !input "logbook_message_later" | |
entity_id: !input "input_boolean" | |
- delay: | |
minutes: !input "ask_later_wait_time" | |
- conditions: "{{ wait.trigger.event.data.actionName == 'skip' }}" | |
sequence: | |
- service: input_boolean.turn_on | |
target: | |
entity_id: !input "input_boolean" | |
- service: logbook.log | |
data: | |
name: !input "notification_title" | |
message: !input "logbook_message_skip" | |
entity_id: !input "input_boolean" | |
default: | |
- device_id: !input notify_device | |
domain: mobile_app | |
type: notify | |
message: clear_notification | |
data: | |
tag: !input input_boolean | |
- service: logbook.log | |
data: | |
name: !input notification_title | |
message: !input logbook_message_no_answer | |
entity_id: !input input_boolean |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment