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 compatíveis!

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 termostato da Xiaomi, vou usa-lo como exemplo no tutorial.

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

[color=red]Adicionado o componente![/color]

No HACS vá em Integrações.

Clique em Explore e Download Repositories no canto direito inferior e procure Passive BLE Monitor.

Clique em “Download This Repository With HACS”.

Clique em Download.

Reinicie o Home Assistant.

Com ele reiniciado vá em Configurações, Dispositivos e 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.

Com a integração configurada, vai carregar a tela de opções, repare que o MAC address do Bluetooth do seu hardware e a opção de Descobrir dispositivos e sensores automaticamente já vão estar marcados. Então é só clicar para Enviar. O seu hardware vai procurar seu dispositivo BLE.

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.

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!

[color=red]Existem duas formas de conseguirmos essa chave.[/color]

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.

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.

[color=red]Seguindo com o tutorial![/color]

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.

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.

Agora é só aguardar que as informações vão aparecer. Pode demorar muitos minutos.

Bom, é isso. Um abraço!

[color=red]Outras informações:[/color]

Sobre o termostato, fiz alguns testes 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.

O termostato 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.

Integrei também um sensor de vazamento de água BLE da Xiaomi e foi integrado com sucesso!

6 Curtiram

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.

Qual é o alcance do BLE? Esta solução só funciona na proximidade do dispositivo, não é verdade? Supondo o caso de um habitação com vários pisos, e necessário instalar repetidores (ESP32), para cobertura total do sinal bluetooth, certo?

O alcance vai variar muito, conforme o receptor e a construção da casa.
Eu tenho um RPI4, que não é conhecido pelas seu grande alcance do BT e mesmo assim apanha no mesmo piso um sensor com duas paredes pelo meio e com muito pouco sinal ainda apanha outro no andar superior.
Com um receptor externo, talvez ainda melhore bem mais.

É possível colocar ESP32 para interligar outros dispositivos BT, mas na prática não é repetidor, pois já não irá usar este componente.

Eu acabei por remover este componente e não usar o BT do Raspberry Pi 4 e tenho um ESP32 (com EspHome) no 1º piso onde “apanho” 3 sensores (dois em divisões no mesmo andar e outro no piso inferior), com muito melhor sinal. Por vezes com o PI deixava de ver o sensor…

1 Curtiu

O alcance do BLE varia muito do tipo de bluetooth e o local como o @Peixeiro comentou.
Moro em um apartamento de 65 m2, pega bem em todo o apartamento pq tenho sensores em todos os cômodos, uso o BT do meu mini pc.

Pela tua explicação, julgo ser melhor usar o ESP32. Tenho sensores de temperatura Dallas e LM35 em cabo, mas estes flutuam mto e estou a pensar substituir pelos Mi, por isso irei necessitar do BLE, com a agravante do HA estar numa ponta (garagem).

Para quem quer centralizar tudo no Passive BLE →

https://github.com/myhomeiot/esphome-components

BLE Gateway component will allow you to forward BLE Advertising data packets for external processing to Home Assistant or other systems.

É também o meu caso, tenho o RPI na garagem. Com um D1 Mini ESP-WROOM-32 no 1º andar, consegui melhor cobertura para os sensores, tenho ainda lá ligado um sensor BMP280 e um led RGB, assim tenho a temperatura, humidade e pressão atmosférica nessa divisão, o LED RGB serve de luz de presença nocturna que é o quarto de um dos miúdos, e ainda apanha os 3 sensores BLE xiaomi.

Eu usei este componente no EspHome: https://esphome.io/components/sensor/xiaomi_ble.html

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

Comprei um Fingerbot. Não consigo que seja integrado por BLE. Alguém com similar experiência? Tenho um sensor de humidade/temperatura, foi reconhecido na hora.

Olá, verificou na lista de dispositivos compatíveis se ele é compatível com essa integração? Se não estiver na lista é porque não é compatível.

É, companheiro, não está.

Mas quando o comprei não tinha em mente que seria mesmo mecessária a integração no HA. Infelizmente é. Paciência.

Obigado!

Com o HA numa maquina virtual proxmox como consigo detetar o bluetoth do hardware. Já instalei o BLE mas não consigo detetar o bluetoth.
Alguem sabe como isto se faz?

Tens de passar o hardware para dentro da VM antes de puder usar no HA.

E como se faz isso? Podes ajudar.

Antes de mais, muitos parabéns @LeandroIssa pelo tutorial que está espectacular! Obrigado!

Já cheguei a ter esta integração a funcionar perfeitamente com vários equipamentos. Julgo que foi após uma reinstalação de backup que deixaram de funcionar.
Agora, estou a reativar todos. Segui todos os passos, inseri a key respetiva e não consigo visualizar os dados. Continua como “desconhecido”.

Alguma dica?

O homeassistant tem bluetooth nativo agora

@nikito7 , já experimentei, mas não mostra toda a informação…só se fiz algo mal…

Ainda nem tudo é suportado.

E podes ter de usar o Bluetooth_proxy no esphome

Olá malta!

Num dos sensores de temperatura Xiaomi, não me estão a devolver o valor da bateria. Um deles inclusive, não me dá o valor da temperatura. Apenas da humidade.
Alguma dica?

abc