Solução para TH-16 RF (PSF-B85)

Olá pessoal, Sou bem novo nesse rolê louco de automação e programação e vim dividir com vocês uma experiência que tive, Caso eu tenha postado no lugar errado me perdoem sou bem novato mesmo hehehehe.
Eu e um amigo estamos desenvolvendo uns sensores de temperatura para geladeiras e conectados via mqtt pegando as temperaturas de tempo em tempo e montando um gráfico, fizemos uns protótipos bem rudimentares com o NodeMCU e tal mas ficaram bem grandes e meio desajeitados e não iriam ficar bonitos pra finalidade deles que é ficar numa clínica, então decidimos comprar um sensor chinês no aliexpress pra tentar a sorte reescrevendo ele, já que ele vem bonitinho na caixinha dele mesmo.

O Sensor é o TH-16 RF (Sonoff?)

o danado veio com uma controladora PSF-B85 e então começamos a saga de Brickar
Caso alguem algum dia precise fazer uma coisa dessa deixo aqui as informações que nós encontramos e descobrimos…

Esse é o Danado do sensor:

Ele utiliza um chip PSF - B85 numa placa integrada com um relay, um botão, e uma entrada P2 utilizada para o sensor de temperatura que acompanha o produto, que mais na frente iremos utilizar para alimentação durante o processo de regravação.

Primeiramente indentificaremos os pinos Necessários para regravar nossa própria programação no chip PSF-B85 :

TX ; RX ; GND ; GPIO0, RST ; 3,3v

Utilizaremos o modelo de .Yaml do “esp8266” pois o chip PSF-B85 é baseado em ESP 8266 segue exemplo do nosso .Yaml para a controladora:

esphome:
  name: sensorinox

esp8266:
  board:  esp8285

# Enable logging
logger:
# Enable Home Assistant API
api:
  password: 

ota:

# Example configuration entry

switch:
  - platform: gpio
    pin: GPIO12
    name: Relay
    id: relay
   
  - platform: gpio
    pin: GPIO13
    name: led
    id: led
    inverted: true
Binary_sensor:
  platform: gpio
  pin:
   number: GPIO0
    #mode: INPUT_PULLUP
   inverted: True
  name: “botão”
  on_press:
    switch.toggle: relay
   
dallas:
  - pin: 14
    update_interval: 15s
# Individual sensors
ensor:
  - platform: dallas
    address:  0xbe6d03871e64ff28
    name: "Temperatura"
wifi:
  ssid: dudu
  password: cachorro

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Sensor Fallback Hotspt"
    password: 
      
mqtt:
  broker: 
  #broker: 
  username: 
  password: mqtt_password      
  
 captive_portal:

Para realizar a gravação do controlador, precisaremos do ESPHOME instalado e configurado com a interface web funcionando. Clicamos em adicionar dispositivo, selecionamos o dispositivo que queremos, no caso da PSF_B85 utilizamos o esp8266(board 8285). Escrevemos nosso .Yaml e gravamos via USB( importante ter os drivers instalados no computador para executar a gravação corretamente além de verificar permissões da porta usb)

Para achar o “address” do sensor de temperatura demoramos um pouco, a solução que encontramos foi configurar um MQTT server e configurar o Yaml pra que o dispositivo se conecte neste MQTT server, após isto é possível, na dashboard do ESPHOME, ver o log do dispositivo que irá conter o “address” correto. Daí podemos regravar o Yaml com o valor de “address” correto

Sensores e respectivos pinos utilizados por eles:
Switch: GPIO 12
Led: GPIO 13
Botão: GPIO 0
Dallas( temperatura): GPIO

RF: Infelizmente não encontramos maneira de fazer funcionar, se alguém souber ajuda nós!?

Gravação Via Ota (Over the Air):

A placa do sensor contém uma fonte integrada para fornecer os 3.3v necessários para seu funcionamento, entretanto quando fomos realizar a gravação via OTA (Over the Air) estranhamente não funcionou, analizando o problema chegamos à conclusão de que o 3.3v fornecido pela fonte integrada possui uma corrente muito baixa que acaba sendo insuficiente para utilização do recurso OTA(ou pode ta com defeito mesmo hehehe). Para solucionar o problema utilizamos uma fonte externa 12V com regulador de tensão para 3.3v, identificamos na interface de conexão do sensor de temperatura qual era o 3.3v, GND e Data. Criamos então um cabo de alimentação P2 e o utilizamos para alimentar o circuito sempre que houver a necessidade de regravar utilizando OTA.

Pronto! Sensor chinês brickado
Depois disso conseguimos definir qualquer servidor MQTT conectar o sensor e automatizar a vida \o/
E é isso, espero ser informação útil.

1 Like