Menu Zavřeno

Hass.io – první automatizace

Tento článek je oproti videu aktualizovaný a může obsahovat odpověďi na vaše případné otázky.

Chytrá domácnost je mainstreamový pojem. Ovšem ta stejná věc se velmi často označuje i výrazem domácí automatizace. A Hass.io (varianta Home Assistanta, kterou jsme instalovali na Raspberry Pi 3b+) nabízí velice šikovnou formu jak tyto automatizace vytvářet a spravovat.

V minulém díle jsme si vyzkoušeli zaintegrovali chytrou žárovku pomocí postupu, kterým můžete zaintegrovat prakticky vše, co platforma Home Assistant podporuje. Tu využijeme a necháme ji rozsvicovat a zhasínat se na podnět z pohybového čidla.
Nepoužívám žádné proprietární pohybové čidlo jaké jistě znáte, ale zužitkovávám starší tablet (konkrétně jeho přední kameru), který mi slouží i jako ovládací panel zobrazující webové rozhraní Home Assistanta. K tomu slouží aplikace WallPanel.
Odkaz na stránku o WallPanelu
Odkaz na aplikaci WallPanel pro Android

Pojďme automatizovat

Editor automatizací nalezneme ve webovém rozhraní. Otevřete si v prohlížeči svou instanci Home Assistanta (nejčastěji na http://hassio:8123 ) a přejděte do Nastavení > Automatizace a pomocí + v pravém dolním rohu přidejte novou automatizaci. Vyskočí vám okénko umožňující předpřipravit automatizaci tím, že zadáte v jedné větě co chcete docílit. Zatím je to v experimentálním režimu a pouze anglicky. Základní automatizace využívající „zařízení“ se tím vytvořit dají, ale já chci dnes pracovat s entitami, takže klikám na SKIP (přeskočit) a pokračuji do klasického editoru automatizací.

Nový pomocník rychlého vytváření automatizací.

U každé automatizace nalezneme:

  • Název (není nutno vyplnit)
  • Popis (není nutno vyplnit)
  • Spouštěče
  • Podmínky (není nutno vyplnit)
  • Akce

Spouštěče

Spouštěč je situace na kterou Home Assistant čeká. Jakmile nastane, aktivuje se daná automatizace. Máme k dispozici opravdu velké množství různých typů spouštěčů.
Jedna automatizace může mít několik spouštěčů.

  • Zařízení
    Část integrací do Home Assistanta funguje tak, že přidá nové zařízení. Toto zařízení má pak pod sebou jednotlivé entity. Takže například zařízení chytrá zásuvka v sobě bude obsahovat entitu switch pro spínání zásuvky a entitu sensor, která ukazuje aktuální odběr ve wattech.
    Použijete-li zařízení jako spouštěč, musíte ještě zvolit kterou entitu chcete konkrétně použít a případně jaké hodnoty má přesáhnout, aby se automatizace spustila.
  • Události
    Home Assistant poskytuje i některé své vnitřní procesy jako spouštěč. Pravděpodobně pro toto nenajdete v běžné domácnosti využití, ale podrobný výpis událostí naleznete zde.
  • Geolokace
    Tento spouštěč využívá platformu Geolokace, která registruje přírodní katastrofy ve světě. Můžete tak nastavit aby Home Assistant něco udělal, když se ve vámi nastavené zóně podle informací z této platformy např. rozšíří požáry. Nutno říct, že u nás tato platforma funguje jen omezeně.
  • MQTT
    Jedná se o nenáročný síťový komunikační protokol. Když to zjednoduším, můžete pomocí toho provozovat například Wi-Fi senzory komunikující s Home Assistantem bez potřeby nějaké cloudu. Nicméně je to hezky popsáno v tomto článku. Chcete-li mít přímo vlastní MQTT „server“, můžete si nainstalovat add-on Mosquitto broker. MQTT spouštěč čeká na danou zprávu na daném topicu.
  • Číselný stav
    Home Assistant sleduje entitu a čeká až její číselná hodnota přesáhne nebo klesne pod cílovou hodnotu. Dá se také specifikovat jak dlouho má toto přesáhnutí trvat než se automatizace opravdu spustí. Je to vhodné pro číselné senzory jako jsou teplotní čidla, čidla intenzity osvětlení, měřiče vlhosti nebo zátěž zásuvky.
  • Stav
    Jedná se o stav entity. Podle typu entity se liší různé stavy. Binární senzory mají stavy on a off, device_tracker entity mají zase home a not_home. Stavy vašich entit najdete ve Vývojářské nástroje > Stavy . Taktéž jako u číselných stavů můžete nastavit dobu po jakou má být daný stav aktivní aby došlo ke spuštění automatizace.
  • Slunce
    Tento spouštěč využívá platformu Sun (slunce) která, podle vámi zadané polohy domácnosti při prvotním nastavování Home Assistanta, je schopná registrovat východ a západ slunce ve vaší oblasti. Stejně tak můžete nastavit manuálně posun oproti západu/východu slunce např. na 45 minut před východem slunce.
  • Šablona
    Do tohoto nebudu zabíhat, protože pro laiky je to nevyužitelné a zkušenější skriptaři si poradí s oficiální dokumentací, která je zde.
  • Čas
    Naprosto triviální spouštěč. Jednoduše nastavíte čas ve formátu HH:MM:SS, například 15:30:00 -> půl čtvrté odpoledne.
  • Časový vzorec
    Pro uživatele linuxu, kteří znají Crontab, je to naprosto běžná věc. Pro laiky je potřeba pochopit zápis, který je specifikovaný zde. Ale ve zkratce:
    Zadáme-li do políčka Minuty hodnotu 5 , dojde ke spuštění každou hodinu v páté minutě.
    Zadáme-li do políčka Minuty hodnotu /5 , dojde ke spuštění každou hodinu co pět minut.
    Zadáme-li do políčka Hodiny hodnotu 13 a do políčka Minuty hodnotu *, dojde ke spuštění každou minutu mezi 13. a 14. hodinou odpoledne.
  • Webhooky
    Toto je opět trochu složitější téma a vhodné minimálně pro volnočasové skriptaře. Důkladně popsáno zde. Webhooky využívají Nabu-Casa cloud, takže pro jejich využití si musíte platit předplatné.
  • Zóna
    Home Assistant dokáže pracovat s device_trackery a také sledovat pohyb osob např. pomocí mobilní aplikace. Zároveň tyto polohy dokáže porovnávat s předdefinovanými oblastmi a spouštět automatizace na základě vstupu nebo opuštění daných oblastí danými entitami.

Níže si můžete prohlédnout galerii spouštěčů s příklady.

Příklad číselný stav. Je-li teplota v obýváku vyšší než 22 stupňů po dobu delší než 5 minut.
Geolokace. Dojde-li k rozšíření požárů v oblasti mého domova.
Příjde-li na topic obyvak/topeni/radiator zpráva „on“.
Spusť automatizaci 45 minut před východem slunce.
Spusť automatizaci když entita person.kouzelnik změní stav z home na not_home na dobu delší než 10 minut. Nebo-li když odejdu na více než 10 minut z domů. (např. zhasni dekorační světla v pracovně)
Jednoduchá událost – vypne-li se Home Assistant (tak mi např. pošli notifikaci na telefon)
Je-li stisknuto tlačítko č. 3 na ovládacím panelu
Pokud osoba kouzelník vstoupí do zóny home.
V 15:30 každý den spusť tuto automatizaci. (např. začni hlídat teplotu v domácnosti, protože se budeme vracet domů)
Spouštěj automatizaci co 5 sekund každou minutu mezi 13. a 14. hodinou odpoledne.

Podmínky

Ve chvíli když spouštěč zaregistruje jeho naplnění, pokračuje automatizace na podmínky. Nemusí být nastavena žádná podmínka nebo jich může být opět několik a v tom případě musí být jako podpodmínky sloučené v podmínce A – nebo-li pokud jsou splněny všechny podpodmínky. Případně NEBO – pokud je splněna nějaká z podpodmínek. Pokud podmínka není splněná, automatizace nepokračuje na žádnou akci! Tentokrát si je nebudeme složitě rozepisovat, jelikož je to dost podobné spouštěčům. Pro jistotu ale přiložím níže pár obrázků s příklady.
K dispozici máme následující podmínky:

  • Zařízení
  • Číselný stav
  • Stav
  • Slunce
  • Šablona
  • Čas
  • Zóna
Automatizace bude pokračovat na akci, pokud ledky_pracovna jsou vypnuté.
Automatizace bude pokračovat na akci, pokud teplota v ložnici je mezi 22 a 27 stupni celsia.
Podmínka A zajistí, že automatizace bude pokračovat jen když bude noc (resp. po západu slunce a před východem slunce) a zároveň osoba Klárka se nachází doma.

Akce

Po spuštění a ověření podmínek Home Assistant přistupuje k provádění akcí. Těch může být několik a v tom případě se spouštějí postupně v pořádí v jakém je zadáváme.
Tady vypíchnu jen akce, které za mě davá smysl používat:

  • Zařízení – dovoluje ovládat aktivní entity u našich zařízení
  • Stav – umožňuje nastavit stav entitám
  • Aktivovat scénu – můžeme jednoduše spustit scénu
  • Zavolat službu – pomocí tohoto se dají také zapínat světla, nastavovat cílová teplota termostatů, ovládat multimediální server Kodi apod. Každá integrace obsahuje informace o tom jaké služby na ní můžete volat. Jaké služby máte konkrétně vy k dispozici naleznete zde (Vývojářské nástroje > služby).
  • Zpoždění – má smysl když spouštíte několik akcí po sobě a chcete mezi nimi vytvořit časovou prodlevu
  • Čekání – vyžaduje trochu složitější zápis, ale ve své podstatě čeká až se splní nějaká podmínka (případně dokud nevyprší časový limit)

Opět by mohly trochu pomoci příklady:

Zapni LEDky pod postelí, 5 minut čekej a pak je zhasni.
Čekej dokud neustane pohyb u vstupu a následně zamkni zámek.
Příklad akcí večerní automatizace – zhasni pomalým tlumením všechna světla, aktivuj scénu sleep_mode (představte si pod tím nějaká dekorativní noční světla na chodbě pro půlnoční návštěvy wc) a nastav regulaci teploty na 21 stupňů.

Tipy

Automatizace můžete začít vytvářet rovnou z detailu konkrétního zařízení. To naleznete v Nastavení > Zařízení > *nějaké vaše zařízení*. Tam pak uvidíme pod sebou postupně možné Spouštěče, Podmínky a Akce. Po kliknutí na jednu z nich se nám otevře editor automatizací s předvyplněním toho na co jste kliknuli.

Automatizace můžete spravovat i pomocí textového editoru nebo přes Configurator.
Spusťte konfigurátor a místo obvyklého souboru configuration.yaml přejděte pomocí složky v levém horním rohu do souboru automations.yaml. Tam vidíte v textovém formátu všechny automatizace, které máte k dispozici i v editoru. Toto je příklad automatizace „Světlo na pohyb“, kterou jsem dělal ve videu.

To je pro dnešek vše, vzhůru do automatizování!

Napište mi co vás dále zajímá a jak vám byl tento článek užitečný. Příště se podíváme na práci se zálohami a jak Home Assistanta obnovit po nějakém nešťastném pádu systému. Pokud máte problém s nějakým nastavením, zkuste jej napsat zde do komentáře, případně se přidejte do naší FB skupiny Smart Home Bastlíři CZ/SK, kde vám ostatní rádi poradí.
Zároveň můžete najít Hello-Future na těchto sítích:
Instagram: https://www.instagram.com/hellofuturecz
Youtube: https://www.youtube.com/channel/UCaq4XkexFgCCLTFNQKXcwyw

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *