2Sensores de plantas MiFlora en Home Assistant

He estado demandando la integración de MiFlora Home Assistant para obtener datos sobre varias plantas de interior durante un tiempo.. Sin embargo, en el camino tuve que superar varios obstáculos, incluido el rango limitado de bluetooth, problemas de duración de la batería, y obtener los valores de la batería para informar. Finalmente parece que he descifrado todo esto y ahora tengo un sistema que funciona de manera confiable con muchas plantas en la casa.. He resumido lo que he usado a continuación.

Hardware

Lo primero que hay que decir es que tengo bluetooth. USB dongle conectado a mi sistema de asistente doméstico. Esto monitorea las plantas en rango directamente (es decir. los que están en la misma habitación que la caja HA). Para monitorizar dispositivos a más distancia he utilizado una placa ESP32 con módulo bluetooth integrado que tengo dentro de una cajita barata y he alimentado con un viejo micro-USB cargador de teléfono

  • USB dongle: el que obtuve ya no está disponible, debido a su antigüedad, pero hay muchos en Amazon y en otros lugares, solo asegúrese de que sea compatible con Linux
  • Tablero ESP32: Recibí una JZK ESP32-S que actualmente cuesta £ 6.49 en Amazon
  • Caso para ESP32: Encontré el caso de un NodeMCU Wroom-32D (antena corta) se ajustó a mi tabla: esto costaba £ 4.20 de ebay

Integraciones para Home Assistant

Si bien la integración básica de MiFlora está integrada en el asistente doméstico, descubrí que usa mucha batería cuando se usa de forma nativa. En su lugar, uso el Monitor Bluetooth de bajo consumo 3rd integración de fiesta que puede instalar fácilmente usando RETRASO
Luego también instalé el Integración ESPHome para el asistente doméstico para administrar mi repetidor ESP32 BLE
Finalmente, para mostrar las plantas de una manera agradable, agregué un tenedor particular del tarjeta de la planta lovelace complemento a través de LAG

Configuración

Una vez que BLE Monitor se instaló y configuró con mi dongle bluetooth, recogió los sensores MiFlora dentro del alcance y los enumeró en su menú desplegable "dispositivos", así como también enumeró los dispositivos y entidades en su tarjeta en la configuración HA
Lo mejor del monitor BLE es que escucha los sensores para transmitir, en lugar de sondearlos activamente, que agotaría sus baterías. Sin embargo, los sensores no transmiten información de la batería, por lo que para obtener esto tenemos que sondearlo activamente. votando solo por esto, y escuchar pasivamente los otros datos parece ser el mejor compromiso si desea tener todos los datos disponibles pero también maximizar la duración de la batería del sensor. He separado mi configuración.yaml en varios archivos separados para mantener las cosas un poco más fáciles de administrar, así que solo tengo la siguiente línea en mi configuración.yaml:

Luego, en sensores.yaml, tengo cada planta enumerada de la siguiente manera

Siguiente: para que las plantas se vean bien, tengo una configuración de plantas. Como antes, una sola línea en configuration.yaml para comenzar: 

Y luego en plants.yaml tengo lo siguiente

Tenga en cuenta la sutil diferencia entre el nombre de entidad de la batería en comparación con los otros sensores. La entidad de la batería proviene de la plataforma miflora en sensores.yaml mientras que la otra 4 los sensores provienen de la integración BLE. HAY una entidad de batería enumerada por la integración BLE, pero esto solo se muestra como "desconocido" para esta planta. Esta configuración es necesaria para que la tarjeta de la planta muestre la planta de una manera agradable
Luego, simplemente vaya al lugar donde desea agregar su planta y agregue la tarjeta de la planta lovelace. Tendrás que “configurar” la tarjeta manualmente, pero solo toma 3 lineas...

Tenga en cuenta que la especie está listada para 2 reas complementos. En primer lugar, mostrará el nombre en la tarjeta., pero más import-antly, también mostrará una imagen de la planta si ha descargado las imágenes de la planta y las ha agregado a configwwwimagesplants usando los nombres en latín; la información en la base de datos está disponible en la documentación de la tarjeta de la planta lovelace

Ampliación de rango

Finalmente, necesitamos extender el rango que podemos alcanzar. Para ello necesitamos el dispositivo ESP32. Lo primero que debe hacer es conectarlo a su computadora a través de USB y flashearlo con una imagen básica de ESPHome
Usé el ESPInicio Flasher y el Controlador de Windows universal cp210x de SiLabs y siguió la guía proporcionada por la integración ESPHome HomeAssistant
La configuración que usé para mi dispositivo ESP32 está debajo

Luego guarde y actualice su dispositivo esp32 a través de wifi. El dispositivo ESP32 recogerá los datos del sensor miflora y los "empujará" a través de wifi a la integración BLE que creará un dispositivo y entidades automáticamente.. Los dispositivos empujados de esta manera parecen mostrar su nivel de batería (gracias al código en la parte inferior de la sección myhomeiot_ble_client creo). Luego solo necesita darle al dispositivo un buen nombre (y dejar que las entidades sean renombradas también) y luego crea una entrada en plants.yaml con las entidades correctas

Tienes algunos pensamientos de su propio? Sumérjase a continuación comentando! Si desea suscribirse por favor utilice el enlace de suscripción en el menú en la parte superior derecha. También puede compartir esto con tus amigos mediante el uso de los enlaces sociales inferiores. Aclamaciones.

Deja una respuesta

2 comentarios

gravatartonio

Hola, gracias por publicar esta gran solucion.
¿Puede la puerta de enlace Bluetooth esp32 transmitir datos a más de un dispositivo bluetooth o tiene que proporcionar un ESP? 32 para cada dispositivo Bluetooth queremos ampliar el alcance para?

Respuesta
gravatarJon Scaife

Hola Tony
El ESP transmitirá datos para cualquier dispositivo BT dentro del alcance, creo, aunque el mío actualmente solo se usa para 1 Dispositivo BT que no puedo confirmar 100% - pero eso es ciertamente mi entendimiento

Respuesta