Mastering Interactive Alerts: Advanced Notifications with Home Assistant Companion App

NGC 224
DIY Smart Home Creator
Mastering Interactive Alerts: Advanced Notifications with Home Assistant Companion App
In the realm of smart homes, timely and informative alerts are paramount. While basic notifications like "Door opened" or "Light turned on" serve their purpose, the true power of Home Assistant lies in its ability to deliver intelligent, interactive, and rich media notifications directly to your mobile device. Leveraging the Home Assistant Companion App, you can transform passive alerts into dynamic tools for managing your smart home ecosystem.
This guide will delve into advanced notification techniques, covering actionable buttons, rich media integration, and best practices for a reliable notification system, ensuring you're not just informed, but empowered to act.
The Power of the Companion App
The Home Assistant Companion App for iOS and Android is more than just a remote control for your instance. It's a critical bridge that enables location tracking, sensor data collection, and crucially, advanced push notifications. These notifications go beyond standard mobile alerts, allowing for deep integration with Home Assistant's automation engine.
Prerequisites
- A running Home Assistant instance.
- The Home Assistant Companion App installed on your mobile device (iOS or Android).
- The app is connected to your Home Assistant instance, and notifications are enabled (usually by default).
- Familiarity with Home Assistant automations and YAML configuration.
Actionable Notifications: Interact Directly from Your Alert
Actionable notifications allow you to embed buttons directly within the notification itself. Tapping these buttons can trigger Home Assistant services, fire events, or even open specific URLs, providing immediate control without needing to open the app.
The key to actionable notifications is the actions
key within your notification's data
payload. Each action requires an action
ID, a title
for the button, and optionally a uri
or url
.
Example: Smart Doorbell with Gate Control
Imagine your doorbell detects a guest. You want to see who it is and decide whether to open your smart gate or dismiss the alert.
automation:
- alias: "Doorbell guest detected with actions"
trigger:
platform: state
entity_id: binary_sensor.doorbell_motion
to: "on"
action:
- service: camera.snapshot
data:
entity_id: camera.front_door
filename: "/config/www/doorbell_snapshot.jpg"
- delay: "00:00:01" # Give camera time to save snapshot
- service: notify.mobile_app_YOUR_DEVICE_ID
data:
message: "Guest detected at the front door!"
title: "Doorbell Alert"
data:
image: "/local/doorbell_snapshot.jpg"
notification_id: "doorbell_guest_alert"
actions:
- action: "open_gate"
title: "Open Gate"
- action: "ignore_doorbell"
title: "Dismiss"
- alias: "Handle doorbell actions"
trigger:
platform: event
event_type: mobile_app_notification_action
variables:
action_id: "{{ trigger.event.data.action }}"
notification_id: "{{ trigger.event.data.notification_id }}"
condition:
- "{{ notification_id == 'doorbell_guest_alert' }}"
action:
- choose:
- conditions: "{{ action_id == 'open_gate' }}"
sequence:
- service: cover.open_cover
target:
entity_id: cover.main_gate
- service: notify.mobile_app_YOUR_DEVICE_ID
data:
message: "Gate opened."
data:
notification_id: "doorbell_guest_alert" # Clear previous notification
- conditions: "{{ action_id == 'ignore_doorbell' }}"
sequence:
- service: notify.mobile_app_YOUR_DEVICE_ID
data:
message: "notification_cleared"
data:
notification_id: "doorbell_guest_alert" # Clear the original notification
Note: Replace YOUR_DEVICE_ID
with your specific device ID (e.g., iphone_your_name
or pixel_6
). You can find this in your Home Assistant Developer Tools under States, or in the app's settings.
Rich Media Notifications: See What's Happening
Adding images or videos to your notifications provides crucial context, especially for security or monitoring automations. You can include snapshots from cameras, dashboards, or any accessible URL.
Example: Security Camera Motion Snapshot
When your outdoor camera detects motion, receive a notification with a snapshot of the activity.
automation:
- alias: "Motion detected with camera snapshot"
trigger:
platform: state
entity_id: binary_sensor.outdoor_motion_sensor
to: "on"
action:
- service: camera.snapshot
data:
entity_id: camera.outdoor_security
filename: "/config/www/motion_snapshot.jpg"
- delay: "00:00:01" # Give camera time to save snapshot
- service: notify.mobile_app_YOUR_DEVICE_ID
data:
message: "Motion detected outside!"
title: "Security Alert"
data:
image: "/local/motion_snapshot.jpg" # Path relative to /config/www/
uri: "/lovelace/security-dashboard" # Optional: Tapping opens a specific Lovelace view
For video attachments, the process is similar, using the video
key instead of image
. Ensure the video format is supported by your device's operating system.
Managing Notification Flow: Preventing Alert Fatigue
Too many notifications can quickly become overwhelming. Home Assistant provides tools to manage notification streams effectively.
Using notification_id
for Updating/Clearing
Assigning a unique notification_id
to your notifications allows you to update or dismiss them later. This is particularly useful for state-based alerts (e.g., "Door Open" followed by "Door Closed").
# To update an existing notification:
- service: notify.mobile_app_YOUR_DEVICE_ID
data:
message: "The door is now closed."
data:
notification_id: "door_status_alert"
# To clear an existing notification:
- service: notify.mobile_app_YOUR_DEVICE_ID
data:
message: "notification_cleared" # Special message to clear
data:
notification_id: "door_status_alert"
Grouping and Threading (Android/iOS Specific)
- Android: Use the
group
parameter to group related notifications in the notification shade. - iOS: Use the
thread_id
parameter to thread notifications. All notifications with the samethread_id
will be grouped.
Best Practices for a Robust Notification System
-
Contextual Alerts: Only send notifications when they truly matter. Avoid sending alerts for routine actions unless specifically requested (e.g., when a family member arrives home after dark).
-
Rate Limiting: Use Home Assistant's built-in automation features (e.g.,
delay
,for
conditions, or acooldown
sensor helper) to prevent excessive notifications for rapidly changing states (e.g., motion sensor triggering every second). -
Clear and Concise Messaging: Keep messages short, clear, and actionable. The user should understand the alert's purpose at a glance.
-
Fallback Mechanisms: What if your phone is offline or the Companion App isn't running? Consider secondary notification methods for critical alerts (e.g., email, SMS via an integration like Twilio, or even a physical siren).
-
Thorough Testing: Test every notification path, especially those with actions or rich media, on all relevant devices to ensure they behave as expected in various scenarios.
-
Security Considerations: Be mindful of sensitive information in notifications, especially if they are pushed to a lock screen or public display. Avoid exposing credentials or highly private data.
Conclusion
Advanced notifications are a cornerstone of a truly intelligent and responsive smart home. By leveraging the Home Assistant Companion App's capabilities for actionable buttons and rich media, you can empower yourself to interact with your home seamlessly and intuitively. Move beyond simple alerts and build a notification system that not only informs but also enables swift and effective control over your smart ecosystem, putting you firmly in command.

NGC 224
Author bio: DIY Smart Home Creator