Home Assistant seriál s Jakubem: Díl 6: Sonoff SwitchMan M5-3C vypínač
Úvod
V dnešním díle se podíváme na zoubek vypínači od Sonoffu. Čeká nás poměrně dost práce. Nejdříve musíme vypínač rozebrat, najít správné piny, propojit ho s PC přes USB->UART konzoli, flashnout jiný firmware (Tasmota) a přidat si vypínač do HA. Pak konečně můžeme náš hloupý vypínač nahradit tímto chytrým. (Samotné zapojení vypínače doporučuji od elektrikáře, s volty nejsou žerty 🙂 ).
Vypínač se vyrábí ve třech variantách (1-3 tlačítka) a my si ukážeme třítlačítkovou verzi. Vypínač se dá provozovat jak na ESPHome firmware, tak na Tasmotě. Zkoušel jsem obojí a i když jinak jsem s ESPHome spokojený a používám ho pro pár senzorů, zrovna s vypínačem byly problémy. Firmware Tasmota funguje posledních pár měsíců bez jediného zaškobrtnutí. Vypínač vyžaduje zapojenou nulu, bez ní nefunguje korektně. Výhodou chytrého vypínače je i fakt, že funguje při výpadku Wi-Fi nebo HA serveru. Sice bez automatizací, ale tlačítka klasicky sepnou relé, takže jednotlivé spotřebiče můžete ovládat bez problémů.

Co budeme potřebovat:
- vypínač Sonoff SwitchMan M5-3C
- Převodník USB-C to UART
- DUPONT propojky (4x female to female a 2x male to male) (nejsou nutné, ale jde to pak mnohem lépe)
- USB-C kabel
- trsátko
Rozebrání vypínače
Nejprve ze zadní strany vložíme trsátko do míst, kde jsou červené šipky a oddělíme tak spodní a horní stranu vypínače.

Spodní stranu můžeme odložit a odšroubujeme dva vyznačené šroubky na horní straně obrázku.

Vyjmeme plošný spoj a připravíme si USB-C to UART převodník a propojky, ujistíme se, že jumper máme umístěn jako na obrázku (propojen 3V3 a VCC). Propojky zapojíme následovně:
Vlevo USB převodník, vpravo tištěný spoj.
VCC -> 3.3V
ESP_TX -> RXD
ESP_RX -> TXD
GPI00 -> GND
Nakonec zapojíme GND na tištěném spoji a cvakneme ho do propojky GND (na obrázku oranžová propojka) v USB převodníku. Nemusíme ji mít propojenou po celou dobu flashování, stačí ji mít zapojenou pár sekund po zapnutí převodníku. Nicméně pokud máte dostatek female to female propojek je jednodušší ji nechat zapojenou po celou dobu.



Zapojíme si USB kabel do PC, ale zatím ho nezapojujeme do převodníku, otevřeme si instalační webtool Tasmoty. Na tištěném spoji podržíme z druhé strany prostřední tlačítko a druhou rukou zapojíme USB kabel z PC do převodníku. Tlačítko stačí podržet pár vteřin, tím se dostaneme do flashovacího módu.
Instalace firmware Tasmota
Ve webtoolu klepneme na CONNECT a vlevo na obrazovce by se nám mělo objevit okénko s výběrem sériového portu. Vybereme sériový port a klepneme na Připojení. V dalším okně vybereme Install Release Tasmota. Instalace trvá zhruba 2 minuty. Po úspěšné instalaci můžeme odpojit převodník a propojky.


Ujistíme se, že jsme opravdu odpojili převodník od napájení (USB kabelu) a přehodíme jumper, aby propojoval 5V a VCC. Vezmeme si dvě propojky male to male a propojíme je následovně:
Vlevo USB převodník, vpravo tištěný spoj.
VCC -> spodní pravý pin
GND -> spodní levý pin

Připojení k vypínači přes Wi-Fi
Nyní opět zapojíme USB kabel z PC do převodníku, chvilku počkáme a na PC se podíváme do seznamu Wi-Fi sítí. Měla by se tam objevit síť tasmota-cislo-cislo. K síti se připojíme a počkáme zda se automaticky otevře prohlížeč s IP adresou 192.168.4.1. Pokud ne, adresu zadáme ručně do prohlížeče a potom by se nám měl otevřít konfigurační web našeho vypínače.


Vybereme ze seznamu naši Wi-Fi síť a vyplníme heslo, aby se k ní vypínač mohl přihlásit. Po úspěšném přihlášení by mělo dojít opět k přesměrování na nějakou Vaši lokální adresu poskytovanou DHCP serverem. Typicky to bývá 192.168.1.X nebo 192.168.0.X. Pokud k přesměrování nedojde, budete se muset podívat do administrace svého routeru a v seznamu připojených klientů najít IP adresu vypínače.
Nastavení vypínače
Pokud se vše povedlo, přivítá Vás konfigurační obrazovka. V první řadě nás bude zajímat položka Configure MQTT, kde nastavíme IP adresu našeho HA serveru (lokální tj. 192.168.X.Y), uživatele MQTT a jeho heslo (vizte první díl).



Poté klikneme na Save a Configuration, tlačítko se krátce restartuje a vrátí nás do úvodního menu. Nyní vybereme Configure Other a do položky template zkopírujeme následující kód:
{"NAME":"Sonoff M5-3C","GPIO":[33,0,0,0,32,576,0,0,0,0,0,34,0,0,416,225,0,0,226,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1}
Vyplníme Device Name a Friendly Name a opět klepneme na Save a Configuration, tlačítko se opět restartuje.
Nyní máme vše nastavené, můžeme tlačítko odpojit od převodníku, přicvaknout na něj kryt, který jsme na začátku sundávali trsátkem, a přesunout se na náš HA server a tlačítko si integrovat. Samozřejmě ho musíme nejdřív připojit na místo, kde ho chceme používat.
Integrace vypínače do HA
V HA vybereme Settings-> Devices & services -> Add Integration a najdeme Tasmota.

Tlačítko by se mělo do pár minut objevit nahoře v Discovered. Pokud ne, restartujeme náš HA server.
Tlačítko přidáme stisknutím Configure a dole v Configured se nám objeví integrace Tasmota. Klepneme na 1 Device pod integrací a vybereme naše tlačítko. Přes tužku v pravém horním rohu si můžeme upravit jeho název v HA. Dále si můžeme pojmenovat jednotlivá tlačítka: kliknutím na tlačítko a vybráním ozubeného kolečka v pravém rohu a upravíme Name.



Příklady využití chytrého vypínače
Vypínač můžeme využít několika způsoby, ať už jako přepínač scén nebo fyzický vypínač světel. V následujících pár řádkách popíšu, jak přesně vypínač používám a jaké používám automatizace.
Vypínač v koupelně (příklad)
Vypínače mám celkem dva. Jeden v koupelně a druhý v ložnici. Ten v koupelně má poměrně složitý sled automatizací a používá se celkem pro tři spotřebiče (světlo na stropě, světlo nad umyvadlem a větrák). Vypínač je doplněn o radar (senzor přítomnosti) a spíná světla dle denní doby a pohybu v místnosti. Výrobu a nastavení senzoru přítomnosti si ukážeme v některém z dalších dílů.
Automatizace světel (kód)
Prakticky to funguje tak, že pokud někdo vstoupí do místnosti a je 8:00 – 22:00, automaticky se rozsvítí světlo na stropě; pokud je 22:00 – 8:00, rozsvítí se pouze světlo nad umyvadlem, které je přelepené oranžovou fólií kvůli vlivu na cirkadiánní rytmus. Senzor je opravdu přesný a reaguje perfektně. V žádném případě se nedá srovnat s klasickým pohybovým čidlem, které vyžaduje neustálý pohyb a pak není nic nepříjemnějšího než když sedíte na záchodě, najednou je všude tma, a vy musíte začít zběsile mávat rukama, aby se v místnosti rozsvítilo :).
Na futrech mám ještě NFC tag, který se dá použít pro úplné vypnutí senzoru přítomnosti na 15 minut. Ten používám, pokud jdu do koupelny v noci a nechci svítit vůbec. O NFC si povíme v některém z dalších dílů a ukážeme si i praktické využití NFC tagů.
alias: Bathroom presence
description: ""
trigger:
- platform: state
entity_id:
- binary_sensor.bathroom_radar_presence
condition: []
action:
- choose:
- conditions:
- type: is_occupied
condition: device
device_id: b0846e028c20a87ef65b09050c69a0dd
entity_id: a1d888be7dc71f935e11c8478c4fca18
domain: binary_sensor
sequence:
- if:
- condition: time
after: "08:00:00"
before: "22:00:00"
then:
- type: turn_on
device_id: 89be7f66287b2d6a38e816f7c73049f2
entity_id: 843e846a0364751c7610e2032ae03170
domain: switch
- if:
- condition: time
after: "22:00:00"
before: "08:00:00"
then:
- type: turn_on
device_id: 89be7f66287b2d6a38e816f7c73049f2
entity_id: c2a362591f1b1d622284a7ec1ef4fd96
domain: switch
- conditions:
- condition: and
conditions:
- type: is_not_occupied
condition: device
device_id: b0846e028c20a87ef65b09050c69a0dd
entity_id: a1d888be7dc71f935e11c8478c4fca18
domain: binary_sensor
sequence:
- type: turn_off
device_id: 89be7f66287b2d6a38e816f7c73049f2
entity_id: 843e846a0364751c7610e2032ae03170
domain: switch
- type: turn_off
device_id: 89be7f66287b2d6a38e816f7c73049f2
entity_id: c2a362591f1b1d622284a7ec1ef4fd96
domain: switch
mode: single
Automatizace větráku (kód)
Dále je v místnosti senzor teploty a vlhkosti, který se používá pro automatické sepnutí větráku. Větrák sepne, pokud je vlhkost vyšší než 75 % a běží 10 minut (tak je nastaven z výroby). Po deseti minutách senzor zkontroluje, zda je vlhkost ještě nad 60 % a pokud ano, spustí se znovu na 10 minut a takhle pořád dokola.
alias: Bathroom Fan
description: ""
trigger:
- platform: numeric_state
entity_id: sensor.bathroom_temperature_and_humidity_sensor_humidity
above: 75
id: humidity-above-75-trigger
- platform: state
entity_id:
- switch.bathroom_switch_left
from: "off"
to: "on"
for:
hours: 0
minutes: 0
seconds: 5
id: fan-turned-on-trigger
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: humidity-above-75-trigger
sequence:
- service: switch.turn_on
target:
entity_id: switch.bathroom_switch_left
data: {}
- delay:
seconds: 2
- service: switch.turn_off
target:
entity_id: switch.bathroom_switch_left
data: {}
- delay:
hours: 0
minutes: 10
seconds: 0
milliseconds: 0
- repeat:
while:
- condition: numeric_state
entity_id: sensor.bathroom_temperature_and_humidity_sensor_humidity
above: 60
sequence:
- service: switch.turn_on
target:
entity_id: switch.bathroom_switch_left
data: {}
- delay:
seconds: 2
- service: switch.turn_off
target:
entity_id: switch.bathroom_switch_left
data: {}
- delay:
hours: 0
minutes: 10
seconds: 0
milliseconds: 0
- conditions:
- condition: trigger
id: fan-turned-on-trigger
sequence:
- delay:
seconds: 2
- service: switch.turn_off
target:
entity_id: switch.bathroom_switch_left
data: {}
mode: restart
Vypínač v ložnici (příklad)
Vypínač v ložnici mám poměrně krátkou dobu a využil jsem ho pro světlo na stropě. Prozatím v něm není žádná automatizace, při stisknutí tlačítka pouze sepne relé a tím se rozsvítí světlo, což je základní funkce vypínače a nemusíte ani nic nastavovat.
V budoucnu vypínač využiju pro ovládání LED pásků, které využívám pro svícení nad postelí. Pro třetí tlačítko zatím nemám vymyšlené využití, ale dost možná ho použiji pro scénu Good Night, tj. vypnutí zásuvek v místnosti, zhasnutí světel a zatažení závěsu. Nicméně LED páskům, integraci WLED a scénám se budeme věnovat v některém z dalších dílů.
Závěr
V dnešním díle jsme si (snad) úspěšně flashnuli vypínač, nahradili jím náš hloupý vypínač, integrovali ho a nastavili na našem HA serveru a ukázali si příklady praktického využití spolu s automatizacemi.
Vypínání a automatizacím zdar!
Zdravím a pátý díl nebude 🙁 ?
Zdravíčko Adame, bohužel se špatně nahrály zálohy serveru, na kterém jsou články pro náš blog uloženy. Kolega to bohužel datloval rovnou do stránky a sám si zálohu neudělal. Nicméně doufáme, že se nám pátý díl podaří zachránit.
Zdravím, chci se zeptat podařilo se obnovit. Pořád netrpělivě vyhlížím 5. Díl ale stále nic 🙁