V dnešním článku si ukážeme, jak vytvořit signalizační světlo napojené na Home Assistant.
Článek ukazuje možnost, jak vyrobit zařízení, které je připojené k elektrické síti. S tím jsou spojena určitá rizika. Článek je čistě informativní. Výroba a použití jsou na vašem uvážení a odpovědnosti.
Motivace
Mám klasická, na dálku ovládaná garážová vrata. Potřeboval jsem nějakým způsobem monitorovat, zda jsou otevřená. Po vyzkoušení několika levných bezdrátových (bateriově napájených) čidel jsem zjistil, že zpravidla nepřežijí zimu. Proto jsem použil klasický magnetický spínač, natáhl dráty až do Wemos D1 Mini a tak informuji Home Assistant o stavu garážových vrat.
Celý modul je uzavřený v elektroinstalační krabici, kde je Wemos, trafo, relé a žárovka. Pokud se vrata otevřou, relé začne zapínat a vypínat červenou žárovku, která bliká. Tím se upozorní ostatní členové domácnosti, že jsou vrata otevřená. A tady začíná problém. Modul je s čidlem spojený drátem, což určuje jeho pozici, a není možné s ním hýbat. Vzhledem ke členitosti domu není signalizace vždy dostatečně efektivní.
Rozhodl jsem se vytvořit malé signalizační světlo, které lze umístit kamkoliv, kde je zásuvka.
Ano, mohl bych si koupit nějakou chytrou žárovku, která je kompatibilní s Home Assistant. Ale to už není DIY 🙂 Nemohl bych si udělat vlastní design a už by to nebyla taková zábava.
Očekávání
- Funguje všude, kde je Wi-Fi.
- Je to levné, snadno a rychle vyrobitelné, takže je mohu strategicky rozmístit po domě.
- nemá to vyloženě odpudivý design
Požadavky
- Home Assitant + ESP Home rozšíření
- 3D Tiskárna
- DIY svářečka aka tavná pistole 🙂
- sada na pájení a lehce skill
Komponenty
Wemos D1 Mini je konkrétně pro tento případ ideální. Jinak mohu klidně použít ESP32 Dev Kit nebo cokoliv kompatibilního s ESP Home. U Lásky je za 128 CZK, na AliExpressu to jde najít za cca 2 USD.
WS2812B 8x LED 5V pásek je ve skutečnosti PCB s osmi adresovatelnými LED. U Lásky je za 28 CZK, na AliExpressu za necelý 1 USD.
Trocha drátu. Netuším náklady, já jednou rozebral asi 5 starých AT/ATX zdrojů a mám zásobu krátkých drátků asi na pár let dopředu.
3D tištěná krabička sežere asi 33 g filamentu. Když vezmeme trošku dražší Průšův Prusament PLA Pristine White za 799 CZK za 1 kg, vyjde nás krabička asi na 26 CZK + hoďka tisku. Při ceně 500 CZK za 1 kg jsme už na 17 CZK.
Micro USB kabel. U Lásky za 28 CZK.
Napájecí zdroj 5V 1A. Když chceme "vyhořet", tak třeba na Allegro za 29 CZK. Ale dají se najít za rozumnou cenu do 50 CZK. Když ještě fungovalo CZC (nechť odpočívá v pokoji), koupil jsem velice levné nabíječky, otestoval je na umělé zátěži a všechny splnily předepsané parametry.
U Lásky to jde všechno koupit za 300 CZK (započítaná i 3D tištěná krabička, bez poštovného). Z Lidové Demokratické Republiky to může vyjít na 190 CZK i s krabičkou a poštovným. Ale určitě bych si dával pozor na ty nabíječky.
Pravdou ovšem je, že pokud doma něco trochu kutíte, většinu věcí už stejně máte doma.
3D Tištěná Krabička
Krabička se skládá ze dvou dílů: základny a stínítka (návleku). Je navržená na jednoduchý tisk bez supportů. Rozměry stínítka jsou optimalizovány na tisk ve Fuzzy Skin módu pro všechny stěny. Pokud nebude stínítko vytištěno jako Fuzzy Skin, bude příliš volné a nebude dobře držet.
Mechanika je naprosto primitivní: do základny se umístí elektronika a nasune se stínítko. Jednoduché a funkční.
Sestavení
Nachystáme si Wemos, LED modul a naměříme tři dráty, aby nám to pěkně vyšlo. Červený drát napájíme do Wemos 5V pinu a do VCC LED modulu. Černý drát připojíme do Wemos GND pinu a GND LED modulu. Pak libovolnou barvu připojíme do Wemos D5 (GPIO 14) pinu a DI (data in) LED modulu. Můžeme klidně zvolit jiný vhodný Wemos GPIO, ale musíme to zohlednit následně při konfiguraci.
Jak máme dopájeno, usadíme elektroniku do základny a připevníme ji pomocí tavné pistole. Osvědčil se mi následující postup:
- Vložíme elektroniku do základny.
- Upravíme dráty, aby se všechno pěkně vešlo.
- Připojíme přes otvor v krabičce micro USB, tím si vše trochu zafixujeme a víme, že půjde USB zapojit.
- Následně zvednu Wemos, dám pod něj trochu tavného lepidla a usadím ho na místo.
- Chvíli přidržím, až to zatuhne; takto budu mít jistotu, že to neujede a vždy se tam s micro USB kabelem dostanu.
- Až je Wemos pevně uchycený, pomocí tavné pistole uchytím LED modul.
Upozornění: Zařízení je myšleno jako signalizační. To znamená, že signalizuje (je rozsvíceno) jen po dobu nezbytně nutnou, krátkou. Není to myšleno jako lampička. LEDky umí pěkně zatopit a vše je připevněno jen tavnou pistolí. Mějte to na paměti.
Instalace
Připojíme zařízení pomocí USB k počítači. Musíme na zařízení nainstalovat firmware, aby ho mohl Home Assistant adoptovat. Web https://web.esphome.io/ nám s tím pomůže. Budeme ale potřebovat prohlížeč, který podporuje Web Serial API, takže Chrome, Brave, atd.
Dáme "Connect".
V našem případě je to COM8. Po výběru zařízení zvolíme „Připravit pro první spuštění“.
A potvrdíme instalaci.
Začne se instalovat firmware.
Následně budeme vyzváni k nastavení Wi-Fi.
Nastaví a připojí zařízení na nastavenou Wi-Fi. Základní instalace je dokončena.
Na zařízení od teď funguje jednoduchý webový server, který zobrazuje například výpis z konzole.
Když přejdeme do Home Assistant do ESP Home, uvidíme, že detekoval nové zařízení.
Zařízení můžeme adoptovat.
Potvrdíme, že chceme nainstalovat konfiguraci na zařízení.
Můžeme sledovat průběh kompilace a instalace firmwaru. Všechno se děje přes OTA.
Změny můžeme sledovat přes webové rozhraní zařízení.
Jakmile se instalace dokončí, je potřeba jít do Nastavení -> Zařízení a služby a tam přes ESPHome integraci přidat zařízení do Home Assistant. Nové zařízení tam bude vidět. Následně se vrátíme do ESPHome rozšíření a u nového zařízení klikneme na Edit. Tím se dostaneme do definičního souboru, kde přidáme LED modul zařízení. Použijeme ESPHome modul NeoPixelBus Light. Je potřeba nastavit pin, přes který je LED modul připojený k Wemosu. V našem případě jsme použili D5 (GPIO 14). Konfigurace vyžaduje hodnotu GPIO. Nastavíme fyzický počet LED, v našem případě 8. Nesmíme zapomenout si LED modul pojmenovat. Pod tímto jménem ho následně uvidíme v Home Assistant.
light:
- platform: neopixelbus
type: GRB
variant: WS2811
pin: GPIO14
num_leds: 8
name: "Signal Light 03"
Uložíme a dáme instalovat. Zeptá se nás to, jakou metodou chceme instalovat nový firmware. Zvolíme bezdrátově.
A počkáme, než se firmware zkompiluje a nahraje na zařízení. Tady to mají takové neintuitivní. Až doběhne instalace, pro pokračování a „odkliknutí“ tohoto dialogu musíme kliknout na tlačítko STOP. Ono je to připojené na sériový výstup zařízení, takže to asi znamená zastavení monitorování sériového výstupu zařízení.
Poté můžeme se zařízením pracovat a přidat ho do Dashboardu.
A začít ho ovládat.
Tímto je hotovo, zařízení je v Home Assistant a můžeme s ním pracovat.
Pro mě byl dalším krokem přidat zařízení do automatizace. Mám dvě automatizace. Když jsou garážová vrata otevřena, zařízení napojené na tuto automatizaci bliká červeně. Ve chvíli, kdy se změní stav z otevřeno na zavřeno, proběhne sekvence. LED modul se na zařízení vypne, rozsvítí se zelená barva a po nějaké době se vypne.
Tohle je už opravdu vše. Od této chvíle je zařízení integrováno, a pokud bude mít šťávu a uvidí na Wi-Fi, tak bude signalizovat, jestli jsou garážová vrata otevřená, případně jestli došlo k zavření.
Bezpečnostní dodatek
Pokud dostáváte návaly úzkosti, když nejste doma a běží tam vámi vytvořené zařízení, tady je pár tipů, jak úzkost zmírnit.
Odpojení v nepřítomnosti
Není asi nutné, aby světýlka blikala/fungovala, když není nikdo doma a nikdo nemá možnost zasáhnout, kdyby došlo k problému. Na to je docela přímočaré řešení. Použijte chytré zásuvky a nastavte, aby zapnuly signalizační modul jen ve chvíli, kdy se někdo nachází doma. Každopádně toto značně prodraží cenu jednoho signalizačního modulu.
Samozhášivý filament
U elektroinstalace se používají samozhášivé krabice z jasného důvodu. Pokud zařízení „blafne“, snižujeme pravděpodobnost vyhoření. Například PLA filament touto vlastností nedisponuje. Ovšem existují samozhášivé PETG filamenty. Například Prusament PETG V0 je tak dvojnásobně dražší a komplikovanější na tisk, ale řešení pro klidnější spaní existuje.