🎙 Poslední aktualizace článku 24.12.2019. Pokud najdete nějaké rozdíly v aktuálním stavu, dejte vědět v komentářích, díky.
Vánoční osvětlení je často jedním z druhů světel, které nemají žádný spínač, tj. můžeme je zapínat/vypínat jen vytažením z elektřiny.
V případě vánočního stromu se to na některých typech (zejména starších) světel dá řešit povytažením jedné žárovky – pokud jsou tedy zapojeny sériově, což je jinak poměrně zásadní nevýhoda. Často tomu tak, ale není a je potřeba světla vytahovat ze zásuvky.
Dnes se podíváme jak si tuhle činnost zjednodušit a přidat i benefit v podobě nastavení automatického zapnutí/vypnutí v definovaném čase.
Vhodný hardware
Možnosti jaký typ hardware pro ovládání vánočních světel můžeme použít máme v zásadě dvě:
- chytrou zásuvku – já používám Blitzwolf BW-SHP6 a Sonoff S20/S26
- chytrý spínač – ja používám Sonoff Basic
Každý z typů má nějakou výhodu, ale zároveň i nevýhodu. Na modelovém příkladu níže si popíšeme detailněji řešení formou chytré prodlužovačky, tj. použijeme Sonoff Basic v revizi 3, ke kterému si ze stran připojíme kabely se zástrčkou a zásuvkou.
Pokud to začnete řešit na poslední chvíli, může to dopadnout jako v mém případě 😱v tzv. stylu co dům dal 😀. Nicméně celá prodlužovačka je schovaná pod vánočním stromkem, takže to vlastně ani tak moc nevadí.
Vhodný software
Díky použití přepínače Sonoff Basic s čipem ESP8285 je možností řešení opravdu hodně. My si ukážeme dvě přímo na úrovni firmware – Tasmota a ESPHome.
1. Firmware Tasmota
Jako nejvhodnějším řešením se mi jeví firmware Tasmota (dříve Sonoff-Tasmota).
Umí běžet úplně samostatně – nevyžaduje nějaké integrační prostředí jako např HomeAssistant.
Pro účely časovače je pak velkým benefitem vlastní webové rozhraní Tasmoty, které umožňuje přes prohlížeč časovač nastavit v poměrně hezkém uživatelském rozhraní. Není potřeba tedy psát žádný programový kód a nastavení po krátkém úvodu zvládne i laik.
O nahrávání firmware Tasmota jsem už napsal mnoho článků. Pokud ještě nevíte jak na to můžete se podívat na obecnější článek a nebo pro tenhle konkrétní případ mám i popis pro Sonoff Basic R3.
Jakmile nám Tasmota běží připojíme se pomocí webového prohlížeče do webového rozhraní – stačí zadat IP adresu zařízení – a v hlavním menu vybereme Nastavení z kterého se dále přepneme do Nastavení Časovače.
V časovači máme k dispozici celkem 16 slotů, kde každý z nichž může představovat jedno nastavení pro zapnutí, vypnutí nebo přepnutí spínače.
Nejprve je potřeba zapnout časovač pomocí zatržení volby Povol časovač a můžeme se vrhnout na nastavení jednotlivých slotů.
Ve většině případů nám budou stačit sloty dva – jeden na zapnutí a jeden na vypnutí – nastaví se pomocí volby Napájení.
Dále zatrhneme volbu aktivní + opakovat (pokud nechceme časovač použít jen jednou) a vybereme si způsob definice času, kdy má k dané akci dojít. K dispozici máme tři možnosti:
- čas – nastavíme čas, kdy má k akci dojít
- svítání – použije se aktuální čas svítání
- soumrak – použije se aktuální čas západu
Následující sekce s nastavením času má trochu jiný význam v závislosti na způsobu definice času:
- pokud vybereme volbu čas, tak první dvě číselná políčka označují hodiny a minuty a poslední pole +/- určuje interval v minutách, kdy se náhodná hodnota přičte/odečte od zadaného času – díky tomu můžeme mít v určitém směru nepravidelný interval časovače +/- až 15 minut
- pokud vybereme volbu svítání a nebo soumrak pak můžeme nastavit první pole na hodnotu + a nebo – v následně pak definovat hodiny a minuty, které se od svítání/soumraku odečtou – chceme-li například spustit zařízení X minut před svítáním. Stejně jako u předchozího typu pak můžeme nechat Tasmotu přičíst/odečíst náhodné číslo v intervalu +/- až 15 minut
Jestliže jsme použili svítání a/nebo soumrak pro nastavení časovače, pak je potřeba nastavit ještě souřadnice lokace – výchozí nastavení je Eiffelovka v Paříži. To provedeme pomocí dvojice příkazu do konzoly Tasmoty:
Latitude 50.091065
Longitude 14.400538
Tyto hodnoty jsou pro změnu pro Katedrálu svatého Víta v Praze 🙂
Poslední volbou je pak definice dnů po které má být pravidlo aktivní. Pokud chceme, aby se tak dělo každý den pak zatrhneme všechny dny a nastavení uložíme.
Pokud nechceme klikat pak můžeme použít i příkaz pro konzolu Tasmoty, který vše nastaví najednou (hodí se zejména pokud chceme nastavit více zařízení stejně).
Pro stejné nastavení jako výše tak budeme potřebovat dva příkazy:
Timer1 {"Arm":1,"Mode": 1,"Window":0,"Days":"SMTWTFS","Repeat":1,"Output":1,"Action":1}
… pro zapínání a jeden pro vypínání:
Timer2 {"Arm":1,"Mode": 2,"Window":0,"Days":"SMTWTFS","Repeat":1,"Output":1,"Action":0}
Kompletní popis možností nastavení časovače najdete na webu Tasmoty.
2. Firmware ESPHome
Druhou možností je použití firmware ESPHome, které stejně jak Tasmota má možnost nastavení časovače přímo v zařízení, tj. bez nutnosti mít integrační centrum jako HomeAssistant.
O způsobu jak nahrát firmware ESPHome si můžeme přečíst v tomto článku.
Bohužel na rozdíl od Tasmoty nemá ESPHome tak hezky propracované webové rozhraní a časovač přes něj nemůžeme nastavit. Budeme tak muset použít konfiguraci pomocí kódu.
V případě použití východu/západu slunce je to komponenta sun a v případě použití přesného času komponenta time.
Nejprve si tedy ukážeme konfiguraci s východem/západem slunce:
sun:
latitude: <VYPLNIME_DLE_MISTA>
longitude: <VYPLNIME_DLE_MISTA>
on_sunrise:
- then:
- switch.turn_on: my_switch
on_sunset:
- then:
- switch.turn_off: my_switch
… a druhá možnost pomocí přesného času:
time:
- platform: sntp
# ...
on_time:
- seconds: 0
minutes: 30
hours: 7
then:
- switch.turn_on: my_switch
- seconds: 0
minutes: 30
hours: 21
then:
- switch.turn_off: my_switch
Pokud vás napadá nějaké další fajn řešení dejte vědět v komentářích. Tasmota je opravdu fajn, že má ono webové rozhraní, ale je trochu škoda, že to může být stále příliš složité pro běžné smrtelníky.
Na závěr přeji všem krásné a klidné prožití vánočních svátků a vstupu do Nového roku 2020. Už nyní mám hromady nápadů na další články a blog bude určitě dál pokračovat. Děkuji všem zároveň za podporu a zpětnou vazbu. Snad příští rok posuneme společně domácí IoT zase o kus dále.
Vdaka za clanok, trosku by som ale dovysvetlil bod: „použije se aktuální čas svítání, přičemž můžeme nastavit posun +/- v minutách“
posun je mozne nastavit v hodinach a minutach (prve 3 inputy, kde v prvom sa vybera prave + alebo -, v druhom hodiny a v tretom minuty)
posledny input (pomenovany prave +/-) udava maximalnu hodnotu v minutach, ktora sa vzdy nahodne odrata od/prirata k zvolenemu casu
Díky moc za dopřesnění. Článek jsem zaktualizoval a poměrně ještě rozšířil o vysvětlení jak pracovat s tímto nastavením času. Nakonec trochu překvapení, že je to komplikovanější než jsem čekal, ale zase je možné nastavit skutečně téměř cokoliv 🙂
Dobrý den
jakým způsobem se nastaví správný vlastníčas spínače ? Ani nikde vlastně nevidím jaký aktuálně má …
Dobrý den, pokud se nepletu Tasmota se snaží získat čas z ntp serveru pool.ntp.org. Aktuální nastavení NTP serveru je možné získat pomocí příkazu
ntpserver1
a informace o aktuálním čase jsou pak součástí příkazustatus 7
. Vše je možné zadat v konzoli webového rozhraní Tasmoty na zařízení.Díky za skvělé články o Hassio.
Dobrý den,
Jak by šlo upravit komponentu sun: – on_sunrise: , on_sunset: v ESPHome, tak aby šlo zapnout popřípadě vypnout +- nějakou tu hodinu od východu nebo západu slunce.
Děkuji za info.
Hmm, vypadá to, že to s ESPHome tak jednoduché nebude. Časový posun do plusu od východu/západu by neměl být problém pomocí delay, ale opačný do mínusu mě zatím nenapadá jak vyřešit.
Plusový by tedy mohl vypadat nějak takto:
on_sunrise:
- then:
- delay: 20m
- switch.turn_on: my_switch
Takhle to mám zakomponováno a pořád mi to hlásí chybu.
text_sensor:
platform: sun
name: „Vychod slunce cas:“
type: sunrise
id: vychod_slunce
on_sunrise:
then:
delay: 20m
logger.log: „Je 20 min po vychodu slunce“
V jedné diskuzi k požadavku na jistou funkcionalitu ESP Home jeho autor odpověděl takto, cituji“:
„While it is possible to use esphome that way, it is in no way supposed to be used without a central home automation system. You can use it this way, it’s just not made for this use.
Flagging this a very low priority as any home automation system can do this – and esphome isn’t trying to (nor can it ever) replicate the functionality of a home automation hub.“
Může se zdát, že je to vytržené z kontextu, ale ve zkratce jde o to, že ESP Home není primárně určené jako samostatně funkční díl, ale jako komponenta do Home Assistant-u.
A tam si už v Automatizaci můžeš nastavit spínání dle čehokoliv podmíněné čímkoliv.
Super článek. Občas se mi stane, že po delším výpadku proudu se Sonoff Basic vyresetuje a časovač musím nastavit znova. Ale je to opravdu nepravidelné. Je tam firmware 8.1.0. Je nějaká možnost, jak tu konfiguraci uložit napořád i po delším výpadku proudu?