Trying to send a notification from an automation is a nightmare.
Less technical
Searching for “notif” (to match both “notify” and “notification”) shows, among others:
- Persistent Notification: Create
- Notifications: Send a notification message
- Notifications: Send a notification
- Notifications: Send a persistent notification
- Notifications: Send a notification via <my_device>
This gives rise to a lot of questions, like:
- Why are there 2 different ways (1 and 4) to make a persistent notification, and what’s the difference, if any, between them?
- What’s the difference between sending a “notification” (3) and sending a “notification message” (2)?
- Can I send a notification to my device with the generic actions (2 and 3) or only with the specific one (5)?
- What is a “persistent notification”, and why is Home Assistant concerned with this? As far as I know, it’s actually me (an iOS user) who can control whether the notification I receive is persistent (Banner Style: Persistent) or not (Banner Style: Temporary).
I would greatly simplify this by reducing this list to only 3 options:
- Send a notification inside Home Assistant
- Send a notification to
- Send a notification via
- Option 1 sends a notification to the notifications section from Home Assistant.
- Option 2 sends a notification to the currently active device of a person. This is in line with modern approaches of apps like Telegram and Slack, which are only notifying you once.
- Option 3 sends a notification via a specific device of a person.
More technical
Searching “Home Assistant send notification” on Google yields the “Notifications” page (Notifications - Home Assistant), which looks like the one and only official documentation regarding all notifications, but based on the URL, it looks like it should be named “Notify integration”.
It then mentions a “notify platform” (I have no idea what a platform is in this context, because it surely doesn’t refer to platforms like iOS, Android, which most of us are accustomed with) which is legacy, but fails to mention its newer alternative that we should be using instead of it.
And then continues by mentioning a “notify action”, which adds to all this “notify” confusion.
Then there’s “notify.notify” which, aside it’s confusing name, looks like it shouldn’t be used, but is not marked as legacy.