Files
haos-blueprints/Common/Periodic Notification/README.md
alexei.dolgolyov 5da986867d Add Periodic Notification blueprint
Sends notifications at specified times every N days when a control
flag is enabled. Supports multiple notification targets, flexible
time scheduling, and optional day interval with configurable start date.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 03:41:35 +03:00

54 lines
2.0 KiB
Markdown

# Periodic Notification
Sends notifications at specified times on a repeating day schedule, controlled by a toggle entity.
## Features
- Multiple notification targets (notify entities)
- Customizable multiline message
- Flexible time schedule (multiple times per day)
- Configurable day interval (every N days)
- On/off control via input_boolean or switch entity
## How It Works
1. The automation triggers at each configured notification time (checked every minute)
2. It verifies the control flag entity is ON
3. It calculates whether today falls on the correct day in the interval cycle, counting from the configured start date
4. If all conditions pass, the message is sent to all notification targets
### Day Interval Calculation
The day interval uses a **start date** as a reference point. Notifications fire every N days from that date. For example, with a start date of January 1 and a 3-day interval, notifications fire on January 1, 4, 7, 10, and so on.
If no start date is set, the day interval is ignored and notifications are sent every day at the configured times.
Setting the day interval to **1** sends notifications every day.
## Configuration
| Input | Description |
|---|---|
| **Notification Targets** | One or more `notify` entities (e.g., `notify.mobile_app_phone`) |
| **Message** | The notification text to send (supports multiline) |
| **Notification Times** | Comma-separated times in 24-hour `HH:MM` format (e.g., `08:00, 14:30, 20:00`) |
| **Day Interval** | Number of days between notification cycles (1 = daily) |
| **Start Date** | Reference date for the interval calculation (optional — leave empty to send every day) |
| **Control Flag** | `input_boolean` or `switch` entity to enable/disable notifications |
### Time Format
Times must use 24-hour format with leading zeros:
- `08:00` (not `8:00`)
- `14:30`
- `20:00`
### Debug Mode
Set the `is_debug` variable to `true` in the automation YAML to enable persistent notification logging for troubleshooting.
## Author
Alexei Dolgolyov (dolgolyov.alexei@gmail.com)