Martin Gafner 19315937df Give a hint to the Persistent Notification Component (#8053)
Again and again i was looking through this page and didn't find how to send persistent notifications to the Home Assistant Web Interface. That's why I propose to add that sentence.
2019-01-06 22:16:57 +01:00

3.6 KiB

layout title description date sidebar comments sharing footer
page Notifications Instructions on how to add user notifications to Home Assistant. 2015-01-20 22:36 true false true true

The notify component makes it possible to send notifications to a wide variety of platforms. Please check the sidebar for a full list of platforms that are supported.

If you want to send notifications to the Home Assistant Web Interface you may use the Persistent Notification Component.

{% linkable_title Configuration %}

# Example configuration.yaml entry
notify:
  - platform: pushbullet
    name: NOTIFY_NAME
    api_key: YOUR_API_KEY

The name parameter is optional but needed if you want to use multiple platforms. The platform will be exposed as service notify.<name>. The name will default to notify if not supplied.

{% linkable_title Service %}

Once loaded, the notify platform will expose a service that can be called to send notifications.

Service data attribute Optional Description
message no Body of the notification.
title yes Title of the notification. Default is Home Assistant.
target yes Some platforms will allow specifying a recipient that will receive the notification. See your platform page if it is supported.
data yes On platforms who have extended functionality. See your platform page if it is supported.

The notification component supports specifying templates with data_template. 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: notify.notify
  data:
    message: "Your message goes here"
    title: "Custom subject"

{% linkable_title Test if it works %}

A simple way to test if you have set up your notify platform correctly, is to use service developer tool icon Services from the Developer Tools. Choose your service from the dropdown menu Service, enter something like the sample below into the Service Data field, and hit CALL SERVICE.

{
  "message": "The sun is {% raw %}{% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}{% endraw %}!"
}

The automation equivalent would be:

action:
  service: notify.notify
  data:
    message: "The sun is {% raw %}{% if is_state('sun.sun', 'above_horizon') %}up{% else %}down{% endif %}{% endraw %}!"

For services which have support for sending images.

{ "message": "Test plugin",
  "data": {
    "photo": {
        "url": "http://www.gbsun.de/gbpics/berge/berge106.jpg"
    }
  }
}

The automation equivalent would be:

action:
  service: notify.notify
  data:
    message: "Test plugin"
    data:
      photo:
        url: "http://www.gbsun.de/gbpics/berge/berge106.jpg"

If the service support sending the location, the data from this sample can be used.

{ "message": "Test plugin",
  "data": {
    "location": {
      "latitude": 7.3284,
      "longitude": 46.38234
    }
  }
}

The automation equivalent would be:

action:
  service: notify.notify
  data:
    message: "Test plugin"
    data:
      location:
        latitude: 7.3284
        longitude: 46.38234