- Start Date: when empty, day interval is ignored and notifications fire daily - Control Flag: when empty, notifications always fire (no toggle control) - Update documentation to reflect optional inputs - Fix markdown linting issues Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
54 lines
2.1 KiB
Markdown
54 lines
2.1 KiB
Markdown
# Periodic Notification
|
|
|
|
Sends notifications at specified times on an optional repeating day schedule with optional toggle control.
|
|
|
|
## Features
|
|
|
|
- Multiple notification targets (notify entities)
|
|
- Customizable multiline message
|
|
- Flexible time schedule (multiple times per day)
|
|
- Configurable day interval (every N days)
|
|
- Optional 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 (if configured)
|
|
3. It calculates whether today falls on the correct day in the interval cycle (if start date is configured)
|
|
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 (optional — leave empty to always send) |
|
|
|
|
### 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>)
|