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>
This commit is contained in:
53
Common/Periodic Notification/README.md
Normal file
53
Common/Periodic Notification/README.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user