IoT

Usando um interruptor ON/OFF com o ESPEASY

Escrito por Douglas Baiocco. Publicado em IoT.

No artigo ADICIONAR UM BOTÃO AO ESPEASY vimos como criar um botão para usar no ESPEASY. Independentemente se usamos um SONOFF ou um dispositivo que tenha um ESP8266, o processo dentro do ESPEASY é o mesmo. Em alguns casos, porém, precisamos usar algumas artimanhas para resolver problemas que parece, a princípio, fáceis. Em meu caso, uso alguns SONOFFs para ligar e desligar lâmpadas em casa. Atualizei o firmware deles para o ESPEASY, mas não queria usar um PUSH BUTTON (tipo aqueles de campainha) nos interruptores da parede. Neste tutorial, irei mostrar como usei as regras para deixar um interruptor de parede normal usando o ESPEASY.

Em vários artigos que li sobre automação, os autores utilizavam um botão do tipo campainha para acender luzes. Um aperto acendia e um aperto apagava. Fica fácil usar esta mesma logica com um botão normal, usando um interruptor ON/OFF. Quando ele está ligado, a lâmpada liga, quando ele está desligado a lâmpada desliga. Nenhum problema. O negocio começa a ficar ruim quando usamos um controlador para acender e apagar a luz. Se eu usar um celular e apagar a luz, como fica o comportamento do botão? Ele vai perder a funcionalidade. Se eu usar o botão de campainha, funciona, pois ele usa um pulso. Mas o botão ON/OFF usado na maioria das instalações residenciais não funcionaria.

Como já havia informado anteriormente, o ESPEASY é muito versátil e possui tantas funcionalidades que poderíamos discutir por dias. Uma das grandes sacadas do ESPEASY é o uso de uma linguagem de programação própria dele para realizar alguns eventos e deixar o dispositivo com este firmware mais inteligente. Chamamos de REGRAS.

Para habilitá-las, vá até a aba TOOLS, conforme a imagem:

image001

 

Selecione o Botão RULES, conforme a imagem:

image002

 

Com isso, a guia RULES passará a ser exibida.

Caso você queira um tutorial completo sobre regras, acesse este link: https://www.letscontrolit.com/wiki/index.php/Tutorial_Rules

Com estas regras eu posso burlar o comportamento do botão ON/OFF e deixa-lo inteligente, criando uma ligação em PARALELO. Veja este vídeo para mais detalhes sobre o que é uma ligação em paralelo:

)

Os meus interruptores estão organizados da seguinte maneira:

devices 

A regra que eu utilizo para o botão é a seguinte:

on botao#switch do

  if [relay#switch]=1

   gpio,12,0

  else

   gpio,12,1

  endif

endon

 

Consiste em uma ação que acontece ao mudar o estado do botão (on botão#switch). Caso aconteça uma mudança, o if verifica o estado do botão e inverte a posição dele, mudando o estado da GPIO para ligar a lâmpada.

Com esta regra eu posso usar um botão ON/OFF com o HOMEASSISTANT ou a ALEXA sem precisar usar um botão de campainha.

Veja no video abaixo o resultado:

 

 

Relacionados