a52cffa062
The `notification_title` input defaulted to `{vacuum_name}`, which caused the
device name to appear twice (once in the title, once in the message body that
already starts with `{vacuum_name}`). Drop the title input and revert to
message-only notifications, matching the original behavior.
112 lines
4.2 KiB
Markdown
112 lines
4.2 KiB
Markdown
# Dreame Vacuum Notifications
|
|
|
|
Sends customizable notifications for Dreame vacuum events. Requires the [Dreame Vacuum](https://github.com/Tasshack/dreame-vacuum) integration and Home Assistant 2024.7+ (`notify.send_message` action).
|
|
|
|
## Features
|
|
|
|
- Notifications for cleaning started and completed
|
|
- Consumable end-of-life alerts (brush, filter, mop pad, sensor, etc.)
|
|
- Device warning and error notifications
|
|
- Informational alerts (e.g., action blocked by Do Not Disturb)
|
|
- Individual toggle for each event type
|
|
- Per-code filter lists for silencing routine warnings, errors, or info messages
|
|
- Customizable message templates
|
|
- Multiple notification targets
|
|
|
|
## How It Works
|
|
|
|
The blueprint listens to events fired by the Dreame Vacuum integration:
|
|
|
|
| Event | Description |
|
|
| --- | --- |
|
|
| `dreame_vacuum_task_status` | Cleaning job started or completed |
|
|
| `dreame_vacuum_consumable` | Consumable reached end-of-life |
|
|
| `dreame_vacuum_warning` | Dismissible device warning |
|
|
| `dreame_vacuum_error` | Device fault |
|
|
| `dreame_vacuum_information` | Action blocked by user settings |
|
|
|
|
Events are filtered by the configured vacuum:
|
|
|
|
1. If the event payload includes `device_id`, it must match the device of the configured vacuum entity. This is the most reliable match.
|
|
2. Otherwise the entity_id in the event must equal the configured one, or equal it followed by a purely numeric suffix (e.g., `vacuum.dreame_x10_2`). The integration uses `generate_entity_id()`, so a numeric suffix can appear when the base entity_id is taken.
|
|
|
|
This avoids false positives when two vacuums share an entity_id prefix (e.g., `vacuum.dreame_x10` vs. `vacuum.dreame_x10_pro`).
|
|
|
|
## Configuration
|
|
|
|
| Input | Description |
|
|
| --- | --- |
|
|
| **Vacuum Entity** | The Dreame vacuum entity to monitor |
|
|
| **Notification Targets** | One or more `notify` entities |
|
|
| **Event Toggles** | Enable/disable each event type independently |
|
|
| **Filtering** | Lists of warning/error/information codes to silence |
|
|
| **Message Templates** | Customizable message for each event type |
|
|
|
|
### Filtering
|
|
|
|
Each filter input is a list of codes (as strings) that should not produce a notification. The blueprint compares the event's `code` field (cast to string) against the list. Use this to suppress noisy routine events while keeping critical ones.
|
|
|
|
## Message Template Variables
|
|
|
|
### Cleaning Started
|
|
|
|
| Variable | Description |
|
|
| --- | --- |
|
|
| `{vacuum_name}` | Friendly name of the vacuum |
|
|
| `{cleaning_mode}` | Cleaning mode (e.g., sweeping, mopping) |
|
|
| `{status}` | Current status |
|
|
|
|
### Cleaning Completed
|
|
|
|
| Variable | Description |
|
|
| --- | --- |
|
|
| `{vacuum_name}` | Friendly name of the vacuum |
|
|
| `{cleaning_mode}` | Cleaning mode used |
|
|
| `{status}` | Final status |
|
|
| `{cleaned_area}` | Area cleaned (m²) |
|
|
| `{cleaning_time}` | Cleaning duration (minutes) |
|
|
|
|
### Consumable Depleted
|
|
|
|
| Variable | Description |
|
|
| --- | --- |
|
|
| `{vacuum_name}` | Friendly name of the vacuum |
|
|
| `{consumable}` | Consumable name (e.g., Main Brush, Side Brush, Filter, Mop Pad) |
|
|
|
|
### Warning
|
|
|
|
| Variable | Description |
|
|
| --- | --- |
|
|
| `{vacuum_name}` | Friendly name of the vacuum |
|
|
| `{warning}` | Warning description |
|
|
| `{code}` | Warning code |
|
|
|
|
### Error
|
|
|
|
| Variable | Description |
|
|
| --- | --- |
|
|
| `{vacuum_name}` | Friendly name of the vacuum |
|
|
| `{error}` | Error description |
|
|
| `{code}` | Error code |
|
|
|
|
### Information
|
|
|
|
| Variable | Description |
|
|
| --- | --- |
|
|
| `{vacuum_name}` | Friendly name of the vacuum |
|
|
| `{information}` | Information message (e.g., Dust Collection, Cleaning Paused) |
|
|
| `{code}` | Information code |
|
|
|
|
## Notes
|
|
|
|
- The default messages contain emojis. Most modern notify integrations (Mobile App, Telegram, Discord) render them correctly; legacy SMS-based integrations may not.
|
|
- `notify.send_message` requires Home Assistant 2024.7 or newer.
|
|
|
|
## Debug Mode
|
|
|
|
Enable **Debug Notifications** in the Debug section to send a persistent notification for every trigger. Each debug notification includes the blueprint version, dispatched event kind, and the enable decision — useful for confirming filters are doing what you expect. The notification is keyed per vacuum so debug entries from multiple vacuums do not overwrite each other.
|
|
|
|
## Author
|
|
|
|
Alexei Dolgolyov (<dolgolyov.alexei@gmail.com>)
|