Přeskočit na hlavní obsah

Automatizace v Home Assistantovi

Automatizace jsou základním kamenem v Home Assistantovi, umožňují propojit jednotlivá zařízení mezi sebou a definovat akce, které se mají provést v závislosti na konkrétních podmínkách a spouštěčích.

Integrace

Základní bloky automatizace

  1. Když - Tato část definuje spouštěč, který aktivuje automatizaci. Je možné definovat jeden nebo více spouštěčů. Každý spouštěč může mít volitelně definované jedinečné ID, které pak lze později použít v sekci co se má udělat.

    Automatizace Když

  2. A pokud (volitelné) - Zde lze definovat podmínky, které musí být splněny pro spuštění automatizace. V případě více podmínek musí být obvykle splněny všechny, což se dá přirovnat k logickému "a". Můžeme však použít tzv. stavební bloky pro vytvoření složitějších logických struktur, jako je logické "nebo", což umožňuje spuštění automatizace, pokud je splněna alespoň jedna z podmínek.

    Automatizace Podmínka

    Globální podmínky automatizace

    Tyto podmínky si můžeme představit jako podmínky globální, tj. budou platit pro všechny akce uvedené níže.

  3. Pak udělat - Toto je seznam akcí, které se vykonají, pokud byla automatizace spuštěna a podmínky splněny.

    Automatizace Akce

Jednoduchý příklad automatizace

Představte si dvě fyzická zařízení - např. Zigbee tlačítko a WiFi žárovku. Díky Home Assistantovi můžeme tyto zdánlivě rozdílné technologie propojit.

Zadání

Budeme chtít rozsvítit žárovku pomocí tlačítka, ale pouze za předpokladu, že už zašlo slunce.

Řešení

V našem jednoduchém příkladu si vystačíme pouze se základními bloky automatizace, která nastavíme takto:

  1. Když - spouštěčem bude zmáčknutí Zigbee tlačítka.

  2. A pokud (volitelné) - omezující podmínka bude stav slunce po západu.

  3. Pak udělat - a konečně akcí bude rozsvícení WiFi světla.

Schéma automatizace

Pro lepší představu nám můžeme posloužit schéma automatizace, kdy vidíme i stav, který nemusíme definovat - co se stane pokud podmínka není splněna.

Automatizace Akce

Typy podmínek

Číselné nebo textové podmínky

Další možností jsou podmínky kdy stav odpovídá určité číselné nebo textové hodnotě.

  1. Číselný stav - otestuje zda je číselný stav určité entity větší/menší než zadaná hodnota. Například zda teplota je vyšší než 20st.

    Automatizace podmínka číselný stav

  2. ID spouštěče - otestuje zda automatizace byla spuštěna jedním z vyjmenovaných spouštěčů definovaných pomocí ID.

    Automatizace podmínka id spouštěče

  3. Stav nebo zařízení - tato podmínka ověřuje aktuální stav entity nebo zařízení v okamžiku spuštění automatizace. Rozlišujeme dva typy:

    • Stav entity: Testuje konkrétní atribut nebo hodnotu jednotlivé entity (např. zda je světlo zapnuté).
    • Stav zařízení: Kontroluje celkový stav zařízení, které může mít více entit (např. zda je termostat v režimu vytápění).

    Automatizace podmínka zařízení

Čas a místo

  1. Čas - otestuje zda je automatizace spuštěna před/po určitém času, který může být definovanou ve tvaru HH:MM:SS (hodina:minuta:sekunda) a nebo pomocí pomocníka.

    Automatizace podmínka čas

  2. Slunce - otestuje zda je automatizace spuštěna před/po východem/západem slunce. Je možné definovat i časový posun od tohoto okamžiku.

  3. Zóna - otestuje zda entita s polohou (typicky osoba) vstoupila do určité oblasti - zóny.

    Automatizace podmínka zóna

Logické podmínky

Stavební bloky pro složitější podmínky, kdy jich chceme kombinovat více dohromady.

  1. A (průnik nebo-li logická konjunkce) - otestuje zda jsou splněny všechny podmínky

  2. Nebo (sjednocení nebo-li logická disjunkce) - otestuje zda alespoň jedna z podmínek je pravdivá

  3. Ne (negace) - otestuje zda podmínka není pravdivá

Úprava automatizací v Home Assistantu

Home Assistant nabízí dva způsoby editace automatizací, které umožňují uživatelům přizpůsobit své chytré domácnosti podle vlastních potřeb.

Vizuální editor

Vizuální editor je výchozí a uživatelsky přívětivá volba pro úpravu automatizací. Tento přístup je ideální zejména pro začátečníky a pro vytváření základních automatizací. Hlavní výhody vizuálního editoru jsou:

  • Intuitivní rozhraní: Umožňuje "naklikat" veškeré nastavení bez nutnosti znalosti kódu.
  • Nápověda: Poskytuje vedení při vytváření funkčních automatizací.
  • Minimalizace chyb: Snižuje riziko syntaktických chyb, které mohou nastat při ručním psaní kódu.

YAML kód

Editace pomocí YAML kódu nabízí pokročilejším uživatelům větší flexibilitu a kontrolu nad automatizacemi. Tento přístup je vhodný pro: Komplexní automatizace: Umožňuje vytvářet složitější logiku a podmínky.

  • Přenos automatizací: Snadné kopírování a přenos automatizací mezi různými instancemi Home Assistanta.
  • Zálohování: Možnost jednoduše zálohovat konkrétní automatizace v textové podobě. Pro obecné zálohy, ale doporučuji použít raději klasické zálohy.
Upozornění

Při editaci YAML kódu je třeba dbát zvýšené opatrnosti, protože nesprávné úpravy mohou vést k nefunkčnosti automatizace.

Přepínání mezi režimy

Home Assistant umožňuje flexibilní přepínání mezi vizuálním editorem a YAML kódem:

  • Otevřete editaci automatizace.
  • Klikněte na třítečkové menu v pravém horním rohu.
  • Zvolte požadovaný režim editace.

Tato funkce umožňuje využít výhody obou přístupů podle aktuální potřeby.

Příklad automatizce - vizuální mód vs. YAML kód

Automatizace editační mód

alias: System - týdenní záloha (Auto backup)
description: ""
mode: single
triggers:
- at: "22:10:00"
trigger: time
conditions:
- condition: time
weekday:
- sun
actions:
- data:
exclude:
addons:
- Studio Code Server
folders:
- Local add-ons
- share
compressed: true
keep_days: 28
action: auto_backup.backup_full

Komentáře