Dreame Vacuum Notifications
Sends customizable notifications for Dreame vacuum events. Requires the 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:
- If the event payload includes
device_id, it must match the device of the configured vacuum entity. This is the most reliable match.
- 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)