Pokročilá konfigurace
Command line
Command line spouští zadané příkazy a podle jejich výstupu vytváří entity nebo ovládá zařízení. Hodí se pro lokální skripty a systémové integrace, které nemají vlastní nativní napojení.
- Doména
command_line- Kategorie
- binární senzory, senzory, spínače, kryty, notifikace
- Komunikace
- lokální spuštění příkazu
- Nastavení
configuration.yaml- Akce
command_line.reload
Ukázka v RichPear Home
Screenshoty ukazují české rozhraní RichPear Home při vyhledání integrace a při prvním bezpečném kroku nastavení.
Co integrace přidá
Integrace je pouze přes YAML. Podporuje mimo jiné binární senzory, senzory, kryty, notifikační služby a spínače podle toho, jaké příkazy a parsování nakonfigurujete.
Příkazy spouštějte jako malé, předvídatelné operace. Výstup musí být stabilní, protože z něj RichPear Home odvozuje stav entity nebo výsledek akce.
Kontrolní témata
- Příkaz zapisujte ideálně do jednoduchých uvozovek, aby se minimalizovalo nechtěné escapování.
- Po změně lze entity znovu načíst akcí
command_line.reload. - Příkazy běží v prostředí hostitele RichPear Home a musí mít dostupná potřebná oprávnění.
- Nepoužívejte příkazy, které mohou zůstat viset nebo měnit systém bez kontroly.
Příprava před přidáním
Nejdřív příkaz otestujte přímo na hostiteli RichPear Home se stejnými cestami a oprávněními. Výstup zkraťte na hodnotu, kterou opravdu potřebujete.
Pro složitější logiku použijte vlastní skript a z YAML volejte jen jeho stabilní rozhraní. U hesel a tokenů nepoužívejte hodnoty přímo v příkazu, pokud je lze uložit bezpečněji.
Nastavení v RichPear Home
Konfiguraci přidejte do configuration.yaml. Po prvním přidání restartujte RichPear Home; další změny v entitách lze často načíst přes akci command_line.reload.
command_line:
- sensor:
name: Teplota CPU
command: 'cat /sys/class/thermal/thermal_zone0/temp'
unit_of_measurement: '°C'
value_template: '{{ (value | float / 1000) | round(1) }}'
Kontrola entit a funkcí
Po načtení zkontrolujte stav entity, jednotku, historii a případné chyby v logu. Pokud výstup není číslo nebo JSON podle očekávání, opravte šablonu nebo příkaz.
U spínačů a krytů nejdřív spusťte příkazy ručně v bezpečném kontextu a ověřte, že odpovídají skutečnému stavu zařízení.
Po nastavení
- Ověřte cestu ke každému skriptu absolutní cestou.
- Zkontrolujte timeout a chování při chybě příkazu.
- Pojmenujte entity podle účelu, ne podle příkazu.
- Použijte reload až po validaci YAML.
Použití v automatizacích
Command line entity používejte v automatizacích až po delším sledování stability. U příkazů, které ovládají zařízení, přidejte podmínky a ruční možnost vypnutí automatizace.
Pro notifikace a skripty logujte chyby tak, aby šlo poznat, jestli selhal příkaz, šablona, oprávnění nebo cílové zařízení.
Provoz a údržba
Po aktualizaci systému, změně cest nebo balíčků znovu otestujte příkazy. Změna shellu, oprávnění nebo dostupnosti binárky může entitu rozbít.
Složitější příkazy držte ve verzovaném skriptu a v dokumentaci si napište, co vrací a jak se má chovat při chybě.
Řešení problémů
Když se stav neaktualizuje, ověřte syntaxi YAML, uvozovky, návratový kód příkazu, oprávnění, absolutní cesty, šablonu a zda příkaz doběhne v rozumném čase.
Potom otevřete Nastavení → Systém → Logy a hledejte chyby podle domény command_line. Integraci neodstraňujte jako první krok; nejdřív ověřte přístup, síť, konfiguraci a poslední úspěšnou aktualizaci.