Duvida- Alguém ai esta utilizando o código Sonoff-Tasmota v6.1.1

Bom dia garagistas,

Fazia tempo que queria utilizar o código Sonoff - Tasmota, mas não estava conseguindo configurar a IDE, mas finalmente consegui configura-lo certinho. Estudando o programa ele é muito interessante e aparentemente pratico, percebi que ele é compatível com mqtt, mas também é possivel utilizar o código StandAlone.

Alem da compatibilidade com diversos sensores de forma nativa e com vários modelos de placas com ESP8266/32, a parte mais interessante é que é possivel customizar as ações da placa via console

https://github.com/arendst/Sonoff-Tasmota/wiki/Commands#logging

Mas ai que a porca torce o rabo rsrs, não tem muito material sobre o assunto, mas pelo que entendi é possivel controlar a placa através de regras, por exemplo uma regra de termostato:

https://github.com/arendst/Sonoff-Tasmota/wiki/Rules

Rule1 {rule on dht11#temperature>20 do power1 1 endon on dht11#temperature<26 do power1 0 endon}

ou uma regra de timer

timer1 {"Arm":1,"Mode":0,"Time":"06:00","Days":"1111111","Repeat":1,"Output":1,"Action":3}

No entanto ainda não fui muito feliz no uso destas regras, alguém ai esta utilizando o Tasmota?

No momento para testes estou utilizando um wemosD1 mini

https://github.com/arendst/Sonoff-Tasmota/

Exibições: 55

Responder esta

Respostas a este tópico

Consegui alguma coisa, o programa funciona bem na Sonoff, mas no wemos ainda tem algum bug não tem testei em outros chips, os comandos são bem simples, em geral 1 ativa 0 desliga alguma função

como monta as regras

rule1 on <trigger1> do <command> endon on <trigger2> do <command> endon

essas regras são adicionadas através do console do webserver.

Triggers https://github.com/arendst/Sonoff-Tasmota/wiki/Rules

Rule - controla o armazenamento de regras definidas pelo usuário até 511 caracteres. Também permite ativar ou desativar regras. Em algumas situações, como sensores de mudança lenta (temperatura), permite habilitar ou desabilitar a ativação de uma regra.
RuleTimer - fornece até oito timers para ser usado como evento de contagem regressiva.em segundos
Event - permite que um usuário inicie uma regra.
Var - fornece armazenamento temporário para até cinco variáveis
Mem -  fornece armazenamento persistente para até cinco variáveis

Commands https://github.com/arendst/Sonoff-Tasmota/wiki/Commands

superficialmente os seguintes comandos que testei foram esses:

Timer<x> - são 16 timers podendo ser alterados para até 32, cada timer no momento executa apenas uma ação, ou liga ou desliga no horario definido, sendo definido como, timer1, timer2, timer3 ....

Arm - 1 - ativa a consulta de hora NTP

Mode 0 - usa o horario normal

Mode 1 - aciona no amanhecer de acordo com a coordenada

Mode 2 - aciona no por do sol de acordo com a coordenada

Days - são os dias da semana sendo 1 aciona no dia 0 não aciona, "1111111", "0000000" iniciando a partir de domingo

para ligar na terça e na sexta ficaria assim "0010010";

Repeat - define se vai repetir a regra na outra semana, sendo 1 liga, 0 desliga;

Output - define uma saída, não é exatamente o pino, mas sim o numero configurado no webserver do tasmota, sendo de pino 1 a 16

Action 1 - no timer 1 liga no horario definido

Action 0 - desliga no horario definido

Action 2  - inverte o ultimo estado 

Action 3 - aciona o timer de acordo com alguma regra definida para ele

Time - define horario da ação

Button1#State - inverte o estado do botão

Backlog - O recurso de backlog está disponível, permitindo a execução de vários comandos em seqüência.

Power<x> - o comando power define a saída a ser acionada ou desativada, são 16 saídas, sendo para ativar a saída 1 é Power1 1, e desativar Power1 0;

Abaixo umas regras que já consegui testar, observando que cada linha deve ser inserida individualmente no console,

Temporizadores
Horarios de acionamento
timer1 {"Arm":1,"Mode":0,"Time":"22:44","Days":"1111111","Repeat":1,"Action":3}
timer2 {"Arm":1,"Mode":0,"Time":"22:52","Days":"1111111","Repeat":1,"Action":3}
timer3 {"Arm":1,"Mode":0,"Time":"23:10","Days":"1111111","Repeat":1,"Action":3}

Regras de intervalos no acionamento do timer
rule1 on clock#timer=1 do backlog power1 %value%; ruletimer1 60 endon on rules#timer=1 do power1 off endon
rule2 on clock#timer=2 do backlog power1 %value%; ruletimer1 60 endon on rules#timer=1 do power1 off endon
rule3 on clock#timer=3 do backlog power1 %value%; ruletimer1 60 endon on rules#timer=1 do power1 off endon

Regras de intervalos no acionamento do botão como minuteria
rule4 on button1#state do backlog power1 %value%; ruletimer1 60 endon on rules#timer=1 do power1 off endon

Uma ação que achei interessante é que o botão do sonoff pode ser usado para ativar o desativar a ação do acionamento do rele, independente do andamento da ação, isso é muito útil para interromper um processo.

Outro ponto que as regras podem ser alteradas quantas vezes forem necessárias via console, sem muito transtorno

Ainda preciso testar as regras para termostato, mas como no wemos D1 não deu certo, preciso colocar um sensor na Sonoff, a hora que conseguir eu posto aqui, outra questão interessante é que essas regras que inseri funcionam sem a necessidade de um servidor Mqtt, mas a função do servidor é justamente enviar essas regras neste padrão.

para acionar uma bomba d'agua em intervalos definidos, por exemplo comando(versão 6.1.1.6)

Time#Minute|(tempo em minutos) 

delay (em segundos acionado)

regra que utilizei para exemplo: regra nº2 - Após 1 minuto, liga, aguarda 600 segundos e desliga (em loop);

rule2 on Time#Minute|1 do backlog power on;delay 600;power off endon

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço