📆 Calendar Notifications & Actions

@TheS1ngularity

Yes, blueprints are shared by the community. We don’t work for Home Assistant it is all done in your spare time. I use all of these blueprints in my Home assistant and I share it with the community for free so that it may help someone set up their HA. You have to check in and see if there is an updated version and you can do this with my blueprints by looking at the version number. I also post what has changed and if you need to do anything, all the links are in the chaggelog in the top post. The link to this topic is in the blueprint at the top so you can check in easily to see what is going on.

A new Version 1.6 is just about to be release so check it out and update it if you like.

Blacky :smiley:

1 Like

FAQ - A Guide to Notification Options on iOS and Android Devices

:apple: iOS ONLY OPTIONS

What are Notification Interruption Levels on iOS?

On devices running iOS 15 and later, you can configure the interruption level for your notifications to ensure they are delivered according to your preferences. This feature allows you to choose how notifications are presented and how they interrupt your activities.

Interruption level Breaks through Focus Overrides Ring/Silent switch on iPhone and iPad
Default No No
Critical Notification Yes Yes
Time Sensitive Notification Yes - Must be enabled in focus No
Quiet notifications without waking screen No No

Notification Sound - iOS Only

The Home Assistant app for iOS includes built-in notification sounds, and you can import sounds from your iOS device into the app. Custom sounds can also be added via iTunes or from your cloud storage.

:warning: Note: In the blueprint, make sure to enter the full filename (including the file extension) in the Notification Sound (iOS Only) input, as shown below. If left blank, your device will play the default notification sound based on its settings.

  • Built-in Notification Sounds:

    1. In the Home Assistant app, depending on your access you have 2 options, go to
      • Settings > Companion App > Notifications > Sounds.
      • App Configuration > Notifications > Sounds.
    2. Tap the Bundled tab.
  • iOS Device Sounds:

    1. In the Home Assistant app, depending on your access you have 2 options, go to
      • Settings > Companion App > Notifications > Sounds.
      • App Configuration > Notifications > Sounds.
    2. Tap the System tab, then Import system sounds.
    3. Wait for the sounds to load and restart your device.
  • Via iTunes:

    1. Connect your device and open iTunes.
    2. Select your device and go to File Sharing.
    3. Choose Home Assistant and add your WAV files (formatted as 32-bit float 48000Hz).
    4. Click Sync and disconnect the device.
    5. In the Home Assistant app, depending on your access you have 2 options, go to
      • Settings > Companion App > Notifications > Sounds.
      • App Configuration > Notifications > Sounds.
    6. Tap the Import tab and select Import sounds from iTunes File Sharing.
  • Via Cloud Storage:

    1. Install and log in to your cloud storage app (e.g., Dropbox, Google Drive).
    2. Upload your WAV files (formatted as 32-bit float 48000Hz) to the cloud.
    3. In the Home Assistant app, depending on your access you have 2 options, go to
      • Settings > Companion App > Notifications > Sounds.
      • App Configuration > Notifications > Sounds.
    4. Tap the Import tab, select Import custom sound, choose your files, and tap Done.
    5. Restart your device if needed.

:robot: ANDROID ONLY OPTIONS

What are High Priority Notifications?

Notifications will appear immediately in most cases. However, in some cases (such as when the phone is stationary or when the screen has been turned off for a prolonged period of time), default notifications will not ring the phone until the screen is turned on. High priority notifications are designed to alert you to important events or updates that require your immediate attention, ensuring they are received promptly even in these situations.

What are Sticky Notifications?

Sticky notifications are a type of notification that remain on your device’s notification shade until they are manually dismissed by the user. Unlike regular notifications, which can disappear when they are tapped, sticky notifications ensure that important messages are persistently visible until you actively clear or swipe them away, ensuring that critical information stays visible until addressed.

Notification Channels

What are Notification Channels?

Notification channels are a feature for Android devices only. They allow you to categorize notifications, making it easier to manage and prioritize them. Each channel can have its own settings, such as notification style, sound, vibration, blink light, app icon badges, locked screen, and do not disturb, ensuring that you receive notifications in the manner most appropriate for each type of notification you receive.

How Do I Create a Notification Channel?

Before creating channels, it is best to consider what channels you would like to have for your notifications. This will help you structure it correctly, as once you create a channel, it can be removed but will never be deleted unless you reset your app. Taking the time to consider how you would like it structured will help you in the long run.

Some ideas for a channel structure are as follows:

You could just set the notification type. Emergency, General Notification, Dinner Ready, Time for Bed, Appliance Finished, etc.

Or maybe something like this.

  1. Critical
  • Sound and pop-up.
  • Vibrate.
  • Blink light.
  • Locked screen.
  • Ignore Do Not Disturb.
  • Description : Notifications for emergency situations (e.g., fire alarm, flood alert, smoke detector, carbon monoxide detector, security breaches).
  1. High
  • Sound and pop-up.
  • Vibrate.
  • Locked screen.
  • Ignore Do Not Disturb.
  • Description : Notifications for reminders (e.g., upcoming appointment, power outage, rubbish reminder).
  1. General (Default)
  • Sound.
  • Vibrate.
  • Description : Notifications for general updates (e.g., appliance finished, battery low).
  1. Low
  • Silent.
  • Vibrate.
  • Description : Notifications for less critical updates (e.g., appliance started, unavailable sensor, battery low).
  1. Minimal
  • Silent and minimized.
  • Description : Notifications for non-urgent updates (e.g., reminder, Home Assistant update avalible).

To create a new channel, simply enter a name in the input. When your automation sends the first notification, it will create the channel on your device. After the channel is created, you can customize its notification settings to your preference directly on your device.

How Do I Edit a Notification Channel?

There are a few ways to do this:

  1. On your device, go into Settings > Notifications > Home Assistant and you will see categories. These are your channels. Select the one you would like to customize and make your adjustments.
  2. When a notification is received, slowly slide it to the left and you will see a settings icon. Click on it, and it will take you to categories. These are your channels. Select the one you would like to customize and make your adjustments.

How Do I Delete a Notification Channel?

I have a blueprint that will help you remove a notification channel. See link below.

:robot: Android Notification Channel Manager

Hope this helps to explain some of the settings :face_with_monocle:

Enjoy

Blacky :smiley:

Back to FAQ: Click Here

New Update 1.6

In this update, we focus solely on notification delivery options for iOS and Android.

:warning: Previously, if you selected an Android device, Sticky Notification was automatically included by default, with no option to disable it. Now, you have the flexibility to enable or disable this feature. If you wish to maintain the previous behavior, please ensure that the Sticky Notification option is enabled in both the start and end notify settings.

:apple: New Feature For iOS

  • Interruption Level - On devices running iOS 15 and later, you can now configure the interruption level for your notifications to ensure they are delivered according to your preferences. Choose the desired interruption level from the dropdown list. Critical and time-sensitive notifications must be turned ON within the Home Assistant App, and time-sensitive notifications must be allowed in your Focus settings.

:robot: New Feature For Android

  • High Priority notifications ensure that you receive important alerts immediately. These notifications bypass normal delivery delays and are delivered instantly to your device.

  • Sticky Notification ensure that important alerts are not dismissed when selected. They remain on your notification screen until you actively clear or swipe them away, ensuring that critical information stays visible until addressed.

  • Notification Channel allow you to easily organize different notification settings, including notification sounds, vibrations, and other device-specific features. Before crating a channel make sure you understand them and how they work. I have a FAQ that has information on channels, click here.

:toolbox: Maintenance

  • Clean up of some code :broom:

:rocket: Performance Upgrade

  • Some performance enhancements.

If you like this blueprint? Consider hitting the :heart: button in the top post :+1:

If you like my blueprints, and would like to show your support or just say thank you? Click Here :smiling_face_with_three_hearts:

Enjoy

Blacky :grinning:

1 Like

First, thanks for the work you’ve put into this blueprint. This will be perfect for our family calendar. I have a question, can multiple trigger words be added to one event separated by a semicolon or something? Also can there be multiple calendar offsets with one trigger or will I have to setup multiple instances? For example if I want to be notified of upcoming bithdays one week ahead and then one day, will I need to set this up twice or can I add multiple offsets for one event?

@s8v4o

Welcome to the community.

I have an updated blueprint and I will push it out now.

In this blueprint, there are two triggers: one for the start and one for the end of the event. You can set offsets for these triggers. For example, if an event is from 11 AM to 2 PM, or an all-day event from 12 AM to 12 AM the next day, you can set notifications based on your preferences. For an all-day birthday calendar event notification 7 days before at 12 PM, use a start offset of -6 days -12 hours. For a notification the day before at 12 PM, use an end offset of -1 day -12 hours. You will now be notified 7 days before and also 1 day before.

Hope this helps you and stay tuned for the update to allow multiple keywords.

Let us know how you go.

Blacky :smiley:

New Update 1.7

:new: Upgrade Features

  • Multiple Keywords - Added ability to use multiple keywords. You can now input a single keyword or, for multiple keywords, use a comma-separated list (e.g., @bins or #bins) or for multiple keywords (e.g., @bins, @rubbish).

  • Same Time Events - The automation will now send all calendar events if scheduled for the same time.

Maintenance :toolbox:

  • We have updated input descriptions to better help understand what they do.
  • Updated descriptions warnings that may prevent the automation from functioning correctly and could result in not receiving the notification.

If you like this blueprint? Consider hitting the :heart: button in the top post :+1:

If you like my blueprints, and would like to show your support or just say thank you? Click Here :smiling_face_with_three_hearts:

Enjoy

Blacky :grinning:

Amazing improvements! Thank you so much for continuing to enhance this blueprint!

Any thoughts on how I could get multiple notifications to work? I have birthdays pulled in from my Google calendar… It works perfectly until there are 2 birthdays in the same day. It will only send one notification.

@VT_HomeAssistant

Already done in this update :wink:

Blacky :smiley:

1 Like

Oh my gosh, that’s incredible… Thank you so much!

1 Like

hi

woud like to know I follow all the instruction however there is no button for me to cancel either comfirm. would like to know where should I set it up right to see the button in IOS system

thanks a lot

@rayhongw

Welcome to the community.

I not sure if you set it up correctly but if you have when you get the message on your iOS device then you need to tap and hold the message then the buttons appear. With iOS you have one shot at doing it or the message will disappear… there is nothing I can do about that it is iOS.

If this doesn’t work then could you please provide us your YAML of the automation? This YAML code are the settings you have selected in the automation so I can help. To do this go into your automation, top right 3 dots, Edit in YAML, copy all the code, come back to the forum and in your reply at the top tool bar click on “</>” and paste code in there.

Blacky :smiley:

hihi

here is the code. eveything show up in ios now. however it pick up the notification eveyday even there is no event on that date. Can you help me to check anything goes wrong?

thanks

alias: home/recycle
description: “”
use_blueprint:
path: Blackshome/calendar-notifications-and-actions.yaml
input:
calendar: calendar.calendar
calendar_trigger: “#recycle
start_calendar_offset:
hours: -9
minutes: 0
seconds: 0
days: 0
end_calendar_offset:
hours: -10
minutes: 0
seconds: 0
days: 0
include_start_notify: enable_start_notify_options
start_notify_device:
- 35c3e10ea63a245c18c7b6b2da353676
- 23e08b88422496c13e1fd08a2ada308a
- 837c45b30d98541be1a4bfa0f27acfff
- fe75248c319cbebd6c27c77b3ab99179
- 6506c80b6511647e8b3f7230fcb8d830
- 9488f255ec7a3409f02d73278b7e8cee
- b95d940fbbe15511d33082afa051b520
start_message: 記得要去丟回收
include_start_action_buttons:
- enable_start_action_button_1
start_action_button_1: 有人整理回收了嗎?
start_action_button_stop: 已經有人去整理回收,準備要丟。
start_time_delay:
hours: 0
minutes: 13
seconds: 0
include_start_action_button_confirmation: enable_start_action_button_confirmation
start_action_button_confirmation_title: “{{ trigger.calendar_event.summary }}”
start_time_delay_confirmation_message: 回收車在5分鐘後到,記得丟回收
start_action_button_confirmation_message: 回收整理完畢

Can you re post your YAML again and this time use the ‘</>’ button just above where you type. Paste your code in there and it will keep the correct format for me.

Blacky :smiley:

sorry my bad

here comes the right fromat

alias: home/recycle
description: ""
use_blueprint:
  path: Blackshome/calendar-notifications-and-actions.yaml
  input:
    calendar: calendar.bin_recycle
    calendar_trigger: "#recycle"
    start_calendar_offset:
      hours: -9
      minutes: 0
      seconds: 0
      days: 0
    end_calendar_offset:
      hours: -10
      minutes: 0
      seconds: 0
      days: 0
    include_start_notify: enable_start_notify_options
    start_notify_device:
      - 35c3e10ea63a245c18c7b6b2da353676
      - 23e08b88422496c13e1fd08a2ada308a
      - 837c45b30d98541be1a4bfa0f27acfff
      - fe75248c319cbebd6c27c77b3ab99179
      - 6506c80b6511647e8b3f7230fcb8d830
      - 9488f255ec7a3409f02d73278b7e8cee
      - b95d940fbbe15511d33082afa051b520
    start_message: 記得要去丟回收
    include_start_action_buttons:
      - enable_start_action_button_1
    start_action_button_1: 有人整理回收了嗎?
    start_action_button_stop: 已經有人去整理回收,準備要丟。
    start_time_delay:
      hours: 0
      minutes: 13
      seconds: 0
    include_start_action_button_confirmation: enable_start_action_button_confirmation
    start_action_button_confirmation_title: "{{ trigger.calendar_event.summary }}"
    start_time_delay_confirmation_message: 回收車在5分鐘後到,記得丟回收
    start_action_button_confirmation_message: 回收整理完畢

thanks a lot

@rayhongw

That’s better… thanks.

Looking at it you have an offset of -9 for the start… so if you are using an all day event the event starts at 12am and finishes at 12am there are 24 hrs between these times… it is hard to get your head around and it always get me to. So say your all day event is on the 10th then a start offset of -9 will send you a notification on the 9th at 3pm. You have -10 for the end so your notification will be on the 10th at 2pm but it is not enabled so nothing will be sent just trying to explain how it works. If you would like to be notified on the day then you are probably looking for an offset of start 15 then you will get notified on the 10th at 3pm.

Only events with #recycle will be sent.

Hope this helps you… let us know how you go.

Blacky :smiley:

thanks mate
u r legend!!! i think the reason why is I set the time wrong, thats the reason why notification wasnt match the calender event. also i hav work out how ios system buttom workes

thanks for your instruction.

1 Like

@rayhongw

Your welcome thanks for letting us know.

Blacky :smiley:

I thought I’d followed the FAQ correctly but if I set an event to trigger I get the following in the trace…

Triggered by the at September 14, 2024 at 10:20:00 AM

Test Test if any of 2 conditions matches

Stopped because a condition failed at September 14, 2024 at 10:20:00 AM (runtime: 0.00 seconds)

From the yaml below…

alias: Buy chocolate test
description: ""
use_blueprint:
  path: Blackshome/calendar-notifications-and-actions.yaml
  input:
    calendar: calendar.our_home
    calendar_trigger: "@chocolate"
    start_notify_device:
      - 36ff6a484fec01e6472723975767b91d
      - 061bd4452a970d75aaef51342351da1a
      - 2aa26a308b387c602f886b697ee2b7e9
    start_notify_data:
      - high_priority
    include_start_action_buttons:
      - enable_start_action_button_1
    start_action_button_1: Bought some
    include_start_action_button_confirmation: enable_start_action_button_confirmation
    start_action_button_confirmation_title: Bought
    start_action_button_confirmation_message: Bought
    start_action_button_stop_confirmation_message: Not bought
    start_time_delay_confirmation_message: too late

Can anyone suggest what condition may have failed?

@reg.phenna

I have had a look at your YAML.

First you need to enable the start notify option as shown below.

Next your need to put some text in the cancel button as shown below.

You should be all good to go, make the changes and test it out… let us know how you go.

Blacky :smiley:

1 Like

Hi, if I have more than one calendar at the same time, the HA app will show only one notification. It will not stack them. If I set them up with 1 min apart, then will work fine and will stack them fine. Is the issue with the blueprint or the app?