Instalace Home Assistant na ESXi server (HA) umožňuje nekomplikovaně rozšiřovat domácí automatizaci o nové vychytávky a funkce. V dnešním blogu budeme psát o integraci RSS čtečky do Home Assistant instalace s příkladem pro použití. Díky Tiny Tiny RSS se v Home Assistant vyhneme komplikovanému skriptování, zejména u pokročilého / vicenásobného použití RSS protokolu, s potřebou dodatečně filtrovat parsovaný text. Bonusem je efektivita použití hotového materiálu pro Home Assistant notifikace, pomocí Telegram bota.
K čemu kombinace Tiny Tiny RSS + Home Assistant + Telegram? Můžete místo sjíždění email newsleteru číst pouze vybrané věci :) Hodí se zejména pokud musíte sledovat hlášení kritických hardware / software chyb, aktualizace, apgrejdy a další nahodilosti. Pomocí této vychytávky můžete samozřejmě sledovat bitcoin, počasí, dopravu, burzu, oblíbené blogy, twitter a další nespočet všeho. Na jediném míste, v okně chatu, bez nutnosti přihlašovat se do dvaceti rozhraní. Bez prohrabávání se kupou mailů.
Díky virtualizaci (ESXi) spustíme pro Tiny Tiny RSS čistou instalaci Debianu s Apache2 serverem, PHP 7.3 a MariaDB databázy. Pokud máte VMware (ESXi) okoukané, nahazujete Debian 10 Buster z uložené zálohy (čisté instalace). Kde již máte vše kolem LAPM (Apache2, MariaDB, PHP 7.3) i SSH server nainstalované, aktualizované a spuštěné. Tudíž na spuštěném serveru změníme pouze host name a IP adresu. A máme hotovo :)
Malá poznámka k databáze pro Tiny Tiny RSS. Když ze zvyku či z jiné pohnutky automaticky preferujete MySQL / MariaDB pak TTRRS (Tiny Tiny RSS) je původně „psaná“ na PostgreSQL. To ničemu nevadí. Pokud ale chcete používat vychytávku v podobě pluginu af_psql_trgm (označí podobné artikly jako prečtené), bez PosgreSQL se neobejdete.

Tento TTRSS plugin používá PostgreSQL syntax a náramně se hodí v případě masivního používáte RSS zdrojů. Ty mohou publikovat stejné téma s časovým odstupem několika hodin či dne = neodfiltrujete přečtené = obdržíte opakovaně notifikaci s podobným / stejným obsahem (ze všech zdrojů). Když to považujete za výhodu prima. Pokud ne, neinstalujte MariaDB :)
Obsah
Čistá instalace + Docker instalace Tiny Tiny RSS
Čistá instalaca (Tiny Tiny RSS) od píky je dokonale popsána na webu vultr, docker instalace přímo na git hub webu ttrss. Triviální přidání RSS zdrojů do rozhraní čtečky popisovat nebudeme. Instalaci pluginu do HA je kapitola sama pro sebe a vydala by na další článek.
Filtrujeme feed v Tiny Tiny RSS a Publikujeme
Máme tedy funkční čtečku s registrovanými odběry. Využijeme unikátní funkci Publikovat. Bežná čtečka naparsuje zadaný RSS / Atom Feed, obsah (či náhled obsahu zobrazí) s názvem a odkazem. Tiny Tiny RSS umí něco navíc. Generuje vlastní RSS feed. Bez nutnosti nastavování, má každá vytvořená kategorie v čtečce (třeba Novinky ve které máte 10 zdrojů) vlastní URL. Pomocí takto vygeneroavné URL vidíte v další čtečce (pomocí které se přihlásite k odběru k Tiny Tiny RSS) agregovaný obsah ze všech deseti zdrojů. Možnost filtrovat a filtrovaný obsah publikovat do zvláštní kategorie (s vlastní feed URL) dotahuje věc k dokonalosti.
RSS Feed konfigurace filtrování
Přejdeme do konfigurace, kde v menu Filtry vytvoříme pravidla pro filtrování. Čtečka umí několik variant filtrů. Filtrovaný článek dle klíčových slov v názvu či v těle zprávy označí jako přečtený, zmaže, archivuje, označí hvězdičkou nebo publikuje. Nastavení filtru:

Vygenerovaný feed složky (kategorie) Publikované

Home Assistant konfigurace plugin feedparser
Nezapomenou instalovat plugin :) Neplést si feedparser plugin s integrací (pluginem) feed či feedreader. V Home Assistant konfiguračním souboru configuration.yaml případne sensor.yaml (dle toho kam zapisujete konfiguraci) zapíšeme URL Tiny Tiny RSS feedu:
- platform: feedparser
name: Feed 0day
feed_url: 'http://192.168.8.1/tiny/public.php?op=rss&id=-2&key=rgz2845fcd1abcde8f'
scan_interval: '01:00:00'
date_format: '%a, %b %d %I:%M %p'
inclusions:
- title
- link
Zároveň vytvoříme šablonu pro automatizaci. Konkrétně pro odeslání notifikace na Telegram. Konkrétně v případě změny stavu sledovaného feedu. Toto nám ušetří testování filtrů a jejích funkčnosti v Home Assistant. Template zapíšeme pod feedparser konfiguraci:
- platform: template
sensors:
feed_zranitelnost_template:
friendly_name: 'Můj Feed 0day'
value_template: >
{{ states.sensor.feed_0day.attributes.entries[0].title }}
{{ states.sensor.feed_0day.attributes.entries[0].link }}
Následuje poslední konfigurace v souboru automations.yaml případne. Automatizace – Notifikace na Telegram (předpokládá se, že v Home Assistant máte funkční nastavení pro Telegram API).
- id: 'generuje automaticky GUI rozhraní'
alias: Notify if 0day in Feed
description: ''
trigger:
- platform: state
entity_id: sensor.feed_0day
attribute: entries
condition: []
action:
- service: telegram_bot.send_message
data:
title: '{{ states.sensor.feed_0day.attributes.entries[0].title }}'
message: '{{ states.sensor.feed_0day.attributes.entries[0].link }}'
target:
- 9370745172
- 4835851521
mode: single
Telegram notifikce

Užitečné
Domovská stránka Tiny Tiny RSS.
Tiny Tiny RSS selfhosted upgrade.