home-assistant.io/source/_integrations/feedreader.markdown
2023-05-22 10:15:38 +02:00

3.1 KiB

title description ha_category ha_release ha_iot_class ha_domain ha_integration_type
Feedreader Instructions on how to integrate RSS feeds into Home Assistant.
Other
0.18 Cloud Polling feedreader integration

Add an RSS/Atom feed reader that polls feeds every hour and sends new entries into the event bus.

To use RSS feeds in your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
feedreader:
  urls:
    - https://www.home-assistant.io/atom.xml
    - https://github.com/blog.atom
    - https://hasspodcast.io/feed/podcast

{% configuration %} urls: description: List of URLs for your feeds. required: true type: list scan_interval: description: Defines the update interval of the feeds. required: false default: 1 hour type: time max_entries: description: The maximum number of entries to extract from each feed. required: false default: 20 type: integer {% endconfiguration %}

The following configuration example shows how to configure update interval and maximum number of entries:

# Example configuration.yaml entry with optional parameters
feedreader:
  urls:
    - https://www.home-assistant.io/atom.xml
    - https://github.com/blog.atom
    - https://hasspodcast.io/feed/podcast
  scan_interval:
    minutes: 30
  max_entries: 5

Feedreader events can be used out of the box to trigger automation actions, e.g.:

automation:
  - alias: "Trigger action when new element(s) in RSS feed"
    trigger:
      platform: event
      event_type: feedreader
    action:
      service: script.turn_on
      target:
        entity_id: script.my_action

{% raw %}

automation:
  - alias: "Send notification of RSS feed title when updated"
    trigger:
      platform: event
      event_type: feedreader
      event_data:
        feed_url: "https://hasspodcast.io/feed/podcast"
    action:
      service: persistent_notification.create
      data:
        title: "New HA Podcast available"
        message: "New Podcast available - {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %d%b%Y', true) }}"
        notification_id: "{{ trigger.event.data.title }}"

{% endraw %}

Any field under the <entry> tag in the feed can be used for example trigger.event.data.content will get the body of the feed entry.

Video Tutorial

This video tutorial explains how to set up the feedreader and show the latest news feed item on your dashboard in Home Assistant.

For more advanced use cases, a custom integration registering to the feedreader event type could be used instead:

EVENT_FEEDREADER = "feedreader"
hass.bus.listen(EVENT_FEEDREADER, event_listener)

To get started developing custom components, please refer to the developers documentation

For a drop in packaged complete example of Feedreader, you can use the PodCast notifier.