Feedreader

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

Configuration

To add the Feedreader integration to your Home Assistant instance, use this My button:

Manual configuration steps

If the above My button doesn’t work, you can also perform the following steps manually:

  • Browse to your Home Assistant instance.

  • Go to Settings > Devices & Services.

  • In the bottom right corner, select the Add Integration button.

  • From the list, select Feedreader.

  • Follow the instructions on screen to complete the setup.

URL

The URL of the RSS/Atom feed you want to integrate.

Options

Options for Feedreader can be set via the user interface, by taking the following steps:

  • Browse to your Home Assistant instance.
  • Go to Settings > Devices & Services.
  • If multiple instances of Feedreader are configured, choose the instance you want to configure.
  • Select the integration, then select Configure.
Maximum feed entries

The maximum number of entries to extract from each feed.

Usage

Automation

Feedreader events can be used out of the box to triggerA trigger is a set of values or conditions of a platform that are defined to cause an automation to run. [Learn more] automation actions, e.g.:

automation:
  - alias: "Trigger action when new element(s) in RSS feed"
    triggers:
      - trigger: event
        event_type: feedreader
    actions:
      - action: script.turn_on
        target:
          entity_id: script.my_action
automation:
  - alias: "Send notification of RSS feed title when updated"
    triggers:
      - trigger: event
        event_type: feedreader
        event_data:
          feed_url: "https://hasspodcast.io/feed/podcast"
    actions:
      - action: 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 }}"

The trigger.event.data variable contains at least the following keys, there might be more depending on the data the configured feed is providing.

Key Description
trigger.event.data.link The URL to this feed entry.
trigger.event.data.title The title of this feed entry.
trigger.event.data.description The description of this feed entry.
trigger.event.data.content The content of this feed entry.

Event entity

An Event entityEvents are signals that are emitted when something happens, for example, when a user presses a physical button like a doorbell or when a button on a remote control is pressed. [Learn more] entity will be created for each configured feed which always represents the latest entry of the feed.

Video tutorial

This video tutorial explains how to set up the feedreader and show a list of news feed items on your dashboard in Home Assistant.

Event listener

For more advanced use cases, a custom integration registering to the feedreader EventEvery time something happens in Home Assistant, an event is fired. There are different types of events, such as state change events, when an action was triggered, or the time changed. All entities produce state change events. Every time a state changes, a state change event is produced. Events can be used to trigger automations or scripts. For example, you can trigger an automation when a light is turned on, then a speaker turns on in that room. Events can also be used to trigger actions in the frontend. For example, you can trigger an action when a button is pressed. [Learn more] 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

Other examples

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

Remove the integration

To remove an integration instance from Home Assistant

  1. Go to Settings > Devices & services and select the integration card.
  2. From the list of devices, select the integration instance you want to remove.
  3. Next to the entry, select the three-dot menu. Then, select Delete.