Como integrar sensor de temperatura/Humidade xiaomi_lywsd03mmc no HA

image

Para integrar estes pequenos sensores Bluetooth com visor no HA o processo é muito simples o autor do firmware disponibiliza aqui todo o processo, eu só vos vou partilhar a informação em Português de como eu fiz o processo.
Estes sensores são muito baratos, 3 custam à volta de 10 eur, para funcionarem com o HA terás que ter um ESP32 para que este sirva de HUB para posteriormente flashares com o ESPHOME.

Bom, para começares com o processo descarrega o .bin no link acima indicado

De seguida abre este link verás algo como a imagem abaixo:

Ao clicares em CONNECT vai aparecer o seguinte quadro:

image
Clica no nome do teu sensor que começar por: LYW… e de seguida clica em SINCRONIZAR vai aparecer a seguinte janela já com a informação da Temperatura e Humidade.
E no teu sensor ao lado da temperatura vai aparecer o simbolo do bluetooth, que quer dizer que está conectado.

De seguida clica em em DO ACTIVATION vais ver que mais abaixo aparecerá o MI TOKEN como também o MI BIND KEY toma notá do MI BIND KEY vais precisar.

Para finalizar o processo abre o ficheiro .bin e clica no botão START FLASHING vais ver o processo de flash a decorrer… espera até ao final

Depois de flashado carrega no botão Mi Like umas 5 ou 6 vezes seguidas, como também no tempo que quiseres que o sensor reporta os dados.

Consegues ver cá mais em baixo no LOG se os pedidos dos teus cliques nos botões estão a ser recebidos.

Bom, agora vem uma parte importante… que é saberes qual o MAC do teu sensor, eu uso ANDROID, e por norma uso esta APP para saber os macs dos devices.

Quando abrires a APP vai aparecer uma lista de devices que o telemóvel fez o scan, mas o MAC que te interessa é o que está por baixo do NOME: ATC_blablabla

===========================================

Ok , agora tens que compilar o seguinte código no teu ESP32 com o ESPHOME.

esphome:
  name: sensor_CPHA
  platform: ESP32
  board: esp32doit-devkit-v1

wifi:
  ssid: "Minha_rede_wifi"
  password: "Minha_pass_wifi"
  use_address: "ip_do_esp32"

# Enable logging
logger:

# Enable Home Assistant API
api:

# Add webserver on port 80
web_server:
  port: 80

# Enable update Over-The-Air
ota:

# Enable Bluetooth scanning for this ESP32
esp32_ble_tracker:

sensor:
  - platform: xiaomi_lywsd03mmc
    mac_address: XX:XX:XX:XX:XX:XX
    bindkey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    temperature:
      name: "CPHA Temperatura"
    humidity:
      name: "CPHA Humidade"
    battery_level:
      name: "CPHA Nivel bateria"

# Show the status of ESP32
binary_sensor:
  - platform: status
    name: "Sala CPHA"

Se tudo correr bem, no log do esphome vais ver algo como:

E na integração do EspHome algo como:

image

Dúvidas? Comenta em baixo.

7 Curtiram

Não precisas do bindkey se usas a firmware custom.

Simplesmente podes usar o xiaomi_cgg1 como platform

Salvo erro, tens de enviar FB05, para corrigir o offset da humidade

Edit:
Com a ultima dev do esphome podes usar:

platform: atc_mithermometer
2 Curtiram

Obrigado pela informação, na realidade é um dado que pela facilidade de obter pelo que demonstrei ,não faz muita diferença.

A post was split to a new topic: Sensores de temperatura Humidade com fios

Cnnsegui por a funcionar o sensor :smiley: no entanto tive um problema nao consegui fazer o envio do firmware para o ESP32 atraves de OTA no ESPHOME (dava-me sempre erro ao compilar , algo relacionado com o timeout), no entao é possivel fazer a programação diretamente a partir da porta USB do raspberry, basta ligar reiniciar o HA e ja temos disponivel a programação do ESP32 por USB.

FICA A DICA :smiley:

@RodolfoVieira obrigado pelo tutorial.

Eu usei este componente [ ble_monitor ] para integrar estes sensores com o HA e funciona 5 estrelas.
Qual a vantagem de usar o ESPHOME?

1 Curtiu

No meu caso foi uma questão de expansão por falta de alcance do bluetooth entre pisos da casa

Boas Sérgio. Estou a tentar integrar o sensor com BLE mas apesar de estar a funcionar BLE não encontra o sensor😔 podes ajudar?

Olá @RodolfoVieira , este método também é válido para quem usa um HUB Xiaomi, ou apenas para quem usa ESP?

Este método é para quem usa um esp32.
Já agora partilho o link mais recente em que não necessitamos de fazer o download do FW para depois flashar o sensor de temperatura e humidade.
Assim que o dispositivo é ligado/reconhecido, temos disponível de imediato o firmware mais recente para flashar o dispositivo.

https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html

( :rotating_light: newbie question/user)
O ESPHOME resolve-te o problema da falta de cobertura porque tens “esp32 bluetooth proxies” (https://esphome.io/projects/index.html) a meio caminho?

Estes proxies replicam a transmissão de todos os dispositivos BLE/bluetooth para ser consumido pelo HA ou é especifico para ser consumido pelo ESPHOME (dentro do HA) ?

Thanks
Flink

o bluetooth no esp32 eles não replicam a transmissão, eles são “acess points” de bluetooth que detetam equipamentos e por wifi enviam a informação para o home assistant de que detectaram o equipamento. são muito usados como sensores de presença para relógios inteligentes/telemoveis para detectar se a pessoa está presente naquela area 10m.
dentro do esp32 pode haver programação que pode converter a informação enviada por bluetooth em dados como temperatura humidade, etc…, que depois são enviados por wifi para o home assistant como sensores.

exemplo:

sensor:

  • platform: xiaomi_lywsd03mmc
    mac_address: XX:XX:XX:XX:XX:XX
    bindkey: “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”
    temperature:
    name: “CPHA Temperatura”
    humidity:
    name: “CPHA Humidade”
    battery_level:
    name: “CPHA Nivel bateria”
1 Curtiu

Isso é sem bluetooth_proxy.

Hoje em dia usa-se bluetooth_proxy, que reencaminha todos os packets ble para o HA


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade