Blog - Home Assistant 10 pic 1920x1080 px
|

Home Assistant seriál s Jakubem: Díl 10: Chytrá tlačítka

Úvod

V minulém díle jsme se lehce dotkli chytrých tlačítek. Chytrá tlačítka si určitě zaslouží vlastní díl – i když bude asi trochu kratší než ostatní. V předešlých dílech jsme si už ukázali vypínač od Sonoffu, který ale sloužil primárně k ovládání světel. Dnes si ukážeme bezdrátová WiFi tlačítka, která můžete nalepit nebo přivrtat kamkoli chcete a k jejich provozu stačí jen baterie, WiFi a špetka automatizace.

Chytrá tlačítka můžete použít pro sepnutí/zapnutí/vypnutí prakticky čehokoliv. Obrovskou výhodou je, že k tomu nepotřebujete jen chytrý telefon.

Tlačítek a vypínačů existuje na trhu velké množství, níže máte odkazy na ty, které mám vyzkoušené několik měsíců a fungují bez problémů.

Co budeme potřebovat:

Krátce o tlačítkách a vypínačích

Jak jsme si už řekli, tlačítek a vypínačů najdete na internetu nepřeberné množství. V současnosti mám jeden vypínač s třemi tlačítky, jeden se dvěma tlačítky a dva malé jednotlačítkové spínače („buttony“) a využívám je pro poměrně jednoduché vypínání/zapínání spotřebičů, zásuvek a světel.

Vypínače Moes

Všechny tři typy (jedno, dvou nebo třítlačítkový) se integrují naprosto stejně. Každé tlačítko podporuje tři typy akcí (stisk, dvojstisk, podržení), ke kterým můžeme přiřadit automatizace. Nemusíme tedy tlačítka používat jen k zapínání/vypínání jednoho spotřebiče, ale můžeme si nastavit až tři různé akce na jedno tlačítko. Třítlačítkový vypínač se hodí do větších místností nebo pro ovládání více spotřebičů. Můžete si třeba nastavit ovládání rolet, světel nebo klimatizace – a to vše díky automatizacím pouze v rámci jednoho vypínače.

Vložení baterie

Vypínač nejprve rozebereme. Plastovým otevíračem, trsátkem nebo – v horším případě – šroubovákem odcvakneme postupně levou a pak pravou západku na spodní části vypínače. Já už mám vypínač přilepený na stěně, takže to mám trochu složitější – ale na stole se to dělá mnohem snáz.


Poté do vypínače vložíme CR2032 baterii.

Integrace do HA

Nyní si otevřeme náš HA a přesuneme se do Zigbee2MQTT addonu. Instalaci jsme si ukazovali zde. Nahoře klepneme na „Povolit připojení (Vše)“. Podle typu vypínače nyní podržíme příslušné tlačítko: u třítlačítkového prostřední, u dvoutlačítkového levé – po dobu delší než 10 sekund, dokud všechny diody nezačnou modře blikat. Do pár sekund by se nám měl vypínač objevit v HA (já už jsem si ho pojmenoval – modrá tužka), pak je potřeba vyplnit název a zaškrtnout „Aktualizovat ID entity v Home Assistant“ :)).


V záložce „Vystavuje“ si můžeme zobrazit tři entity: Stav baterie, Akce a Kvalitu signálu. Někdy se stane, že v automatizaci později nefungují nebo se nezobrazují všechny akce tlačítka. Doporučuji tlačítko promačkat (každé tlačítko jednotlivým klikem, dvojklikem a podržením), poté by měly být k dispozici všechny akce.

Automatizace pro pračku a sušičku

Dvoutlačítkový vypínač mám umístěný v šatně nad pračkou. Pračka i sušička jsou zapojeny za chytrými zásuvkami, ke kterým se špatně dostává, takže je díky chytrému vypínači mohu jednoduše zapínat a vypínat jedním stiskem tlačítka.

Více o automatizaci a notifikacích jsme psali zde.

Automatizaci zásuvky by šlo ještě rozšířit – například o automatické vypnutí po delší době nečinnosti. To ale zatím nepoužívám.

Jak tedy nastavit chytrý vypínač? Přesuneme se do Settings->Automations & Scenes a klepneme na Create automation. Přidáme trigger, tj. v sekci When klepneme na Add Trigger a vybereme Device. V položce Device vyhledáme náš vypínač a vybereme Trigger, např. stisk tlačítka 1. Dále klepneme na tři tečky vpravo u triggeru, vybereme Edit ID a vyplníme např. „1-single-action“. Pro další tlačítka nebo druhy stisků je postup stejný: opět přidáme Trigger, vybeme v Device náš vypínač, vybereme trigger pro spuštění a přidáme si Trigger ID. Výsledné triggery pro dvě tlačítka by mohly vypadat takto:


Nyní se přesuneme do sekce Then do, vybereme Add action, vyhledáme Choose a přidáme jej. Klepneme na Add condition, vyhledáme Triggered by, přidáme a zaškrtneme příslušné ID, které jsme vytvářeli v předchozím kroku.

V posledním kroku přidáme akci, v mém případě se bude po klepnutí na tlačítko pomocí Toggle přepínat stav zásuvky na on/off. Vybereme tedy Add Action, vyhledáme „Perform action“ a přidáme ho. V poli Action vyhledáme „Switch: Toggle“ a přidáme. Jako target vybereme entitu naší zásuvky.


Stejný postup zopakujeme i pro další tlačítka. V bloku „Choose“ můžeme vytvořit kolik akcí se nám jen zlíbí :). Níže máte celý kód automatizace, jako vždy je potřeba si přepsat názvy entit.

Fantazii se ale meze nekladou, protože stiskem tlačítka můžete ovládat jakoukoliv entitu v HA :).

Celý kód automatizace

Automatizace pro lampičku, zásuvky a LEDky

Třítlačítkový vypínač mám nalepený na knihovně v ložnici a používám ho pro tři akce: zapnutí lampičky, přepínání zásuvky s pájkou a 3D tiskárnou, a zapnutí LED pásků v knihovnách. Prozatím mi stačí jen jednoduché kliknutí, ale do budoucna se jistě najde další zařízení, které budu chtít ovládat a nastavím si pro něj na nějakém z tlačítek třeba podržení nebo dvojklik :).

Princip automatizace je stejný – tři triggery s přiřazeným Trigger ID a blok Choose, který podle zvoleného tlačítka spouští konkrétní akci. U LEDek se vždy přednastaví předvolba s oranžovou barvou a poté se zapne controller. V tomto případě nejde o chytré zásuvky, ale o chytré controllery, které lze rovnou integrovat do Home Assistantu a použít pro řízení adresovatelných LED pásků. Více o LEDkách si řekneme v některém z budoucích dílů :). Pro tiskárnu s pájkou a lampičku se přepínají klasické chytré zásuvky.

Celý kód automatizace

Jednotlačítkový „button“ Loginovo

Buttony mám v domácnosti celkem dva. Jeden je v koupelně a jeho delší podržení nastaví termostat na 30°C a po dvaceti minutách jej automaticky vypne. Tlačítko používám např. po sprchování na usušení ručníku :). Na RPishopu najdete Chytré tlačítko Tuya, které se od mého Loginovo liší pouze tím, že má modou diodu místo červené, vzhled i funkce jsou stejné. 🙂

Druhý „button“ mám v ložnici a říkám mu „Tlačítko na dobrou noc“. Delším podržením tlačítka se začnou v 700ms intervalech vypínat světla, zásuvky a počítač. Využívám ho prakticky každý den a nemusím myslet na to, že jsem nechal rozsvícenou lampičku nebo zásuvku s pájkou. Jen podržím tlačítko a jdu spát :).

Integrace do HA

Nejprve tlačítko rozebereme otočením přední a zadní části proti sobě o několik stupňů a vložíme CR2032 baterii.


Nyní se přesuneme do Settings->Zigbee2MQTT a klepneme na „Povolit připojení (Vše)“. Tlačítko zmáčkneme na cca 10-12 sekund a uvnitř by měla zablikat červená dioda. Během několika sekund by se mělo tlačítko objevit v Home Assistantu. Tlačítko si pojmenujeme a nezapomeneme zaškrtnout aktualizaci ID entity v HA.

Tlačítko má navíc jednu specifickou entitu – Operation mode, která umožňuje přepínat mezi režimy command a event. Command se hodí např. na ovládání světel (vypnutí/zapnutí/změna jasu) a event je lepší pro jednotlivé události. V našem případě využijeme event.

Více informací o jednotlivých entitách naleznete zde.

Automatizace pro Tlačítko na dobrou noc

Tlačítko mám přilepené na posteli nad hlavou a když jdu spát, jen ho podržím a vše potřebné se vypne. V automatizaci mám pouze jeden jediný trigger, a to je podržení tlačítka.


V Sekci Then do máme několik po sobě jdoucích If-then akcí, kdy nejprve zkontrolujeme, zda je zařízení zapnuté a pokud ano, tak ho vypneme, pak vždy vyčkáme 700ms a pokračujeme na další akci. Zpoždění mezi akcemi by se dalo vynechat, ale je poměrně pěkné, jak se postupně zhasínají světla a vypínají zásuvky a díky zpoždění funguje celá automatizace spolehlivěji. Vy si samozřejmě můžete nastavit zpoždění kratší nebo delší a provádět úplně jakékoliv akce :).

Celý kód automatizace

Automatizace pro nastavení termostatu

Poslední případ využití, který si ukážeme, bude pro jednoduché nastavení teploty na termostatu pomocí MQTT protokolu. Využívám k tomu hlavici od Tuya, protože není úplně nejspolehlivější, co se týče automatického vytápění, tak našla uplatnění alespoň tady. Zapnout se, chvíli běžet a pak zase vypnout – to zvládne obstojně.

V automatizaci využívám externí skript, což není nutností, ale spíše mojí pohodlností. Vše by mělo jít napsat pomocí klasické automatizace, ale aspoň si rovnou můžeme ukázat, jak takový script vytvořit a spouštět. Hodí se to hlavně v případech, kdy občas chcete něco ve skriptu upravit, ale nechcete zasahovat do celé automatizace.

V Settings -> Automations & Scenes -> Scripts si nejdříve vytvoříme skript, klepneme tedy na Create Script. Příkazy budeme do hlavice posílat pomocí MQTT protokolu. Klepneme tedy na Add Action a vyhledáme „MQTT: Publish“ a přidáme ho.

Nastavíme si Topic na akci, kterou chceme provést a Payload na entitu, kterou chceme ovládat. V poli QoS nastavíme hodnotu 2 – tedy akce se provede přesně jednou.


Dokumentaci k hodnotám Topic a Payload najdete vždy u daného zařízení přímo na stránkách Zigbee2MQTT. V sekci Exposes je vždy popsáno, zda se daná entita dá číst nebo nastavovat.

V další části mám nastavenou akci Delay na 20 minut. To znamená, že automatizace dál běží, ale zároveň 20 minut čeká. Tím se nastaví teplota na 30 °C, která zůstane aktivní po dobu 20 minut.

V posledním kroku opět použijeme MQTT: Publish a nastavíme teplotu na 6°C stejným způsobem jako předtím. Tím se topení vypne, ručník bude krásně suchý – ale ne připálený :).


Skript uložíme, vrátíme se do sekce s automatizacemi a vytvoříme novou automatizaci. Triggerem bude stisknutí tlačítka a akcí bude náš skript. Tím zajistíme, že se při každém stisku tlačítka spustí skript a topení se zapne na 20 min.

Celý kód skriptu

Celý kód automatizace

Závěr

V dnešním díle jsme si ukázali sílu jednoduchých malých tlačítek, která nevyžadují stálé napájení – vystačí si s baterií a WiFi signálem. Spínat s nimi můžete prakticky cokoliv, co vás napadne. V příštím díle se pravděpodobně podíváme na nějaký pájecí projekt a ESP32 desky.

Tak tlačítkům zdar!

Podobné příspěvky

Napsat komentář

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