Retain estado do Sensor RF

Olá pessoal, gostaria de parabenizar os responsáveis pelo fórum, ficou muito bacana, tenho certeza que a comunidade brasileira de home assistant só tem a ganhar com isso.

Estou tendo uma dificuldade com sensores de porta e janela, o modelo é o WDS-07, envia sinal de aberto e fechado, são RF e estão funcionando com o sonoff bridge com tasmota, porém ao reiniciar o home assistant o status dos sensores retornam como “off” ou “fechado”, mesmo que as portas e janelas estejam abertas.

No configuration está assim

binary_sensor:
  - platform: mqtt
    name: "Sacada da Sala"
    payload_on: "18740A" 
    payload_off: "18740E"
    device_class: door
    state_topic: "tele/sonoffbridge/RESULT"
    value_template: '{{ value_json.RfReceived.Data}}' 

Tentei colocar um retain: true no código acima porém o check do hassio retorna que o retain não é suportado.

Tentei utilizar uma automação com mqtt.publish, porém não consegui fazer funcionar.

- alias: Porta da sacada retain status
  initial_state: on
  trigger:
    - platform: mqtt
      topic: "tele/sonoffbridge/RESULT"
  condition:
    - condition: template
      value_template: "{{ trigger.payload_json.RfReceived.Data in ('18740A','18740E') }}"
  action:
    - service: mqtt.publish
      data_template:
        topic: "tele/sonoffbridge/RESULT"
        payload: "{%- if trigger.payload_json.RfReceived.Data == '18740A' -%}ON{%- else -%}OFF{%- endif -%}"
        retain: True

A automação até é ativada porém não funciona, ao reiniciar o HA o status dos sensores reinicia e voltam todos como “fechado”

1 curtida

Após a ajuda do Nelson, consegui resolver o problema utilizando Rule direto no sonoff bridge, no console do sonoffbridge coloquei os seguintes comandos:

rule1 on rfreceived#Data=5CC50A do publish2 RFBridge/sensor1 Open endon on rfreceived#Data=5CC50E do publish2 RFBridge/sensor1 Close endon on rfreceived#Data=5D8A0A do publish2 RFBridge/sensor2 Open endon on rfreceived#Data=5D8A0E do publish2 RFBridge/sensor2 Close endon on rfreceived#Data=D8050A do publish2 RFBridge/sensor3 Open endon on rfreceived#Data=D8050E do publish2 RFBridge/sensor3 Close endon

É possível adicionar regras para reter o status do sensor direto no sonoff bridge, no exemplo acima, tem 3 sensores em uma rule, pode ser utilizado a rule1, rule2 ou rule3, cada uma pode armazenar várias funções desde que caibam em 511 caracteres.
O campo com 5CC50A é o sinal do seu sensor, normalmente final A é aberto e final E é para fechado. O RFBridge/sensor1 é o topico onde será armazenado o status, será usado no seu configuration.yaml

Logo após você precisa ativar a rule, através do console:
rule1 1

Dentro do configuration.yaml ficará da seguinte forma:

binary_sensor:
  - platform: mqtt
    name: "Porta Laboratório"
    state_topic: "RFBridge/sensor1"
    availability_topic: "tele/RFBridge1/LWT"
    qos: 1
    payload_on: "Open"
    payload_off: "Close"
    payload_available: "Online"
    payload_not_available: "Offline"
    device_class: door

Lembrando que o payload_available varia de acordo com a versão do seu tasmota, se estiver utilizando firmware english é online/offline, caso esteja utilizando firmware PTBR fica Conectado/Desconectado, da seguinte forma:

binary_sensor:
  - platform: mqtt
    name: "Porta Laboratório"
    state_topic: "RFBridge/sensor1"
    availability_topic: "tele/RFBridge1/LWT"
    qos: 1
    payload_on: "Open"
    payload_off: "Close"
    payload_available: "Conectado"
    payload_not_available: "Desconectado"
    device_class: door

Eu acabei não conseguindo da primeira vez por não lembrar desse detalhe, sempre bom deixar desta que para ninguém esquecer disso como eu fiz kkkkkkk

Aqui tem um vídeo que pode ser útil a respeito da utilização do Rule

4 curtidas

Também estou com o mesmo problema, porém eu uso ESPHome no meu Sonoff Bridge. Alguém sabe como faço para resolver???