home-assistant.io/source/_components/persistent_notification.markdown
Jeppe Ladefoged 6e4bb8274d Added example based on event platform (#6435)
* Added example based on event platform

Persistent notification automation example based on event platform

* Minor changes
2018-10-02 18:18:49 +02:00

3.8 KiB

layout title description date sidebar comments sharing footer logo ha_category ha_release ha_qa_scale
page Persistent notification Instructions on how to integrate persistent notifications into Home Assistant. 2016-06-25 10:00 true false true true home-assistant.png Other 0.23 internal

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

{% linkable_title 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

{% linkable_title 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.

{% linkable_title 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.