Sonoff Bridge (Tasmota) lendo sensor sem fio Intelbras (RF 433 Hz)

Fala Galera,

Com a ajuda do pessoal grupo do telegram e princialmente do Nelson que passou o link do Firmware para Portisch, segue as dicas para conseguir ler sensores da Intelbras sem fio com o Sonoff Bridge e enviar por MQTT as informações para o Home Assistant.

Este tutorial é como fiz para o Sonoff Bridge ler este sensor de porta da intelbras (433 Hz ):
sensor_abertura_sem_fio_intelbras_xas_4010_smart_portas_e_janelas_622_1_20170831115315

Eu segui 3 tutoriais para fazer:
1 - Como nunca tinha feito flash com Tasmota, assisti o vídeo do Marcio, recomendo se é a primeira vez que vai trocar o firmware do Sonoff:

2 - Segui o tutorial do Forum da Comunidade Portuguesa para fazer o Tasmota, já que ele é mais específico para o Sonoff Bridge:
https://forum.cpha.tech/t/flashar-e-configurar-o-sonoff-bridge/148
Dica: Antes de enviar o .bin, deve colocar a chave no OFF e antes de ligar o USB para fazer o flash, deve ficar apertando o botão na lateral.

3 - Com o Tasmota no Sonoff Bridge ainda os sensores da intelbras não são lidos, é necessário atualizar o Firmware para Portisch, para isto segui este outro turorial:
https://github.com/arendst/Tasmota/wiki/Sonoff-RF-Bridge-433
Dica: O meu modelo é o R2, não precisa cortar a placa. Se for igual o meu modelo, só fazer o jumper, com 2 fios:

  1. Conectar o 3v e o GND por USB ( igual quando fez para enviar o Tasmota), ligando desta maneira não precisa cortar a placa.
  2. Eu fiz download do projeto completo: https://github.com/arendst/Tasmota/tree/master, e acessei a pasta: Tasmota/tools/fw_efm8bb1/
  3. Escolhi o arquivo mais novo, no caso o: RF-Bridge-EFM8BB1-20191006.hex, e enviei através do botão: Firmware Updgrade
  4. Assim que atualizar o Firmware, deve configurar novamente sua rede Wifi, e configurar o MQTT também. Se for usar minhas configurações, em Topic no MQTT usei: sonoff_bridge e Full Topic usei: %prefix%/%topic%/ (default)
  5. Após terminar a configuração, entre no Console do Tasmota e digite: rfraw 177

Se tudo ocorrer bem, ao abrir o sensor da porta da intelbras que vai aparecer o as informações do sensor no console, algo como:

01:03:18 MQT: tele/sonoff_bridge/RESULT = {“Time”:“2019-10-28T01:03:18”,“RfRaw”:{“Data”:“AA B1 03 0226 03A2 303E 2818090918091818091809180905090909180918180909181809180918 55”}}

Se vc abrir o sensor diversas vezes vai notar que a parte inicial sempre muda, o que acabei fazendo foi um filtro para pegar apenas a informação que foi a mesma todas as vezes que abri o sensor:
No caso foi o numero: 2818090918091818091809180905090909180918180909181809180918

Os 24 primeiros caracteres eu descartei e os 3 ultimos (" 55") também. Eu fiz um filtro no próprio Home Assistant ao ler a informação, exemplo que fiz de automação:

automation:
    - alias: Sensor Porta 433 Esquerda Edicula
      hide_entity: true
      trigger:
        platform: mqtt
        topic: tele/sonoff_bridge/RESULT
      condition:
        condition: template
        value_template: '{{ trigger.payload_json.RfRaw.Data[24:82] == "2818090918091818091809180905090909180918180909181809180918" }}'      
      action:
        service: tts.google_translate_say
        entity_id: "all"
        data:
          message: 'A porta esquerda da edicula foi aberta'

Perceba que ao ler a trigger.payload_json.RfRaw.Data**[24:82]** usei um filtro no final [24:82], isto significa que vai descartar as 24 caracteres inicias e vai até a caracter 82. ( Dependendo do seu sensor talvez tenha que alterar a posição de leitura, em todos os meus sensor da intelbras funcionaram este mesmo filtro, e não ocorreu nenhum repetido).

E por último, eu fiz uma gambiarra, para rodar o rfraw 177, eu não manjo de Tasmota e não consegui jogar o comando ao iniciar, achei este post, ensinando assim que ele reiniciar, mas não consegui fazer. Acabei fazendo um switch que joga o código rfraw 177 do Home Assistant para o sonoff bridge por mqtt. Porque toda a vez que o sonoff Bridge reiniciar é necessário rodar o rfraw 177, senão ele não vai ler os sensores.

switch:
  - platform: mqtt
    name: "rfraw177"
    state_topic: tele/sonoff_bridge/INFO3
    value_template:  "{% if trigger.payload_json.RestartReason == 'Power on' %} ON {% else %} OFF {% endif %}"
    state_on: "ON"
    state_off: "OFF"
    availability_topic: tele/sonoff_bridge/LWT
    command_topic: cmnd/sonoff_bridge/Backlog
    qos: 1
    payload_on: "rfraw 177"
    payload_off: "rfraw177"
    payload_available: "Online"
    payload_not_available: "Offline"
    retain: false

E como eu quero que rode este switch toda a vez que o sonoff bridge ligue eu fiz uma automação, que reconhece que o sonoff está online e ele liga este switch de cima:

automation:
    - alias: Usar rfraw177
      hide_entity: true
      trigger:
        platform: mqtt
        topic: tele/sonoff_bridge/INFO3
      condition:
        condition: template
        value_template: '{{ trigger.payload_json.RestartReason == "Power on" }}'      
      action:
        - service: tts.google_translate_say
          entity_id: "all"
          data:
            message: 'Sonoff Bridge configurado para RFRAW 177' 
        - service: switch.turn_on
          data:
            entity_id: switch.rfraw177

Acredito que deve ter maneiras muito melhores para fazer executar o rfraw 177 no Tasmota, deixe sua sugestão nos comentários :slight_smile:

Abraço!

2 Curtidas

Leonardo, obrigado por compartilhar.
Segui e consegui com sucesso flashear o Sonoff RF Bridge.
Tive uns problemas durante os testes pois, quando você coloca em modo RfRaw, ele depois de um tempo parece que trava, e no console do Tasmota, não aparece nada com relação ao OFF do RfRaw, parece que não desativa, trava mesmo. Se você der o comando de RfRaw 177 no console novamente, ele volta a operar normal, escutando os sinais emitidos pelos sensores.
Passei a tarde toda quebrando a cabeça e cheguei na solução abaixo que compartilho:

Em sensor do home assistant inserir o sensor:

  - platform: mqtt
    name: "sensor sonoffbridge"
    state_topic: "tele/sonoff_bridge/RESULT"
    value_template: "{{ value_json.RfRaw.Data }}"
    expire_after: 60

Em switch do home assistant inserir o switch abaixo:

  - platform: mqtt
    name: Sonoff Bridge - Receptor RF Raw 177
    command_topic: "cmnd/sonoff_bridge/Backlog"
    state_topic: "stat/sonoff_bridge/RESULT"
    value_template: "{{ value_json.RfRaw }}"
    state_on: "ON"
    state_off: "OFF"
    payload_on: "RfRaw 177"
    payload_off: "RfRaw OFF"
    availability_topic: "tele/sonoff_bridge/LWT"
    payload_available: "Online"
    payload_not_available: "Offline"

Em automation do home assistant inserir a automação abaixo:

  - id: ativa_rfraw_automatico
    alias: Sonoff RF Bridge - Reativacao Automatica
    trigger:
    - platform: state
      entity_id: sensor.sensor_sonoffbridge
      to: "unknown"
      for: "00:00:15"
    action:
      - service: switch.turn_on
        entity_id: switch.sonoff_bridge_receptor_rf_raw_177

Criar uma rule via console do Tasmota do Sonoff RF Bridge, que ativa o modo RfRaw 177 assim que o mesmo é ligado na energia e ativa o switch do Home assistant com o status:

Rule1 ON System#Boot DO RfRaw 177 ENDON

Ativar a rule no console do Tasmota do Sonoff RF Bridge:

Rule1 1

É isso, aparentemente está funcionando perfeitamente.

1 Curtida