Passive BLE Monitor - Integre dispositivos Bluetooth Low Energy no Home Assistant!

Já pensou em integrar localmente dispositivos BLE (Bluetooth Low Energy) no Home Assistant? Então, é possível! Com o componente Passive BLE Monitor é possível integrar localmente dispositivos Xiaomi, Aqara, Viomi, Yeelight dentre outros!

Veja clicando aqui a lista de dispositivos!

localBLEcc

Para integrar dispositivos BLE ao Home Assistant não é necessário nenhum hub ou gateway, se o hardware que está usando o Home Assistant já tem Bluetooth integrado como um Raspberry Pi, Mini PC ou Notebook podemos utilizar o bluetooth deles! Caso não tenha Bluetooth no seu hardware então um pequeno dongle usb já basta.

Github do componente: clique aqui!

No meu caso uso o Home Assistant em um Mini PC e adquiri esse pequeno sensor de temperatura/humidade da Xiaomi, vou usa-lo como exemplo no tutorial.

Vamos ao tutorial, o primeiro passo é adicionar o componente Passive BLE Monitor.

Adicionado o componente!

No HACS vá em Integrações.

Clique em “+ Explorar e baixar repositórios” no canto direito inferior e procure Passive BLE Monitor.

Clique em “Baixar esse repositório com HACS”.

Clique em Baixar.

3

Reinicie o Home Assistant.

4

Com ele reiniciado vá em Configurações, Dispositivos & Serviços.

No canto direito em baixo clique em Adicionar Integração e procure na lista Passive BLE Monitor.

Caso não abra a integração na hora deve aparecer essa mensagem para aguardar. Aguarde que depois de alguns minutos a integração é configurada. Realmente demora um tempo, aguarde com paciência.

6

Com a integração configurada, vai carregar a tela de opções. Verifique se o MAC address do Bluetooth do seu hardware e a opção de Descobrir dispositivos e sensores automaticamente estão marcados. Se estiver tudo certo então é só clicar para Enviar. O seu hardware vai procurar seu dispositivo BLE. Marque a opção “restore state after a restart” para manter os status dos dispositivos depois de uma reinicialização.

Pegue seu dispositivo BLE e deixe perto do seu hardware que irá aparecer no seu Home Assistant automaticamente. Caso o seu Home Assistant não ache o dispositivo mais a frente no tutorial vai aprender a integrar ele de outra forma.

8

Com ele integrado ao Home Assistant irá perceber que as informações do dispositivo vão ficar como Desconhecido.

Na documentação do componente Passive BLE Monitor temos a informação que para sensores é obrigatório que tenhamos uma chave de encriptação para termos as informações do dispositivo. Verifique se seu dispositivo necessita.

Então vamos buscar essa chave de encriptação!

Existem duas formas de conseguirmos essa chave.

Primeira forma:

A primeira forma é adicionando o dispositivo ao aplicativo Mi Home e por ele conseguindo a chave!

Baixe o Mi Home, selecione região China. Já com o aplicativo aberto clique no “+” no canto superior direito.

Clique em Adicionar Dispositivo e ligue o Bluetooth do seu celular.

Adicione o seu dispositivo a sua conta e siga o passo a passo!

Agora temos ele adicionado.

Essa parte do tutorial é para quem o Home Assistant não achou o dispositivo. Para integra-lo vamos precisar do MAC Address do seu dispositivo e no Mi Home vamos ter essa informação.

Clique no dispositivo e vá no Menu na direito em cima. Clique em About.

E agora vai ter o seu MAC Address, guarde ele.

Com seu dispositivo adicionado ao Mi Home agora vamos conseguir a chave de encriptação!

Vamos precisar usar um programa para Windows chamdo Token Extractor.

3

Pode baixar o programa clicando aqui.

O windows deve indicar que é um programa malicioso, ignore e baixe mesmo assim.
Abra e clique em Executar assim mesmo.

Com ele baixado, abra, coloque seu e-mail e senha do Mi Home.
Depois coloque a região em que a conta do Mi Home está seu dispositivo, para China coloque “cn” e pronto!

Vão aparecer todos os dispositivos, token e no caso do dispositivo BLE da Xiaomi vai aparecer também a chave de encriptação (BLE KEY). Copie a chave que vamos usar.

Segunda forma:

Pareie o seu dispositivo BLE em um computador que tenha bluetooth, entre no site clicando aqui para obter a chave encriptada.

Já no site clique no botão Connect e aguarde até que ele mostre conectado.
Com ele conectado, clique no botão Do Activation e aguarde até que a chave de encriptação apareça na opção Mi Bind Key.

Telink_flasher_website

Seguindo com o tutorial!

Pronto, agora temos a chave encriptada e com ela em mãos vamos adicionar ao Home Assistant!

Vá em Configurações, Integrações e na integração do Passive BLE Monitor clique em Configurar.

10.5

Vá em Devices e clique no seu dispositivo se ele foi descoberto pelo Home Assistant, caso não tenha sido clique em Add device.

Preencha com a chave encriptada e clique em Enviar.
Se o seu dispositivo não tiver sido descoberto pelo Home Assistat preencha com o MAC Address e a chave encriptada, clique em Enviar.

Vai voltar para a tela anterior, clique em Enviar nela. Vai aparecer uma mensagem de sucesso.

Captura de tela 2021-12-25 222226

Agora é só aguardar que as informações vão aparecer. Pode demorar até 2 horas.

Bom, é isso. Um abraço!

4 Likes

Parabéns @LeandroIssa por mais um excelente tutorial! Tenho interesse em adquirir este dispositivo para colocar nos quartos da minha residência, mas tenho dúvidas em relação a comunicação entre os dispositivos e o Bluetooth integrado no hardware do NUC que está rodando o HA. Sabe me dizer qual é a distância máxima admissível entre eles? O manual trás alguma orientação a esse respeito?

1 Like

Olá @marciosvieira , então não sei precisar a distância mas acredito que seja grande, já tive relatos de colegas que usam em vários cômodos com paredes de distância e continuam pegando o sinal. Meu apartamento é pequeno então nem tenho como testar isso.

2 Likes

Parabéns @LeandroIssa pelo tutorial! Muito fácil de seguir.
Olá @marciosvieira, eu tenho dois módulos deste tipo integrados ao HA via ESPHome com ESP32. O ESP32 fica posicionado entre os dois módulos a cerca de dois metros de cada um. Um módulo fica em outro cômodo. Funciona bem.
Fiz esta integração do Passive BLE Monitor ao HA com Raspberry Pi 4, que fica a três metros de um módulo no mesmo cômodo e a cerca de cinco metros do segundo que está em outro cômodo. O módulo do segundo cômodo não funciona muito bem, ele por vezes leva horas para atualizar.

1 Like

Oi Marcio, tudo bom? Chegaram + 3 dele pra mim!

Fiz alguns testes aqui e funciona super bem em alguns cômodos + afastados! Coisa de 2 paredes de distância e uns 15 metros!
O Bluetooth 4.0 do mini pc tem suporte para até 61 metros.
Um dongle usb ou um hardware com Bluetooth 5.0 pode chegar a 240 metros.

Pelo depoimento do colega @Renato no grupo do telegram, na casa dele funciona bem dentro do banheiro (uns 10m) com 2 paredes (1 sendo azulejada).

Mas isso tudo varia muito de situação para situação!

1 Like

Excelente! Obrigado pelo feedback.

1 Like

Só + 1 feedback, ele atualiza + ou - a cada 10 minutos a temperatura. No momento que liguei o ar condicionado podemos ver a temperatura caindo e quando desliguei a temperatura subindo…

1 Like

Sensor de vazamento de água BLE da Xiaomi integrado com sucesso!

1 Like

Adquiri escovas de dentes da Xiaomi, são BLE e integram perfeitamente pelo Passive BLE Monitor, estou gostando da escovação, é excelente!

Aparecem 3 entidades, a escova com status de ligado e desligado, a bateria e o rssi (sinal).

Na entidade da escova aparece a contagem de vezes (Counter) que a escova foi ligada e uma nota (Score) de 0 a 100 para a última escovada.

Sobre quantidade de dispositivos, já tenho 9 dispositivos e funcionam super bem, zero problemas!

9

1 Like

Saudações @LeandroIssa (e demais integrantes do fórum).

Assim como você eu tenho o meu Home Assistant rodando no Mini PC GK Mini da Beelinik e recentemente adquiri dois desses sensores de temperatura e humidade da Xiaomi. Mas ao tentar integrar me deparei com um problema estranho. O Mac address do bluetooth foi reconhecido pela integração Passive BLE Monitor, mas o sensor não pareava de forma alguma. Após algumas tentativas (entre reboots do sistema e reinstalações da integração) descobri que o problema estava no meu sistema operacional (Debian 11). Quando fiz a instalação do Debian 11 como servidor para o Home Assistant fiz da forma mais limpa possível, deixando apenas os softwares e serviços essenciais para rodar o SO. Na etapa de escolha de drivers, por exemplo, optei por instalar apenas os direcionados (necessários para aquele hardware específico) e na etapa de escolha de softwares deixei apenas o Servidor SSH, deixando inclusive a opção Utilitários de sistema padrão desmarcada. A consequência disso é que alguns serviços ficam indisponíveis, tendo que instalar na unha. Ao verificar se o bluetooth estava ativo na máquina com o comando <sudo systemctl status bluetooth> obtive o erro <Failed to start bluetooth.service: Unit bluetooth.service not found.>, o que significa que o serviço do bluetooth não estava ativo.

Depois de identificar o erro foi fácil corrigir, bastando apenas rodar os comandos <sudo apt install bluez> e <sudo systemctl enable bluetooth>. Depois disso reiniciei o host (Mini PC) com o comando <sudo reboot> e o dispositivo foi reconhecido. Depois bastou colocar a chave de encriptação conforme explicado no tutorial para os dados aparecerem. E apareceram rápido, em menos de 5 minutos.

Bom, é isso. Essa dica é para quem fez o mesmo tipo de instalação do Debian 11 que eu e que não conseguiu integrar o sensor de temperatura e humidade.

Se mesmo assim não funcionar, pode tentar instalar o firmware-atheros <sudo apt install firmware-atheros> e reinicia o Host.

7 Likes

Pessoal quem não quiser usar o firmware original da Xiaomi no termômetro BLE pode colocar um custom firmware que não precisa mais pegar a chave encriptada (BLE key). Com esse nem precisa configurar nada, a integração acha ele sozinha e adiciona.

É super simples de reverter caso queira e o firmware alternativo libera outra funções, como a carga da bateria na tela. Ele fica alternando entre nível de bateria e umidade.

Você também pode mudar o tempo de refresh das leituras. No firmware original é travado em 10 minutos, com o alternativo você escolhe entre 10 segundos e 10 minutos (sabendo que vai gastar mais bateria).

Tem esse vídeo explicando como fazer:

Baixe o arquivo ATC_Thermometer.bin do github do firmware customizado clique aqui.

E é nesse site aqui: https://atc1441.github.io/TelinkFlasher.html que vai colocar o firmware customizado.

photo_2022-02-17_17-33-00

Você pode parear o sensor no seu smartphone ou no seu computador que tenha bluetooth para colocar o firmware customizado.

Se você se arrepender e quiser voltar, no mesmo github tem o firmware original para fazer colocar novamente.
https://github.com/pvvx/ATC_MiThermometer/files/7300157/LYWSD03MMC_0130_upd_miaomiaoce.sensor_ht.t2.zip

Obrigado ao @Max_Leorne pelas imagens, pelo vídeo e por ter divulgado.

4 Likes

Top vou fazer com o meu

Pessoal, uma dica é deixar marcado a opção Restaurar um estado após uma reinicialização, com ela quando você reiniciar o HA os sensores não vão voltar sem status.

Olá, estou comecando meu projeto de HA, instalei em uma maquina virtual para comecar a configurar, ate poder finalmente compra uma maquina independente e os dispositivos, comecei pelo modem para a cobertura integral da minha casa, enfim, gostaria de saber se esse metodo de bluetooth pega no sistema de irrigacao que o patrique mostra no video dele, poderia me informar?

https://www.youtube.com/watch?v=YXITazW-JZw&t=401s

Não funciona com ela! :point_down:

@leofig vc teria algum tutorial para fazer essa integracao do ESP32 com o HA?, acabei adquirindo um mini PC, com bluetooth, so que quero usar o Hhcc flora, mais onde vai ficar o meu servidor de HA, é cerca de 38m, em linha reta (entre 5 a 6 paredes), acredito que nao seja possivel pegar nessa distancia. ou seria mais intuitivo adicionar o gateway xaiomi 3?

@LeandroIssa me tira uma duvida, os dispositivos esses termostato ou alguns outros dispositivos anexado na “lista de dispositivos” compativeis, eles sao como zigbee? fazendo repectao/malha BLE?

Oi Rafael, eles não são como zigbee, não fazem repetição de malha.

Faz um teste, se o sinal não chegar adiciona ao gateway 3 da Xiaomi. Acho o sinal do gateway 3 + potente que o do mini pc.