rss-to-homeassistant

module
v0.0.0-...-d4189b1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2024 License: Apache-2.0

README

⬆️ For table of contents, click the above icon

Build status Download

Pushes RSS feeds into Home Assistant as Markdown, so they can be displayed natively.

For more background, see my blog post.

Prerequisites

  • Home Assistant
  • Home Assistant needs to be connected to a MQTT server
  • This software

Configuration

You need to create config.json:

{
	"mqtt": {
		"address": "127.0.0.1:1883",
		"credentials": {
			"username": "AzureDiamond",
			"password": "hunter2"
		}
	},
	"rss_feeds": [
		{
			"id": "skrolli",
			"url": "https://skrolli.fi/feed/"
		}
	]
}

If you don't use MQTT username/password, you can remove the whole "credentials": {...} section.

How to use

You can run this on any computer as long as it can connect to the same MQTT server that Home Assistant uses.

For example, make a directory /home/<username>/rss-to-homeassistant.

Download a suitable binary there (for Raspberry Pi, use the ARM build, for PCs use the amd64 build).

You can rename the downloaded binary to rss-to-homeassistant.

You've created the configuration file. The directory has these contents:

/home/pi/rss-to-homeassistant
├── config.json
└── rss-to-homeassistant

Test starting it manually. If everything goes well, you should see this message:

$ ./rss-to-homeassistant
2021/03/22 07:45:30 [INFO] skrolli changed

You can stop it with Ctrl + c.

The RSS feed should've just popped into Home Assistant (because we use its autodiscovery mechanism to advertise the feeds):

This means that Home Assistant has the Markdown content of the RSS feed. We're close to the finish line.

Displaying the feed's Markdown content

You need to add a Markdown card, with content that has a dynamic placeholder to display the feed entity's Markdown content:

You're done!

Keep this running across system restarts

If you're on Linux, we have a helper to integrate with systemd:

./rss-to-homeassistant install-as-service
Wrote unit file to /etc/systemd/system/rss-to-homeassistant.service
Run to enable on boot & to start (--)now:
	$ systemctl enable --now rss-to-homeassistant
Verify successful start:
	$ systemctl status rss-to-homeassistant

If you followed the tips the installer gave, this program should automatically start after reboots. Have fun! Enjoy life.

TODO

  • Consider polling interval, 1 minute might be too often
  • Implement HTTP caching to be nice to RSS publishers

Directories

Path Synopsis
cmd
rss-to-homeassistant
Sync state from Hautomo to Home Assistant, along with support for pushing remote URL changes (images / RSS feeds) to Home Assistant
Sync state from Hautomo to Home Assistant, along with support for pushing remote URL changes (images / RSS feeds) to Home Assistant

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL