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 ):
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:
- Conectar o 3v e o GND por USB ( igual quando fez para enviar o Tasmota), ligando desta maneira não precisa cortar a placa.
- Eu fiz download do projeto completo: https://github.com/arendst/Tasmota/tree/master, e acessei a pasta: Tasmota/tools/fw_efm8bb1/
- Escolhi o arquivo mais novo, no caso o: RF-Bridge-EFM8BB1-20191006.hex, e enviei através do botão: Firmware Updgrade
- 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)
- 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
Abraço!