Již ve verzi 0.45 byla do HomeAssistanta přidána možnost přidat / editovat automatizaci přes uživatelské rozhraní – do té doby to bylo možné pouze pomocí YAML konfigurace.
Samotné rozhraní přidání / editace automatizací je rozděleno do třech hlavních bloků, které přesně odpovídají základním prvkům – Spouštěč ▶︎ Podmínky ▶︎ Akce – které jsme si představili a detailněji popsali v předchozí části tohoto miniseriálu.
Aktivace editoru automatizací
Nejprve bude potřeba přidat aktivaci editoru konfigurace pomocí zápisu do souboru hlavní konfigurace HomeAssistanta – configuration.yaml
:
config:
Editor pak bude číst a zapisovat konfiguraci automatizace do souboru uvedeném v konfiguraci.
Druhým krokem je kontrola nastavení souboru pro automatizace v tomtéž souboru konfigurace:
automation: !include automation.yaml
Zachování stávajících YAML automatizací
Pokud jste v situaci, že jste už nějakou dobu používali definici automatizací pomocí YAML souborů
a chcete ji zachovat, pak je to možné.
Můžeme tak kombinovat automatizace nastavené přes uživatelské rozhraní s těmi definovanými jako YAML.
automation: !include automations.yaml
automation old: !include_dir_merge_list automations
První sekce automation
slouží pro definici automatizací pro uživatelské rozhraní, sekce automation old
pak konfiguraci přímo v YAML.
Migrace YAML automatizací
Pokud chceme mít možnost i stávající YAML automatizace konfigurovat prostřednictvím uživatelského rozhraní můžeme je poměrně jednoduše zmigrovat.
Stačí zkopírovat obsah YAML souboru
se stávající konfigurací do souboru automations.yaml
. Před použitím je potřeba se ujistit, že každá automatizace bude mít svůj jednoznačný identifikátor id
.
Jakékoliv komentáře z YAML budou při použití uživatelského rozhraní editace ztraceny. Pokud potřebujete popsat automatizaci použijte raději pole description
.
Přidání automatizace v UI
Editor automatizací najdete v sekci Nastavení / Automatizace.
Nebudu zde rozepisovat všechny možnosti konfigurace automatizace – na to se raději podívejte do dokumentace – ale vše ukážu na jednom konkrétním příkladu.
Jako příklad automatizace si vezmeme případ z úvodního článku, kdy po příchodu domů chcete automaticky zapnout osvětlení v případě, že je již po západu slunce.
Pro přidání nové automatizace klikneme na oranžové tlačítko +
v pravém dolním rohu.
Hlavička
Prvním blokem definice nové automatizace je hlavička, kde si automatizaci pojmenujeme a volitelně můžeme přidat i detailnější popis.
Spouštěč
Druhým blokem je spouštěč. Jak jsme si dokázali v minulém článku, je velice důležité se zamyslet, kterou entity si vybereme jako spouštěč – pokud si tím nejste jistí, koukněte raději ještě do tohoto článku.
V našem příkladu nám nejlépe vyhovuje stav přítomnosti osoby.
Budeme tak potřebovat typ spouštěče Stav
a v entitě si najdeme tu, která nám udává stav sledované osoby – může to být i kombinace více stavů.
Do pole do
pak vyplníme hodnotu home
, která nám říká, že nás zajímají jen přechody do stavu home
– u stavu přítomnosti je to jednoduché, jelikož je binární – máme jen dvě možnosti, buď doma jsme nebo ne.
Ostatní hodnoty jsou už pro tento případ nepovinné, ale pojďme se na ně podívat.
Pole Z
definuje nutný počáteční stav – v našem případě by to byla hodnota not_home
, nicméně jak jsme si řekli můžeme ho pro tento příklad vynechat.
Pole Po dobu
pak definuje minimální dobu po které se stav nesmí změnit, tj. například pokud bychom zde přidali 30 minut
, tak by se spouštěč aktivoval pouze tehdy, pokud jsme přišli domů a jsme zde už po dobu 30 minut. Kdybychom kdykoliv během této doby odešli aktivace spouštěče by se zrušila.
Podmínky
Třetím blokem jsou podmínky. Tento blok je nepovinný a pokud nepotřebujeme automatizaci omezit podmínkami můžeme ho kompletně vynechat. To ale nebude případ našeho příkladu, jelikož potřebujeme přidat podmínku na západ slunce.
Nejprve proto klikneme na přidat podmínku a v typu podmínky vybereme Slunce
. Samotný editor podmínek pro slunce je na první pohled možná až příliš složitý. Prvním krokem je si uvědomit jestli nás bude zajímat západ nebo východ slunce a druhým pak jestli chceme spouštěč aktivovat pokud je před/po východu/západu slunce. My chceme po západu slunce a tak klikneme na Západ slunce
v sekci Po
.
Volitelně pak můžeme ještě přidat prodlevu
, tj. např. pokud chceme spouštěč aktivovat až několik minut po západu slunce.
Akce
Posledním blokem je definice akce, která se má vykonat. My bychom rádi rozsvítili lampičky. K tomu se nám bude hodit akce typu Zavolat službu
, která se postará o zavolání služby light.turn_on,
nebo-li zapnutí světel. Do pole entit
pak zadáme entitu, která se má zapnout. Já už mám vytvořenou skupinu světel s názvem myroom_small_lights
, takže ji rovnou použiju.
V poli data služby
bychom mohli přidat nějaké specifické nastavení služby, tj. v případě lampiček, pokud to podporují, můžeme rovnou přidat hodnotu jasu, popř. i barvu světla.
Jakmile máme hotovo klikneme na ikonku diskety v pravém dolním rohu a automatizace tím je vytvořena a hned i aktivována.
Pomocí přepínače v seznamu automatizací tak můžeme automatizace rychle vypínat/zapínat a editovat.
Když se nyní podíváme do souboru automations.yaml uvidíme tam automaticky vygenerovaný YAML kód z UI:
- id: '1584457926250'
alias: Lampičky po příchodu domů
description: Rozsvícení lampiček po příchodu domů pokud je už po západu slunce
trigger:
- entity_id: person.jiri_vyoralek
platform: state
to: home
condition:
- after: sunset
condition: sun
action:
- data: {}
entity_id: light.myroom_small_lights
service: light.turn_on
… který můžeme dále editovat a nebo si uložit jako pro zálohu.
Vytváření automatizací přes UI v HomeAssistantovi je opravdu jednoduché, i když je zde stále co zlepšovat zejména ve složitosti některých editorů. Stále budete nuceni alespoň elementárně rozumět jak HA uvnitř funguje a k čemu slouží entity a stavy. Nicméně je to i tak velký krok kupředu oproti manuální editaci YAML souborů a rozhodně všem doporučuji si to minimálně zkusit.
V dalším díle se podíváme na totožný příklad automatizace vytvořený tentokráte pomocí workflow NodeRed, který umí velice dobře spolupracovat i s HA.
Kompletní minisérie o vytvoření domácí automatizace obsahuje následující články:
Add comment