Alert - Create a dismissible repeating alert based on an entity's state

Alert - Create a dismissible repeating alert based on an entity’s state

About

When I started using Home Assistant I was a huge fan of the Alert Integration. But this integration requires YAML to setup and a Home Assistant restart every time you make a change. I looked for a blueprint to replace the functionality of the Alert Integration and had trouble finding something that matched what I wanted to do. This blueprint allows you to send alerts via the Home Assistant companion app with some convenient options. Additionally, with a related blueprint noted below, you can light up a color light (such as the Home Assistant Voice Preview light ring) based on the alerts severity. Please enjoy and feedback is always welcome!

Version: 1.5

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Requirements

  • Home Assistant Minimum Version: 2024.6.0
  • Home Assistant Companion App

What’s New

  • Alert and Clear Actions: Set custom actions to be executed when the alert triggers or clears
  • Idle Notification: Option to send a notification when the alert changes to idle
  • Recover from Automation Reload: Alerts can now recover from automation reloads
  • Recovery Options: Recovery from Home Assistant restart and automation reloads are now optional. (Default: Enabled) Additionally, set how alert automations behave on recovery.

Features

  • Repeating Alerts: Notifications repeat at user-defined intervals until the condition resolves or the alert is dismissed (long-press on iOS to dismiss)
  • Idle Notification: Option to send a notification when the alert changes to idle
  • Alert and Clear Actions: Set custom actions to be executed when the alert triggers or clears
  • Auto-Recovery: Alerts automatically resume after Home Assistant restarts or automations reload (30-second delay ensures all entities are ready)
  • Smart Cleanup: Notifications are automatically dismissed when the alert condition clears (If not using idle notifications)
  • Critical Notifications: Support for iOS and Android critical alerts that bypass Do Not Disturb
  • Location-Based Alerts: Only receive notifications when you’re at specific locations (e.g., home, away)
  • Time Windows: Restrict notifications to specific hours of the day
  • Visual Indicators: Pair with the Alert Light blueprint to control colored lights based on severity
  • Ask Assist to Read Active Alerts: Pair with the Voice Alert Summary blueprint to read out active alerts

Related Blueprints

  • Alert Light - Change a light color and brightness based on alert severity level
    Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.
  • Voice Alert Summary - Read active alerts via voice using local TTS or AI-generated summaries
    Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Change Log

Version Date Notes
1.1 11/04/2025 Critical Notifications for Android: Added the option to select a critical notification profile for android using the Alarm Stream.
1.2 11/09/2025 Bug Fix: Fixed an issue where alert severity counter could be decremented prematurely. This required reworking the sequence of the automation. The new sequence is much cleaner.
1.3 11/09/2025 Bug Fix: Fixed an issue where alerts would not clear if the entity transitioned through intermediate states (e.g., alert → unknown → idle) instead of directly from alert to idle state.
1.4 11/10/2025 Bug Fix: Fixed an issue where the initial delay was not being honored on restart recovery.
1.5 11/14/2025 Alert and Clear Actions: Set custom actions to be executed when the alert triggers or clears. Idle Notification: Option to send a notification when the alert changes to idle. Recover from Automation Reload: Alerts can now recover from automation reloads. Recovery Options: Recovery from Home Assistant restart and automation reloads are now optional. (Default: Enabled) Additionally, set how alert automations behave on recovery.
1 Like

Version 1.1 Now Available:

What’s New

  • Critical Notifications for Android: Added the option to select a critical notification profile for android using the Alarm Stream.

Version 1.2 Now Available:

What’s New

  • Bug Fix: Fixed an issue where alert severity counter could be decremented prematurely. This required reworking the sequence of the automation. The new sequence is much cleaner.

Can you post some screenshots according what this does exactly or what the result is of this blueprint?

Sure thing, I will post shortly.

Use Case

Wet Basement Alert

Receive a repeating notification when the basement has a leak and optionally turn on a light to indicate that there is an alert.

Requirements

Setup

  1. In the Alert Entity field, select the water leak sensor for the basement.
  2. In the Alert State field, enter ‘on’. Since this is a binary sensor, the sensor is ‘on’ when water is detected.
  3. In the Idle State field, enter ‘off’. Technically we could just leave this field blank, then any state other than the alert state would stop the alert. But in this case, we want a positive indication that water is no longer detected.
  4. In the Initial Delay field, enter 1 minute. This will act as a debounce to prevent rapidly repeating alerts as the water sensor dries.
  5. In the Notification Device field, select your mobile device.
  6. In the Notification Title field, enter Alert! or whatever you’d like.
  7. In the Notification Message field, enter There is a water leak in the basement! or what ever you’d like.
  8. In the Unique Action ID field, enter basement_water_leak. This value just needs to be unique from every other alert.
  9. In the Repeat Delay field, enter 1 hour
  10. For Critical Notification Profile, select the appropriate platform. For me, that’s iPhone.
  11. For Volume, 0.5 is not too quiet but not too loud.
  12. In the Severity Level Counter field, select your High Alert Counter. This is optional and requires the Alert Light blueprint.

What Will Happen?

Hopefully nothing! Nobody wants a wet basement.

The water leak sensor changes to ‘on’ and stays on for 1 minute:

  1. The alert automation triggers.

  2. The severity level counter is incremented, turning on the light specified in the Alert Light blueprint.

  3. Since we did not set up a zone or a time window, a notification is sent to your phone immediately and bypasses Do Not Disturb.

  4. The automation now enters into a waiting period for 1 hour and will wait there unless the water sensor reports ‘off’ or the alert is dismissed from the notification.

  5. Let’s say 1 hour passes: another notification is sent to your phone.

  6. If you want to dismiss the alert, you can long press on the notification and select dismiss.

  7. If you dismiss the alert or the water sensor reports ‘off’, then the severity level counter is decremented and the automation stops.

Home Assistant starts up and 30 seconds have passed

  1. The alert automation triggers.
  2. It checks if the water leak sensor is ‘on’. If it is, it sends a notification and enters the wait loop.

@stefan1982, hope this helps!

1 Like

does this mean the BP’s automation will run automatically after ever every reboot to check if there are any alerts still needed to be sent/repeated?

Correct, but this also honors the Initial Delay setting. So if you have an initial delay of 30 minutes, then upon restart, the automation will wait the default 30 seconds, and then, if the alert entity is in the alert state it will wait to see if it is in that state for 30 minutes. This is to prevent false positives for alerts requiring an initial delay.

I use this for my refrigerator door sensor. Only if the refrigerator door is open for more than five minutes should it ever alert.

Version 1.3 Now Available:

What’s New

  • Bug Fix: Fixed an issue where alerts would not clear if the entity transitioned through intermediate states (e.g., alert → unknown → idle) instead of directly from alert to idle state.

got it, thanks. I’m looking at your BP since it has more features than mine forum link GIST link
My BP does not use helpers. I like not using them unless I need to to cross reboots - which is rarely needed unless someone has a very long (many hours or days) repeat cycle.

Next I was going to add Light alerts to my BP since I prefer to have a single, complete alert, in a single complete Automation. This helps with administration and not splintering related actions.

LMK if you’d consider allowing for non-Helper repeats and integrating the Lights automation into the main Alert BP.

@Ltek, first of all I need to say thank you, I did some testing for my reboot recovery and found a bug regarding the initial delay. I will work on that this week. For most use cases the bug does not really affect functionality.

As for using helpers, that is only needed if also using the alert light blueprint. If not you can leave the Severity Level Counter blank. Repeats are completely self contained and do not require a helper.

I’ve separated the alert light into its own automation because alerts operate independently and aren’t aware of each other’s states precisely because they do not require helpers. For example, if you have two active alerts with built-in light control, when one alert resolves, it will immediately turn off the light—even though the second alert is still active. By centralizing the light control in a dedicated automation, it can monitor all alerts simultaneously and only turn off the light when all alerts have been resolved.

That said, my initial go at the alert light actually used tags as apposed to helpers, but I found it to be supper buggy. I am also open to new ideas of how we can achieve the same functionality without helpers.

I understand what you mean on the Light Alert but a few thoughts/questions…

How many light alerts are you really using at one time? If you have a lot, why are you using lights and not something far more targeted and detailed, like phone alerts.

I dont really see an issue with Light Alerts stepping on each other. One time and also Repeating alerts should be fine either way…

One time Alert :: action happens, new values override the repeating alert
-then-
Repeating Alert :: starts (or restarts on the next interval) *no issue that I see?
-and or-
see my note about creating scenes on the fly – which you could do during the one-time alerts to ensure the prior lights are restored

If you have alerts for different locations of the house, they ‘mostly’ will not step on each other.

The exception ‘might’ be critical / security alerts, which you should want the Critical Alert to overrides anything else and in that case it should repeat continuously anyway… say every second. In this case you might want a Helper to denote if a critical alert has occurred and use that Helper as a “bypass” for the non-critical alert automations. I use “bypass Helpers” (Booleans / Toggles) for my motion sensor automations for when I want to stop alerts due to weather causing constant triggers, a door is purposefully left open, etc.

If you want, you could add an option to create a Scene on the fly, and revert to it after the alert is complete. It basically saves light states prior to making the change, then you can recall that scene (all those states) at anytime.

simple example using static info but you could easily populate the scene on the fly with whatever entities being used in the automation.

action:
  - if: "{{ trigger.to_state.state == 'off' }}"
    then:
      - service: scene.create
        data:
          scene_id: automated_office_state_lights
          snapshot_entities:
            - light.office_main_lights
            - light.office_floor_lamp
            - light.office_table_lamp
      - service: light.turn_off
        target:
          entity_id:
            - light.office_main_lights
            - light.office_floor_lamp
            - light.office_table_lamp
    else:
      - service: scene.turn_on
        target:
          entity_id: >
            scene.{{ 'automated_office_state_lights' if states.scene.automated_office_state_lights.state is defined else 'office_working' }}
mode: single

Great questions! For me, my Alert Light is all the Home Assistant Voice PE’s in the house. And there can be multiple alerts per day. Here’s a run down of a typical Saturday:

8:00am - if the lizard enclosure has not been opened that day, activate the Lizards have not been feed alert. Send notification to my youngest son as it’s his job, HA voices light up yellow as it is a medium alert.

10:00am - if trash cans are not at the curb active take out trash cans alert. Would normally light up green because it is a low alert, but there is a medium alert active, so no charge there. I get a notification on my phone.

11:00am rolls around, I see that the HA Voice light is yellow and ask “what’s up”, it reads out the alerts and I tell my son to feed the lizards.

11:15am - my son feeds the lizards and that alert is no longer active, the HA voice light turns green because there is still an active low alert.

12:00pm - the washer has been finished for more then 30 minutes but the door has not been opened, the Wet Clothes In Washer alert is now active, the alert light is already green so no change. My spouse and I get an notification if we are home.

12:30pm - My spouse moves over the laundry, alert is no longer active, the alert light stays green as there is still a low alert active.

1:00pm - I stop being lazy and take down the trash cans. The alert is no longer active and the lights on the HA voices turn off.

3 of 4 members of my household have ADHD and this automation set has made a huge impact on us getting these common tasks done in a timely manner.

All that said, I think I have a resolution for your use case. I was planning on adding a custom actions section for when an alert activates and when an alert goes idle. This would allow anyone to add whatever custom actions they would like. Thoughts?

I dont see myself using a generic ‘custom action’ since I have more complex lighting notifications/alerts already created using a blueprint so I’ll keep what I have. For you seems the voice is what matters most, not the lights. I use lighting in a more targeted way:

I also separate the terms Alerts, Alarms, and Notifications…
Notifications = normal information (phone notifications or Alexa announcements)
Alerts / Alarms = important or critical (water leak, alarm triggered, etc)

any may have lights associated; most do not but some do, like…

Notification - informational, no action needed (many have phone notifications)
Person Location change, etc

Alert - something happening needs attention (all have phone notifications)
Driveway motion = office RGB light flash yellow 3 times
Entry Motion = office RGB light flash red 3 times (Alexa announces)

Alarm - urgent, critical, or emergency (Alexa announces + phone notifications)
Water Leak = all house RGB lights stay on and flash Blue 2 times every 2 minutes
Security Alarm was triggered when in Away mode = all house RGB turn Yellow and stay on (no flashing)
Fire/Smoke Alarm triggered = all house RGB turn Red and flash 3 times every 10 seconds

That 100% makes sense, I really appreciate your perspective!

Version 1.4 Now Available:

What’s New

  • Bug Fix: Fixed an issue where the initial delay was not being honored on restart recovery.

Version 1.5 Now Available:

What’s New

  • Alert and Clear Actions: Set custom actions to be executed when the alert triggers or clears
  • Idle Notification: Option to send a notification when the alert changes to idle
  • Recover from Automation Reload: Alerts can now recover from automation reloads
  • Recovery Options: Recovery from Home Assistant restart and automation reloads are now optional. (Default: Enabled) Additionally, set how alert automations behave on recovery.

Notes

Hey all, I’m happy to bring some new features to this Blueprint. Most notably, custom actions. I’m currently using custom actions to shut off my water heater valve if a leak is detected and boost my basement dehumidifier if the humidity sensor on the other side of the basement reads too high. This was of course easy enough to do with an additional automation, but it’s nice to have it all in one place. Thanks for trying out this Blueprint, I would love to hear what you all are doing with it!