MQTT - Colocar em OFF switch de um sonoff se perder ligação

sonoff

(Ricardo Reis) #1

Boas,

tenho um sonoff com Tasmota a usar mqtt. Está configurado no HA como switch.
Imaginando o seguinte cenário:

  • Ligo o sonoff
  • Coloco em ON no HA
  • Tiro a ficha do sonoff

A partir deste momento, o HA vê sempre o sonoff como ligado, porque o último comando enviado pelo sonoff era “ON”.
Existe alguma forma, sem recorrer a automação (como, fazer ping ao sonoff, caso indisponivel marcar como OFF). Por exemplo, o protocolo MQTT não tem nada do tipo “Keep Alive” que funcione para este cenário?

O mesmo se passa para um ESP8266 que tenho, que está a servir de programador de rega e também usa MQTT para abrir e fechar os sectores.


(Nuno Neves) #2

Existe… Tens de ter configurado no HA o tópico de LWT do sonoff… Quando o desligas, ele aparece com indisponível…


(Ricardo Reis) #3

para fazer o que tu dizes, é utilizando as automations?


(Jorge Assunção) #4

O problema poderá ser do tópico estar com retain. No Espurna existe uma opção, no Tasmota também mas não sei onde, para indicar o que fazer em caso de falha de energia. Ao voltar a energia podes forçar a ligar, a desligar, a utilizar o último estado ou inverter o último estado.

Nada disto é feito com automações mas sim nas definições dos switch no HA ou na interface do equipamento.


(Nuno Neves) #5

Não, configura o switch assim:

switch:
  - platform: mqtt
    name: "Sonoff power"
    state_topic: "stat/sonoff/POWER"
    command_topic: "cmnd/sonoff/POWER"
    availability_topic: "tele/sonoff/LWT"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    payload_available: "Online"
    payload_not_available: "Offline"

Altera para corresponder aos teus… Basicamente tens de incluir a parte do availability… O retain, pelo menos no tasmota, não tem nada a ver…


(Jorge Assunção) #6

Atenção à formatação do código! Selecciona o texto e clica em </>


(Nuno Neves) #7

Desculpa, @j_assuncao, mas no telemóvel não há maneira de conseguir formatar, não sei porquê… Quando estiver num PC edito o Post…


(Jorge Assunção) #8

Não há problema @Maddoctor!

Se não conseguires formatar porque ao seleccionar o texto a barra onde aparecem as opções {cortar, colar, copiar, etc} fica a tapar o menu, experimenta com o dedo mover a barra para cima ou para baixo para destapar o menu.


(Nuno Neves) #9

Não é isso… Isso eu sei… O problema, pelos vistos, é que tenho de deixar uma linha em branco antes e depois…


(Jorge Assunção) #10

Isso mesmo, precisas de uma linha em branco antes e depois do bloco de código.

O Discourse usa uma linguagem de marcação chamada Markdown para a formatação de texto. Se quiseres podes ler mais sobre Markdown neste link.

https://daringfireball.net/projects/markdown/syntax#precode