2Sensores de plantas MiFlora no Home Assistant

Estou processando a integração do MiFlora Home Assistant para obter dados sobre várias plantas da casa há algum tempo. No entanto, ao longo do caminho, tive que superar vários obstáculos, incluindo alcance limitado de bluetooth, problemas de duração da bateria, e obtendo os valores da bateria para relatar. Eu finalmente pareço ter quebrado tudo isso e agora tenho um sistema que funciona de forma confiável com muitas plantas ao redor da casa. Eu resumi o que eu usei abaixo.

ferragens

A primeira coisa a dizer é que eu tenho um bluetooth USB dongle conectado ao meu sistema de assistente doméstico. Isso monitora as plantas na faixa diretamente (i.. os que estão na mesma sala que a caixa HA). Para monitorar dispositivos mais distantes usei uma placa ESP32 com módulo bluetooth embutido que tenho dentro de um case baratinho e alimentei com um micro antigo-USB carregador de telefone

  • USB dongle: o que eu tenho não está mais disponível - devido à idade - mas há muitos amazon e em outros lugares - apenas certifique-se de que ele tenha suporte no linux
  • placa ESP32: eu tenho um JZK ESP32-S que atualmente custa £ 6,49 na Amazon
  • Caso para ESP32: Encontrei o caso de um NodeMCU Wroom-32D (antena curta) encaixou na minha prancha - isso custava £ 4,20 de ebay

Integrações para o Home Assistant

Embora a integração básica do MiFlora esteja integrada ao assistente doméstico, descobri que ele usa muita bateria quando usado nativamente. Em vez disso, eu uso o Monitor Bluetooth de Baixa Energia 3terceiro integração de terceiros que você pode instalar facilmente usando RETARDAÇÃO
Eu também instalei o Integração ESPHome para o assistente doméstico gerenciar meu repetidor ESP32 BLE
Finalmente, para exibir as plantas de uma maneira agradável, adicionei um garfo específico do cartão de planta lovelace dar via HACS

Configuração

Depois que o BLE Monitor foi instalado e configurado com meu dongle bluetooth, ele pegou os sensores MiFlora dentro do alcance e os listou em seu menu suspenso "dispositivos", além de listar os dispositivos e entidades em seu cartão na configuração HA
A grande vantagem do monitor BLE é que ele escuta os sensores para transmitir, em vez de enquete-los ativamente, que iria esgotar suas baterias. Entretanto, os sensores não transmitem informações sobre a bateria, portanto, para obter isso, precisamos pesquisar ativamente. Votação só para isso, e ouvir passivamente os outros dados parece ser o melhor compromisso se você quiser ter todos os dados disponíveis, mas também maximizar a vida útil da bateria do sensor. Eu separei meu configuration.yaml em vários arquivos separados para manter as coisas um pouco mais fáceis de gerenciar, então tenho apenas a seguinte linha no meu configuration.yaml —

Então, em sensores.yaml, tenho cada planta listada da seguinte maneira

Próximo — para fazer as plantas parecerem bem, eu tenho uma configuração de plantas. Como antes, uma única linha em configuration.yaml para começar: 

E então em plantas.yaml eu tenho o seguinte

Observe a sutil diferença entre o nome da entidade para a bateria em comparação com os outros sensores. A entidade bateria vem da plataforma miflora em sensores.yaml enquanto a outra 4 sensores estão vindo da integração BLE. Existe uma entidade de bateria listada pela integração BLE, mas isso apenas aparece como "desconhecido" para esta planta. Esta configuração é necessária para que o cartão da planta mostre a planta de uma forma bem apresentada
Em seguida, basta ir ao local em que deseja adicionar sua planta e adicionar o cartão de planta lovelace. Você terá que “configurar” o cartão manualmente, mas só precisa de 3 linhas...

Observe que a espécie está listada para 2 REAs-ons. Em primeiro lugar, ele exibirá o nome no cartão, mas mais import-antly, ele também exibirá uma foto da planta se você baixou as imagens da planta e as adicionou em configwwwimagesplants usando os nomes latinos — as informações no banco de dados estão disponíveis na documentação do cartão da planta lovelace

Alcance estendido

Finalmente, precisamos estender o alcance que podemos alcançar. Para isso precisamos do dispositivo ESP32. A primeira coisa a fazer é conectá-lo ao seu computador via USB e faça o flash com uma imagem básica do ESPHome
Eu usei o ESP Home Flasher e a driver universal para windows cp210x da SiLabs e seguiu o guia fornecido pela integração ESPHome HomeAssistant
A configuração que usei para o meu dispositivo ESP32 está abaixo

Em seguida, salve e atualize para o seu dispositivo esp32 via wifi. O dispositivo ESP32 pegará os dados do sensor miflora e o 'enviará' via wifi para a integração BLE que criará um dispositivo e entidades automaticamente. Dispositivos empurrados dessa maneira parecem mostrar seu nível de bateria (graças ao código na parte inferior da seção myhomeiot_ble_client, acredito). Você só precisa dar ao dispositivo um bom nome (e deixe as entidades serem renomeadas também) e, em seguida, crie uma entrada em plantas.yaml com as entidades corretas

Por favor envie-nos a sua opinião comentando abaixo! Se você deseja se inscrever, use o link de inscrição no menu no canto superior direito. Você também pode compartilhar isso com seus amigos usando os links sociais abaixo. Felicidades.

Deixe uma resposta

2 Comentários

gravatarTony

Olá, obrigado por postar esta ótima solução.
O gateway Bluetooth esp32 pode transmitir dados de mais de um dispositivo bluetooth ou ou você precisa fornecer um ESP 32 para cada dispositivo Bluetooth queremos estender o alcance para?

Resposta
gravatarJon Scaife

Oi Tony
O ESP transmitirá dados para qualquer dispositivo BT dentro do alcance, acredito, embora o meu atualmente seja usado apenas para 1 Dispositivo BT não consigo confirmar 100% - mas esse é certamente o meu entendimento

Resposta