Home Assistant je software pro vytvoření a ovládání chytré domácnosti. Vyhledá ve vaší síti chytrá zařízení a umožní jim spolu vzájemně komunikovat. Všechna zařízení tak lze sledovat nebo ovládat z jednoho místa – z internetového prohlížeče nebo aplikace v mobilním telefonu. Uživatelské rozhraní funguje na systému dlaždic, na kterých si zobrazíte jen ty informace, které vás zajímají. Můžete také vytvářet různé automatizace na základě stavu zařízení nebo podle sledovaných veličin.
Prostředí Home Assistant zkusím vysvětlit z pohledu nováčka, který s tímto software v minulosti několikrát začal, ale vždycky (kvůli nepochopení) skončil. Ani ne před měsícem to ale všechno do sebe začalo zapadat. Jsem tedy jen o malý krůček před nováčky, ale snad dost zkušený na sepsání informací pro úplné začátečníky.
Pokud jste alespoň trochu geek, určitě doma najdete několik věcí, na kterých si chytrou domácnost můžete vyzkoušet. Nebudu ani moc přehánět, když napíšu, že cokoliv, co máte připojené k internetu, můžete zároveň připojit do Home Assistant. Díky silné komunitě totiž Home Assistant podporuje přes 1500 integrací různých systémů. Seznam podporovaných zařízení se s každou aktualizací rozšiřuje. Aktualizace jsou vydávány 1x až 2x do měsíce.
Co tedy lze k Home Assistant připojit? V mé domácnosti to byl mobilní telefon, televize LG, Synology NAS, LED osvětlení a několik chytrých zásuvek (koupil jsem si je jako hračku, bez jasného plánu, co s nimi). Arduino a ESP projekty zatím nepočítám.
U vás doma to může být, alarm, jakákoliv IP kamera, termostaty a meteostanice, rolety a garážová vrata, klimatizace, osvětlení, některý z fitness náramků, multimediální přehrávače, vypínače nebo internetové předpovědi počasí.
Jaký je rozdíl mezi Home Assistant, Home Assistant Core, Hass.io, HassOS a Hassbian
Nikde se o tom moc nemluví, ale myslím si, že pro začátečníky jsou tohle nezbytné informace. Na začátku roku 2020 proběhlo přejmenování, takže pokud budete číst starší návody nebo články, nejspíše budou používat jiné názvy.
Instalace HassOS
Celý postup instalace je srozumitelně (anglicky) popsán na oficiálním webu. Tam naleznete i odkazy na jednotlivé obrazy souborů. Takže návod na instalaci píši jen velmi stručně.
- Stáhněte si obraz odpovídající vaší verzi Raspberry Pi. Sám provozuji HassOS na Raspberry Pi2 a i když patří mezi nedoporučené zařízení, zatím jsem nezaznamenal žádné problémy.
- Připravte si 32GB SD kartu a vytvořte z ní spouštěcí disk. V Ubuntu k tomu používám předinstalovaný program „Vytvořit spouštěcí médium“.
- Připojte Raspberry přes LAN kabel k routeru.
- Vložte SD kartu a připojte napájení.
- Instalace a stažení nejnovější verze proběhne sama, nemusíte dělat vůbec nic. Jen čekáte, asi tak 20 minut.
- Připojte se do vašeho routeru a zjistěte, jakou IP adresu dostal Home Assistant přidělenou.
- Do internetového prohlížeče zadejte přidělenou IP adresu a port číslo 8123. Například http://192.168.0.11:8123
- Vytvořte si uživatelský účet, vyberte umístění domova (např. kvůli předpovědi počasí) a můžete začít.
Jak se zorientovat v prostředí Home Assistant
Nevím, jestli je to jen můj pocit, ale prostředí aplikace na mě působí, jako jeden velký zmatek. Jsou tu svislé menu, vodorovné menu, menu v podmenu, některé volby se přesouvají z místa na místo a mizí u nich ikonky. Uklidňuji se domněnkou, že je to vše způsobeno bouřlivým vývojem a jsem rád, že se vývojáři soustředí na funkčnost, a ne na vzhled.
![Menu v Home Assistant](https://tatageek.blog/wp-content/uploads/2020/05/1-1024x502.png)
Nenechme se tedy odradit a pojďme na to.
Vývojářské nástroje
![Prostředí Home Assistant -Vývojářské nástroje, karta informace](https://tatageek.blog/wp-content/uploads/2020/05/2-1024x502.png)
Stavy – tady lze nasimulovat stav jednotlivých entit. (Každé připojené zařízení nebo jeho vlastnost je zastoupeno určitou entitou, ovládáte vlastně entity a ne zařízení. Více o tom později). Je to dobré například k testování automatizací, kdy na základě stavu jedné entity se provede nějaká akce. V kartě také najdeme seznam všech entit a jejich atributů (informací, které z daného zařízení čteme nebo které ovládáme). Vše, co zde změníte, nemá vliv na skutečné zařízení.
![Home Assistant - seznam všech entit a jejich atributů](https://tatageek.blog/wp-content/uploads/2020/05/stavy-1024x575.png)
Služby – dobré místo pro testování YAML kódu. Testoval jsem zde například kód pro automatizaci ovládání světel – změna barvy a jasu. Kódem ovládáte přímo připojené zařízení.
Logy – objevují se zde informace o problémech. Záložku nepoužívám. Myslím, že sem jsou odkazována oznámení (pokud se jedná o oznámení chyby).
Šablony – až tuto kartu pochopím a začnu ji používat, doplním informace.
Události – až tuto kartu pochopím a začnu ji používat, doplním informace.
MQTT – karta slouží k testování MQTT komunikace. Co je to MQTT a jak ho zprovoznit na Synology jsem psal už v minulosti.
Informace – Kromě informace o nainstalované verzi Home Assistant zde naleznete odkazy na dokumentaci ke každé nainstalované integraci. Integrace si představuji jako ovladače pro přidaná zařízení. Když chci komunikovat s naší LG Smart TV, přidám integraci LG webOS Smart TV.
![Home Assistant - dokumentace k integracím](https://tatageek.blog/wp-content/uploads/2020/05/dokumentace-k-integrac%C3%ADm.png)
Supervisor
Tahle karta se dříve jmenovala Hass.io. Na začátku roku 2020 došlo k přejmenování na Supervisor. Pokud uvidíte nějaký návod, který se odkazuje na položku Hass.io, nebojte se, že by vám v menu něco chybělo, jedná se o položku Supervisor.
![Home Assistant - Supervisor (dříve Hass.io), karta Add-on store](https://tatageek.blog/wp-content/uploads/2020/05/3-1024x502.png)
Někdy je praktické, vytvořit odkaz na nejčastěji používané doplňky, přímo do levého menu. Kliknete na dlaždici s nainstalovaným doplňkem a aktivujete přepínač show in sidebar.
![Home Assistant - Vytvoření odkazu na doplněk](https://tatageek.blog/wp-content/uploads/2020/05/show-in-sidebar-1024x500.png)
Dashboard – zde se nachází přehled všech nainstalovaných doplňků. Pokud je k dispozici aktualizace, zobrazí se nová dlaždice. Všimněte si, že aktualizujete Home Assistant Core (tedy jádro) nebo Supervisor (tedy dřívější Hass.io neboli centrum doplňků).
Když už píšu o aktualizacích, ještě jsou k dispozici aktualizace jednotlivých doplňků, které takhle v Dashboardu nevyskakují. Když ale kliknete na dlaždici doplňku, otevře se nastavení a najednou vidíte, že je aktualizace k dispozici. Pokud to doplněk podporuje, můžete u něj povolit automatickou aktualizaci a nemusíte nic dál hlídat.
![Home Assistant aktualizace](https://tatageek.blog/wp-content/uploads/2020/05/update-HA.png)
![Home Assistant aktualizace](https://tatageek.blog/wp-content/uploads/2020/05/update-Supervisor.png)
![Home Assistant aktualizace](https://tatageek.blog/wp-content/uploads/2020/05/update-add-on.png)
Add-on store – obsahuje oficiální doplňky, i rozšíření třetích stran. Další zdroje můžete přidat kliknutím na 3 tečky a Repositories. Následně napište URL adresu zdroje doplňku.
![Přidání zdroje pro Home Assistant doplňky](https://tatageek.blog/wp-content/uploads/2020/05/p%C5%99id%C3%A1n%C3%AD-zdroje-dopl%C5%88k%C5%AF-1024x500.png)
Snapshots – je místo pro vytváření záloh. Zálohu můžete vytvořit kompletní nebo jen částečnou, kde si vyberete, co má být zálohováno.
System – tuto kartu používám jen k jediné věci, klikám zde na tlačítko „REBOOT“ (reboot najdete i na spoustě jiných míst). Pokud něco změníte, častokrát se to projeví až po restartu.
Nastavení
Jestli existuje UX/UI peklo, pak ho zajisté najdete pod položkou nastavení. Objeví se menu (nepochopitelně odsunuté do boku), které působí jako rozbalovací, ale po kliknutí na některou z položek, se skupiny položek přesouvají nahoru a mizí jim jejich ikonky. O něco lépe to působí v mobilní aplikaci, kde není volný prostor, ale položky se přesouvají pro změnu dolů, ikonky zůstávají a mizí texty. No nic, časem si zvyknete, je to jen kosmetické mínus.
![Nastavení Home Assistant - 2 obrazovky spojené do jednoho obrázku](https://tatageek.blog/wp-content/uploads/2020/05/4-1005x1024.png)
Dlužno dodat, že stejný design se opakuje například při vytváření automatizace a zde již rozložení prvků smysl dává. Doufám, že se UX/UI pro nastavení, časem změní k lepšímu. Pojďme se podívat na jednotlivé položky tohoto menu.
Home Assistant Cloud – slouží k vzdálenému ovládání vaší chytré domácnosti. Jedná se o placenou službu, kterou pro provozování Home Assistenta nepotřebujete. Peníze jdou na další vývoj aplikace.
Integrace – si představuji jako ovladače pro přidaná zařízení, která můžete ovládat nebo číst jejich stav. V tomto místě se objevují buď automaticky nebo je můžete ručně.
![Home Assistant - seznam integrací](https://tatageek.blog/wp-content/uploads/2020/05/5-1024x502.png)
Zařízení – seznam fyzických zařízení, které jsou propojené s Home Assistant. Má to však jednu záludnost, ne všechny připojená zařízení se zde objevují. Například má LG Smart TV zde není. A naopak některá zařízení tu naleznete vícekrát. Například můj Synology NAS je mezi zařízeními celkem 4x (Synology NAS, Synology NAS sda, Synology NAS sdb, Synology NAS volume_1).
Registr entit – jak jsem již psal, každé připojené zařízení nebo jeho vlastnost je zastoupeno určitou entitou. Entitu si můžete vytvořit i ručně, bez nutnosti existence fyzického zařízení (např. jsem si vytvořil entitu input_number.studna_manual, díky které dostávám ručně změřené množství vody ve studni do historie v Home Assistant). Entity jsou tříděny do různých skupin, skupinu určuje část před tečkou v názvu. Nejčastější skupiny jsou automation (které vznikají vytvořením automatizace), light (pro světla), sensor (pro senzory a čidla) a switch (pro vypínače). Přes entity sledujete a měníte stav zařízení.
Registr oblastí – slouží k pojmenování umístění vašich zařízení.
Automatizace – seznam všech automatizovaných akcí, které jste si nastavili. Například časovače pro světla v akváriu nebo rozsvícení LED osvětlení před západem slunce. Fantazii se meze nekladou.
Scény – nejspíš mají hromadně měnit stavy jednotlivých entit. Například scéna „mimo domov“ by mohla vypnout dekorační osvětlení v domě, aktivovat alarm, snížit teplotu na termostatech atd. Zatím jsem scény na nic nepoužil, tak nevím.
Skript – než jsem objevil „Vývojářské nástroje“ > „Služby“, testoval jsem tady YAML kód. Jinak jsem skripty na nic nepoužil a dál jsem je nezkoumal.
Pomocníci – můžete zde vytvořit ručně ovládané prvky, jako například přepínače, vstupní textová a číselná pole, záznamy datumu a času nebo rozbalovací nabídky.
Lovelace Dashboardy – umožňuje spravovat domovské obrazovky. Nejen, že můžete vytvořit několik karet na domovské obrazovce, ale můžete vytvořit i několik domovský obrazovek.
Osoby – vytváří seznam osob v domácnosti. Přes sdílení polohy můžete sledovat pohyb těchto osob. V tomto místě se určuje, ke kterému uživateli, které mobilní zařízení patří. Na začátku jsem dlouho přemýšlel, jak dostat můj mobilní telefon do Home Assistant. Nakonec jsme zjistil poměrně logickou věc, musím si do telefonu nainstalovat aplikaci Home Assistant.
Zóny – můžete definovat místa na mapě, například domov, škola, zaměstnání, hospoda, nejoblíbenější kamarádka atd. Automatizace můžou probíhat na základě těchto zón. Například, když osoba TataGEEK opustí zónu hospoda a přijde do zóny domov, rozsvítit venkovní světlo a odemknout zámek na vrátkách. Zóny jsou vhodné, pokud nejste paranoidní (sledování), navzájem si s členy domácnosti věříte (sledování) a nemáte co skrývat (sledování).
Uživatelé – vytváří uživatele pro přístup do Home Assistant.
Obecné – mapa s umístěním domácnosti, pro věci jako předpověď počasí, západ a východ slunce apod. Je zde také interní URL adresa Home Assistant.
Ovládání serveru – pokud něco ručně změníte v YAML konfiguračním souboru, můžete zde ověřit, že je kód funkční. O kousek níže jsou pak tlačítka pro znovu načtení automatizací, skriptů, scén, osob, atd. Na konci pak můžete restartovat Home Assistant server.
Přizpůsobení – upravuje atributy jednotlivých entit. Zatím jsem do toho neměl potřebu sahat. Myslím, že každý neznalý zásah něco zničí.
Co je dobré udělat na začátku, než začnete Home Assistant používat
- Určitě je dobré nainstalovat rozšíření „File editor“ Přejděte do „Supervisor“ > „Add-on store“ a klikněte na dlaždici File editor. Dále klikněte na install, zaškrtněte „show in sidebar“ a pak nainstalovaný doplněk spusťte. Díky doplňku File editor budete v budoucnu upravovat YAML soubory přímo z aplikace Home Assistant. Na začátku YAML soubory vypadají nepřívětivě, ale nakonec zjistíte, že je to programovací syntaxe, jako každá jiná.
- Dále mám nainstalovaný doplněk „Samba share“, který slouží k vzdálenému přístupu. Tady si už moc nepamatuji nastavení. Pokud ho budete instalovat, nějaký návod určitě naleznete.
- Udělejte si zálohu, ať se nebojíte zkoumat. I když na začátku můžete naformátovat kartu a začít znovu.
- Do telefonu si nainstalujte mobilní aplikaci. Jen tak dostanete svůj android mobil do Home Assistant. S produkty Apple zkušenosti nemám.
Shrnutí důležitých odkazů
- DEMO Home Assistant – podívejte na dashboard (ovládací panel) a vyzkoušejte si měnit nastavení. Je to užitečný pomocník pro pochopení základů
- Stažení a instalace HassOS – odkazy na HassOS pro různé verze Raspbegrry Pi a návod k instalaci
- Seznam všech integrací – je stále se rozšiřující seznam výrobců a technologií, se kterými Home Assistant komunikuje
- Instalace na Docker – pokud používáte Docker, můžete postupovat podle tohoto návodu.
- MDI Ikony – jednotlivé karty nebo senzory v Home Assistant mohou být opticky rozlišené pomocí MDI ikonek (Material Design Icons). Ikonku vyberte ze seznamu všech MDI ikonek, jen změňte počáteční „mdi-„ na „mdi:“.
Další systémy pro vytvoření chytré domácnosti
Home Assistant není jediným nástrojem, pro vytváření chytré domácnosti. Má však silnou komunitu a podporuje obrovské množství chytrých zařízení. Pokud něco nepodporuje dnes, je zde velká pravděpodobnost, že se to v budoucnu změní. Pokud vám něco nefunguje, v diskuzích naleznete spoustu informací a někdo vám určitě pomůže.
Pokud budete chtít prozkoumat další systémy, můžete se mrknout na tyto projekty.
- Domoticz – https://www.domoticz.com/
- OpenHAB – https://www.openhab.org/
- Fhem – https://fhem.de/