Miniflux smart home integration, free and open source

Your Miniflux reader in Gladys: unread counts, new entries, feeds in error, mark as read.
Connect Gladys to Miniflux, the minimalist feed reader: follow your unread counts per category, react when a new entry arrives or when a feed stops working, mark entries as read from your scenes, and see the newest unread entries on the dashboard. The integration follows the state of your reader (read / unread, the same on all your devices), not the feeds themselves.
Tested against a real Miniflux 2.3.4 (the official Docker image) with test feeds. Feedback welcome on the Gladys forum.
Prerequisites
- Gladys Assistant 5.1 or later.
- Miniflux 2, self-hosted (port 8080 by default, or behind a reverse proxy) or
the hosted service at
reader.miniflux.app, reachable from the Gladys machine. - An API key: in Miniflux, open Settings → API Keys and create one. The integration sees the feeds of the user who owns the key.
Configuration
- Open the Configuration tab of the integration.
- In Miniflux address, enter the address of the server, for example
192.168.1.50:8080(port 8080 when none is given), or a full address such ashttps://rss.example.orgorhttps://reader.miniflux.app. - Paste the API key.
- Optional: Read Miniflux every (5 minutes by default), and Keywords to watch, separated by commas, for the keyword filter of the "New entry" trigger.
- Click Test the connection: it shows the user, the unread entries and the feeds in error.
- Open the Discovery tab and add the devices you want.
Devices
- Miniflux: Unread entries (all categories) and Feeds in error (feeds Miniflux failed to read at its last check, disabled feeds left out).
- One device per category (offered for each Miniflux category): its Unread entries.
The values are read every few minutes (the setting above) and right after every change made from Gladys. They are kept in the history, for a chart of your unread pile.
Dashboard widget
Miniflux: the number of unread entries (and of feeds in error, in red, when there are some), the six newest unread entries (feed, date, summary, links to the article and to Miniflux when they are https), a Refresh button that makes Miniflux fetch the feeds now, and a Mark as read button, with a confirmation, that marks the listed entries as read (only them). Set to a category device, the widget shows and refreshes that category only.
Scene triggers
- New entry: an unread entry arrived in Miniflux. Filters: a category (a category device), a feed (its title, exactly as in Miniflux), a keyword (one of the keywords of the configuration, found in the title, case and accents ignored). Information passed on: title, link, feed, category, author, keyword found, publication date and entry id.
- Feed in error: Miniflux failed to read a feed that worked until then. Filter: a category. Information passed on: feed, category, error message, failed checks, site address, feed id.
Nothing fires at the first read after installing the integration, nor for the entries already there when a feed is added, nor for entries already read on another device. At most 10 entries are announced per read.
Scene actions
- Mark a Miniflux category as read: every unread entry of a category; pick the Miniflux device to mark everything. Results: entries marked, category.
- Mark Miniflux entries as read: one or more entry ids, typically the entry id of the "New entry" trigger. Result: entries marked.
- Refresh the Miniflux feeds: Miniflux fetches every feed now (or those of a category), four at a time; the new entries are read once it is done. Result: feeds refreshed.
- Read the unread Miniflux titles: the newest unread entries (1 to 10), of every category or of one, optionally marked as read afterwards. Results: number read, unread entries in all, titles one per line ("Title — Feed"), title, link and feed of the newest one.
Scene examples
- Morning briefing: at 7:30, Read the unread Miniflux titles (category News, 5 entries, then mark them as read), then send a Telegram message with its Titles result (insert it with the variable picker).
- Watch a topic: with
Gladysin the keywords, New entry with the keywordGladys→ send a message with the Title and the Link of the entry, then Mark Miniflux entries as read with its Entry id. - Broken feed: Feed in error → send a message with the Feed and the Error message.
Troubleshooting
- "Miniflux refused the API key": the key was deleted or mistyped: create a new one in Settings → API Keys.
- "Miniflux does not answer": check the address and the port from the Gladys machine. Behind a reverse proxy, enter the full address, path included.
- "This address does not answer like Miniflux": the address leads to
another service, or to a login page (an authentication proxy in front of
Miniflux must let
/v1/through with theX-Auth-Tokenheader). - No "New entry" event: entries arrive when Miniflux checks the feeds (every 60 minutes by default on its side), then at the next read of the integration. Use Refresh the Miniflux feeds to speed it up.
- More details: set the
LOG_LEVELvariable of the integration todebug.
Limits
- The trigger filters only compare exact values: the feed filter is the exact title, the keyword filter one of the configured keywords.
- Starred entries, the reading history and the feeds themselves are not managed from Gladys.
- The widget links open https addresses only: an article or a Miniflux on plain http has no link.
- Not affiliated with Miniflux.
Configuration settings
These are the settings Miniflux asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Connect Miniflux | section | No | Enter the address of your Miniflux (port 8080 by default, or its public address) and an API key: in Miniflux, open Settings → API Keys and create one. The integration reads your unread counts, announces the new entries and the feeds in error, and marks entries as read from your scenes. |
| Miniflux address | string | Yes | |
| API key | secret | Yes | Miniflux → Settings → API Keys → Create a new API key. |
| Read Miniflux every | select | No | New entries are announced at the next read. Miniflux itself checks the feeds every 60 minutes by default. |
| Keywords to watch (optional) | string | No | Separated by commas. A new entry whose title holds one carries it, for the keyword filter of the trigger. |
| Language of names and messages | select | No | Feature names are set when a device is added to Gladys. |
How to install Miniflux in Gladys
- In Gladys, open Integrations: Miniflux appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/guim31/gladys-miniflux:1.0.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/guim31/gladys-miniflux.
Miniflux requires Gladys >=5.1.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Miniflux is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by guim31, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation