Smart Fechadura Positivo - Review/fotos/planos

Olá pessoal,

Estive procurando por algum tempo uma fechadura que pudesse ser sobreposta à minha fechadura atual sem precisar de grandes modificações na porta. Analisei diversas opções, como a GIMDOW e outras que só estão disponíveis em alguns países.

Recentemente, encontrei uma promoção na Amazon da Smart Fechadura Positivo por R$ 389 e achei que valeria mais a pena do que tentar importar qualquer outro modelo.

Devido à falta de informações e documentação online sobre esta fechadura, decidi iniciar este tópico para compartilhar minhas descobertas, planos e, talvez, reunir mais pessoas na comunidade para desenvolver uma integração local com o homeassistant.

Segue abaixo algumas das primeiras características que foram um pouco difíceis de confirmar antes da compra:

  • Protocolo: Bluetooth

  • Compatível com app SmartLife: SIM

  • Compatível com HUB/Gateway BT de outras marcas: Sim, porém parece que nem todas as funcionalidades são compatíveis. Com meu HUB genérico, não consegui fazer funcionar a função de travar ao trancar a porta em conjunto com sensor de fechamento.

  • Instalação é plug and play? Definitivamente não. O fato de ter que alterar o miolo da porta para instalar não parece ser muito prático. No meu caso, não consegui usar o miolo original que vem na caixa e tive que fazer modificações para torná-lo compatível com a minha fechadura. Abordarei isso em um vídeo específico.

  • Existe integração com o Home Assistant? Não. Não é possível ter controle via tuyalocal nem integração oficial da Tuya. A única forma que encontrei para fazer o controle via homeassistant foi criando uma automação no SmartLife que, quando acionada, tranca a fechadura e acionando ela via integração oficial da tuya, obviamente usando a cloud.

Espero que essa discussão possa ajudar outras pessoas que estejam considerando a compra dessa fechadura e também possa ser útil para aqueles que já possuem e querem explorar mais funcionalidades.

Fiquem à vontade para compartilhar suas experiências e ideias de integração.

(reservado para Review)

(reservado para review 2)

Como ela é bluetooth, você tentou conectá-la diretamente pelo BT do HA?

Não encontrei em lugar nenhum fotos do circuitos internos da fechadura, então segue abaixo as que eu fiz.







Infelizmente esqueci de tirar antes de iniciar a desmontagem, a placa da 2ª foto vai diretamente parafusada sobre a placa da 3ª foto.

Estudei esse conector que faz a ligação entre as duas placas e consegui rastrear as seguintes ligações:

Pin 1 - ?
Pin 2 - IO11
Pin 3 - TX
Pin 4 - GND
Pin 5 - ?
Pin 6 - IO14
Pin 7 - IO21
Pin 8 - RX
Pin 9 - 3.3v
Pin 10 - ?

Procurando informações sobre este módulo TYBN1 na internet só achei o datasheet da tuya, não consegui encontrar outros exemplos de produtos usando ele.
No datasheet eu encontrei um esquema exemplo da ligação do módulo que parece ser muito semelhante ao usado nessa placa.

Acredito que o TYBN1 se comunique com um TuyaMCU, STM32L na placa inferior, via comunicação serial. Se eu estiver certo o TuyaMCU é responsável por controlas as funções de abertura e fechamento, enquanto o TYBN1 só faz a interface bluetooth.
Alguém que tenha maior conhecimento pode me ajudar a desvendar?

Comecei a pensar na possibilidade de fazer a substituição desse módulo TYBN1 para tentar obter acesso e assim fazer uma integração local com o homeassistant.

Quando possível pretendo gerar um DUMP dos comandos dessas portas TX/RX para ver se realmente se trata de uma comunicação serial, e se é possível emular os comando com um ESP.

Quem da comunidade estiver disposto a se envolver e auxiliar no projeto com sugestões e ideias será muito bem vindo, certamente será muito necessário.

1 Like

Em dispositivos wifi trocam o modulo para esp8266 ou esp32, no caso de BT eu nunca vi/pesquisei.

Acho que suas suspeitas estão corretas.
Tenho um interruptor que usa o tuyaMCU e troquei o firmware original para o OpenBeken e pelo que pesquisei é isso que acontece.

Info:TuyaMCU:TUYAMCU received: 55 AA 00 07 00 08 07 02 00 04 00 00 00 00 1B 
Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=0]: processing command 7 (State) with 15 bytes
Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 7, dataType 2-DP_TYPE_VALUE and 4 data bytes
Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 4 int: 0
Info:TuyaMCU:TUYAMCU received: 55 AA 00 07 00 05 01 01 00 01 01 0F 
Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=0]: processing command 7 (State) with 12 bytes
Info:TuyaMCU:TuyaMCU_ParseStateMessage: processing dpId 1, dataType 1-DP_TYPE_BOOL and 1 data bytes
Info:TuyaMCU:TuyaMCU_ParseStateMessage: raw data 1 byte: 

Mesmo trocando o firmware eu fico limitado a configuração que esta gravada no tuyaMCU.
Se eu quiser usar um duplo clique ou segurar, eu não consigo pois não tem a configuração no tuyaMCU. (pelo que entendi)

Já pesquisou se tem algumm modelo de fechadura com outro nome?

Da uma pesquisada aqui:
https://www.elektroda.com/

Tem muita coisa sobre dispositivos tuya

Na verdade se realmente for esse o comportamento tudo bem, nesse caso eu não precisaria me preocupar em programar todas as funções da fechadura novamente.

Parece que o maior desafio aqui vai ser encontrar um modulo baixo em consumo de energia o suficiente para substituir esse bluetooth. Passei horas pesquisando e não encontrei nenhuma solução viável.

Assim que possível vou desmontar novamente e conectar um ESP e tentar descobrir esses dpIds e posto aqui.

Enquanto isso aceito sugestões sobre como substituir esse módulo por algum tipo de ultra eficiente em consumo.

Olá pessoal,

Sigo aprofundando no funcionamento da fechadura, os avanços mais recentes foram,

Eu abri a fechadura e soldei fios aos pinos TX, RX, GND e 3.3v da placa e usei dois conversores TTL para ligar ambos os canais da placa nas portas RX dos conversores, abaixo uma foto que tirei durante o processo:

Consegui interceptar as comunicações entre o modulo Bluetooth e o TuyaMCU em ambos os canais, fiz um log operando a fechadura de diversas maneiras, para identificar a comunicação entre ambos os módulos.

Continuando a pesquise eu cheguei a seguinte pagina da Tuya:
MCU Integration Protocol

A página aborda de maneira bem completa os comandos utilizados pela comunicação e tornou bem fácil descobrir os comandos relevantes para operar a fechadura.

Acredito que os mais relevantes são,

O MCU comunica ao modulo BT o status da fechadura:

TRANCADA - Status
55 AA 00 07 00 05 2F 01 00 01 00 3C

ABERTA - Status
55 AA 00 07 00 05 2F 01 00 01 01 3D

O Modulo BT comanda o MCU para executar:

Fechamento
55 AA 00 06 00 05 2E 01 00 01 01 3B

ABERTURA
55 AA 00 06 00 17 47 00 00 13 FF FF 39 38 36 35 33 36 33 39 01 01 E4 6D 11 5F 00 ED
*este comando parece haver uma parte variável de dispositivo para dispositivo, onde é identificado qual o dispositivo pareado está executando a abertura e em seguida um numero randômico. Para entender melhor sugiro ler a página de referencia.

ABERTURA MANUAL
55 AA 00 06 00 05 2E 01 00 01 00 3A
Esse comando é enviado quando eu aciono a abertura via gateway BT, parece que este comando é simplificado e não leva a string única por dispositivo do comando anterior.

E também consegui identificar o código que a MCU manda para o módulo BT reportando o nível de bateria.
55 AA 00 07 00 08 08 02 00 04 00 00 00 41 5D
no caso a seq hex 00x00 00x41 em decimal seria 65, que era o porcentagem de bateria no momento dos testes.

Outra descoberta foi o uso de alguns pinos no conector, numerando da seguinte forma

PIN
1 - Parece ser o botão do pareamento que funciona como Pull Down, ainda preciso investigar melhor.
2 - Acorda Modulo Bluetooth
3 - MCU TX
4 - GND
5 - Sempre HIGH, não consegui descobrir
6 - Acorda o Modulo MCU
7 - Sempre HIGH, não consegui descobrir
8 - MCU RX
9 - 3.3v
10 - Vai para Low quando está ativa.

Os pinos 2 e 6 parecem ser responsáveis por acordar o Mod BT e MCU, respectivamente.
O pino 2 parece fica sempre em HIGH e vai para LOW quando o MCU vai transmitir alguma comunicação para o BT.
E o pino 6 fica sempre em HIGH e acorda o MCU quando vai para LOW.
Esses pinos devem ser ativados antes de iniciar a comunicação UART.

Depois disso eu conectei uma placa esp8266 a fechadura sem o módulo bluetooth e consegui comandar essas funções de abertura e fechamento usando o Tasmota, tudo parece ter funcionado sem problemas durante os testes.

Se eu tivesse uma tomada por perto da porta eu manteria o esp8266 e ligaria uma fonte diretamente a energia, comandaria tudo via esphome tornando a fechadura 100% local. Infelizmente essa não é uma opção para mim.

Infelizmente manter um modulo esp8266 conectado ao wifi consome muita energia e a bateria de 2600mha iria se esgotar em pouco tempo, então resta a opção de tentar desenvolver um solução via BLE.
Cheguei ao ponto mais complicado do projeto desenvolver um firmware em C++, compilado para o melhor consumo energético possível, para um módulo ESP32 ou NRF52 (seria ainda melhor) se comunicar através de BLE. E um esp32 scanner, usando esphome mesmo, que seria responsável por enviar e receber os comandos BLE e encaminhar para o homeassistant, tal qual um gateway.

Não encontrei nada parecido na web, e meus conhecimentos de programação são bem básicos, estou tentando fazer o básico via Arduino IDE para depois aprofundar e melhorar o consumo energético mas não consegui desenvolver nada funcional ainda.

Se alguém tiver interesse em ajudar no desenvolvimento do software estou aberto a colaboração para que o projeto possa seguir em frente de maneira mais rápida.

1 Like