- today
- label Pokročilé
- favorite 0 lajky
- remove_red_eye 942 shlédnutí
- comment 0 komentáře

Dnes se podíváme na příkazy v TASMOTě
Co to vlastně je příkaz v TASMOTě? Jistě tušíte, že zařízení s TASMOTou se dá ovládat i jinak, než klikat na webovém rozhraní tohoto software. Příkazy v TASMOTě jsou vlastně textové řetězce, které Vám umožňují zjistit stav zařízení nebo ho přímo ovládat a nastavovat.
Pomocí příkazů lze například nastavit pevnou IP adresu zařízení, nebo nastavit ručně datum a čas, kalibrovat měření spotřeby na zásuvce a mnoho dalších funkcí o kterých možná ani netušíte, že existují.
Jak se příkazy zadávají?
K zadání příkazů (a také čtení jejich odpovědí) máme několik možností:
- MQTT
- Sériové rozhraní
- Konzole na webovém rozhraní
- Web request
MQTT
Na práci s příkazy pomocí MQTT - což je protokol pro komunikaci IOT věcí, musíte mít nainstalovaný MQTT clienta a správně nastavené parametry v TASMOTě. Tato metoda je poměrně specifická. Možná se jí budeme věnovat v některém z příštích článků. Pokud prahnete po informacích, můžete navštívit anglické stránky s dokumentací:
https://tasmota.github.io/docs/MQTT/
Sériové rozhraní
Sériové rozhraní je způsob, kterým komunikuje řada velmi rozdílných zařízení. Zařízení s TASMOTou touto možností disponují také. Problém je v tom, že většina zařízení nemá sériové rozhraní běžně přístupné. Je to tedy možnost pro bastlíře, ale i tak si moc nedovedu představit co by mě donutilo rozebrat zařízení a snažit se propojit sériovou komunikaci s PC. Ovšem tato možnost existuje a v některých specifických případech může být užitečná. Berme to ale tak, že pokud sériové rozhraní využíváte, tak víte jak na to. Ostatní se do toho mohou pustit, ale není to předmět tohoto článku.
Konzole webového rozhraní
Tak to je první z běžně použitelných metod pro každého. Už si umíte nastavit TASMOTa zařízení? Pokud ne, postupujte podle článku:
https://www.tasmota.shop/cs/blog/zaklady/1-jak-zacit
https://www.tasmota.shop/cs/blog/zaklady/2-reset-tasmoty-zpet-k-zakladnimu-nastaveni
https://www.tasmota.shop/cs/blog/zaklady/3-nastaveni-site
Pokud je všechno jak má být, můžete se dostat na web zařízení a pak uvidíte něco takového:
Jistě jste si všimli tlačítka "Console" - a to Vás přivede přesně tam, kde chcete být:
Vypadá to možná nepřívětivě, ale je to přesně to co chceme.
Pomocí šedého textového pole můžeme zadat příkaz (je tam napsáno "Enter command").
Nahoře v poli se zeleným textem jsou odpovědi na naše příkazy. Například na obrázku je odpověď na příkaz: "IPAddress". Po jeho zadání se můžeme dozvědět jak je to s nastavením IP vašeho zařízení.
Upozornění: v rámci konzole nefungují všechny příkazy, protože prostě některé nejsou implementovány. Také starší příkazy nemusí fungovat na novějších zařízeních.
Příkazová konzole je přesně to co potřebujete, když chcete nastavit některé speciálnější parametry. Například datum a čas nenastavíte jinak, než přes příkaz, stejně tak pevnou IP adresu a spoustu dalších nastavení. V klikacím webovém prostředí jsou totiž jenom omezené možnosti. Teprve konzole Vám umožní proniknout do hloubky. Konzole ovšem neřeší automatizaci - to znamená mít možnost ovládat zařízení z venku.
Web request (HTTP request) - webové dotazy (požadavky)
Tasmota je připojená k síti. Dokonce umí komunikovat přes webové rozhraní, proč toho nevyužít pro dálkové ovládání? Jde to a ani to není složité, protože TASMOTA je vybavena možností zpracovávat web request - tedy webové požadavky pomocí protokolu HTTTP.
Tady by měl zpozornět každý bastlíř, protože to je přesně to po čem touží. Stačí připojení k síti a můžete ovládat třeba zásuvku nebo relé, či LED žárovku. Žádné další propojení není nutné a protože komunikace vyžívá WiFi, tak pro ovládání opravdu není potřeba žádný kabel. Jen si vzpomeňte, když jste dříve chtěli vypínat a zapínat topení v akváriu, tak to znamenalo, nejenom propojit nějaké relé s napájením topení, ale také jste museli zařídit aby to relé něco ovládalo. Pokud byste ho chtěli ovládat počítačem tak se to bez dalšího hardware neobešlo, prostě musela být nějaká krabička mezi. To všechno odpadá.
Jak tedy web request fungují? Jednoduše. Například pomocí webového prohlížeče. Když napíšete web request do řádky pro URL v prohlížeči, pak Vám zařízení odpoví.
Na obrázku je okno prohlížeče, kde v řádku pro URL je vepsán web request:
"http://192.168.0.104/cm?cmnd=Power"
Tento požadavek znamená, že oslovujeme zařízení na IP adrese 192.168.0.104 (pomocí protokolu http), chceme tomuto zařízení zaslat příkaz (to mu říká ta část "/cm?cmnd=") a nakonec vlastní příkaz "Power".
V tomto příkladu je příkaz bez parametrů a znamená to, že vypíše nastavený stav. V okně prohlížeče vidíme výsledek:
"{"POWER":"ON"}"
Je vcelku zřejmé, že odpověď znamená, že zásuvka je v sepnutém stavu.
"http://<ip>/cm?cmnd=Power%20TOGGLE" by stav zásuvky přepnul
"http://<ip>/cm?cmnd=Power%20On" by zásuvku zapnul
"http://<ip>/cm?cmnd=Power%20off" by zásuvku vypnul
Drobný zádrhel je, že všechny mezery a zvláštní znaky se musí psát pomocí jejich ASCII kódu, tedy mezera="%20", protože ASSCII kód mezery je právě 20. Podobně u dalších zvláštních znaků.
Je zřejmé, že právě v přímých HTTP požadavcích je síla TASMOTy. Stáčí Vám zařízení na síti "vidět" a můžete ho libovolně ovládat a kontrolovat, nebo odečítat naměřené hodnoty. Báječné je, že HTTP (nebo web) požadavky můžete generovat nejenom pomocí webového prohlížeče, což využijete hlavně při zkoušení, ale pomocí téměř jakéhokoliv programovacího jazyka. Není problém s javascriptem (proč si neudělat tlačítko na vypnutí zásuvky?), nebo třeba C, C++, C# nebo třeba pithon a mnoha dalšími jazyky. Základ je, že většina moderních jazyků má pro tvorbu HTTP request hotové knihovny a Vám stačí zavolat příslušnou funkci nebo metodu a máte hotovo.
Nechci hrát na paranoidní strunu, ale všimněte si, že vám stačí místní propojení internetu v rámci domácí sítě a nepotřebujete ke komunikaci www. To je velká výhoda TASMOTy. I kdyby vás nestrašila možnost monitorování Vašeho provozu, pak věřte tomu, že vnitřní provoz domácí sítě bude mít často mnohem menší poruchovost než provoz přes internet. O nepotřebě nějakých vnějších serverů nemluvě.
Přehled všech dostupných příkazů je na originálních stránkách dokumentace TASMOTy:
https://tasmota.github.io/docs/Commands/
V dalších článcích se na některé z nich podíváme podrobněji.
Příjemné experimentování s TASMOTou!
Komentáře (0)