Feedreader


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 Variables

urls list Required

List of URLs for your feeds.

scan_interval time (Optional, default: 1 hour)

Defines the update interval of the feeds.

max_entries integer (Optional, default: 20)

The maximum number of entries to extract from each feed.

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
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 }}"

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 integrations, please refer to the developers documentation

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