Persistent notification


The persistent_notification can be used to show a message on the frontend that has to be dismissed by the user.

Service

The service persistent_notification/create takes in message, title, and notification_id.

Service data attribute Optional Description
message no Body of the notification.
title yes Title of the notification.
notification_id yes If notification_id is given, it will overwrite the notification if there already was a notification with that ID.

The persistent_notification component supports specifying templates for both the message and the title. This will allow you to use the current state of Home Assistant in your notifications.

In an action of your automation setup it could look like this with a customized subject.

action:
  service: persistent_notification.create
  data:
    message: "Your message goes here"
    title: "Custom subject"

The service persistent_notification/dismiss requires a notification_id.

Service data attribute Optional Description
notification_id no the notification_id is required to identify the notification that should be removed.

This service allows you to remove a notifications by script or automation.

action:
  service: persistent_notification.dismiss
  data:
    notification_id: "1234"

This automation example shows a notification when the Z-Wave network is starting and removes it when the network is ready.

- alias: 'Z-Wave network is starting'
  trigger:
    - platform: event
      event_type: zwave.network_start
  action:
    - service: persistent_notification.create
      data:
        title: "Z-Wave"
        message: "Z-Wave network is starting..."
        notification_id: zwave

- alias: 'Z-Wave network is ready'
  trigger:
    - platform: event
      event_type: zwave.network_ready
  action:
    - service: persistent_notification.dismiss
      data:
        notification_id: zwave

Markdown support

The message attribute supports the Markdown formatting syntax. Some examples are:

Type Message
Headline 1 # Headline
Headline 2 ## Headline
Newline \n
Bold **My bold text**
Cursive *My cursive text*
Link [Link](https://home-assistant.io/)
Image ![image](/local/my_image.jpg)

/local/ in this context refers to the .homeassistant/www/ folder.

Create a persistent notification

Choose service developer tool icon Services from the Developer Tools to call the persistent_notification service. Select persistent_notification/create from the list of Available services: and enter something like the sample below into the Service Data field and hit CALL SERVICE.

{
  "notification_id": "1234",
  "title": "Sample notification",
  "message": "This is a sample text"
}

This will create the notification entry shown above.