Neste tutorial irei deixar pra vocês uma das formas de simular interruptores paralelo (three way), four way ou até mais. Abaixo deixo listado o cenário / exemplo que uso para este funcionamento.
Softwares / firmwares
- tasmota com rules (regras) ativado
- broker mqtt
Hardware
- Sonoff T1 3CH - sala
Temos a tecla 1 (canal 1) ligado fisicamente na lâmpada da sala, é o primeiro passo. Acionou fisicamente esta tecla a luz da sala tem que acender. Nos demais o processo será todo virtual. Os demais botões (canais) acendem outras luzes e não interfere no nosso exemplo.
- Sonoff T1 2CH - corredor
Teremos a tecla 2 (canal 2) sendo acionada virtualmente.
- Sonoff T1 3CH - quarto
Teremos a tecla 3 (canal 3) sendo acionada virtualmente.
- Sonoff Ifan02 - vent sala
Teremos a tecla luz (controle) sendo acionada virtualmente.
paralelo (three way)
- Sonoff T1 3CH - sala
Rule1
ON power1#state DO publish cmnd/topicvent/POWER1 %value% ENDON
No power1#state (tecla 1) você pode adaptar para suas necessidades, usar por exemplo power2#state (tecla 2)
No cmnd/topicvent/POWER1 você deve alterar o tópico que é topicvent para os parâmetros mqtt do ifan02. O POWER1 também pode ser alterado para a tecla 2 se for o caso. No ifan02 o POWER1 é a tecla de luz.
- Sonoff Ifan02 - vent sala
Rule1
ON button1#state DO publish cmnd/topicsala/POWER1 %value% ENDON
No cmnd/topicsala/POWER1 você deve alterar o tópico que é topicsala para os parâmetros mqtt do t1 3ch sala. O POWER1 refere-se a tecla 1 da sala.
Neste exemplo já temos dois interruptores trabalhando juntos. Ao ligar o da sala, ele publica no mqtt seu status (%value%) para o topicvent e vice-versa.
four way ou mais
- Sonoff T1 3CH - sala
Rule1
ON power1#state DO Backlog publish cmnd/topiccorredor/POWER2 %value%; publish cmnd/topicquarto/POWER3 %value%; publish cmnd/topicvent/POWER1 %value% ENDON
Quando houver alteração no estado do interruptor da sala, ele publicará no mqtt para ativar a tecla 2 do topiccorredor, tecla 3 do topicquarto e botão de luz do topicvent. A tecla a ser usada é da escolha de cada um, no topicquarto por exemplo poderia ser POWER2 (tecla 2).
- Sonoff T1 2CH - corredor
Rule1
ON button2#state DO publish cmnd/topicsala/POWER1 %value% ENDON
- Sonoff T1 3CH - quarto
Rule1
ON button3#state DO publish cmnd/topicsala/POWER1 %value% ENDON
- Sonoff Ifan02 - vent sala
Rule1
ON button1#state DO publish cmnd/topicsala/POWER1 %value% ENDON
Aqui temos 4 "interruptores" trabalhando em conjunto, ao acionar a sala, ele publicará no tópico correspondente de cada interruptor seu %value%. A luz da sala poderá ser ligada por qualquer um desses interruptores e desligada por ambos. Aqui poderia ser adicionando um quinto interruptor sem problemas.
powerX#state vs buttonX#state
- powerX#state
Faz com que toda alteração de status seja executada, seja por contato físico, seja por mqtt, seja via webui do tasmota. Deve ser usado apenas no interruptor que liga fisicamente a luz.
- buttonX#state
É executado apenas quando a tecla física é pressionada, deve ser sempre usado nos interruptores virtuais. Se usássemos powerX#state os interruptores entrariam em loop, publicando no mqtt sem parar, causando diversos problemas.
Mais interruptores
- Sonoff T1 3CH - sala
Rule1
ON power1#state DO Backlog publish cmnd/corredor/POWER2 %value%; publish cmnd/quarto/POWER3 %value%; publish cmnd/ventsala/POWER1 %value%; publish cmnd/topicquinto/POWER1 %value% ENDON
- Quinto interruptor
Rule1
ON button1#state DO publish cmnd/topicsala/POWER1 %value% ENDON
Outros métodos
Pode ser usado também para simular interruptores: KNX do tasmota e o home assistant. Cabe cada um escolher o método ideal. No meus testes, este foi o que mais me agradou.