Vamos a ver cómo añadir un medidor de humedad y temperatura bastante barato, del ecosistema Mijia de Xiaomi… con Paciencia
Estos dispositivos en teoría solo hablan con su Hub original del fabricante, pero nosotros cambiaremos el firmware para que lo pueda reconocer nuestro sistema Home Assistant
El dispositivo que elegimos dentro del amplio ecosistema de Xiaomi es el LYWSD03MMC que nos muestra temperatura y humedad con un consumo de batería de lo más reducido:


Vamos a detallar estos pasos (cada uno necesario para el siguiente), pero tened en cuenta que os podéis saltar alguno si ya lo tenéis. También debéis saber que hay varias formas de ejecutarlos, dependiendo de si habéis usado Home Assistant OS , o habéis instalado en un contenedor docker, o en las cada vez más posibilidades que existen.
Mi consejo aquí es que si estáis empezando, vayas sobre seguro con alguna combinación bien conocida. En nuestro caso usamos Home Assistant OS instalado en un Raspberry PI 4.
Tabla de contenidos
Paso 1. Creamos cuenta en GitHub.
Será necesario la creación de una cuenta en https://github.com/ , pues usaremos la API que nos proporciona para acceder al repositorio HACS.
GitHub es una plataforma de desarrollo y repositorio de proyectos que fue comprada por Microsoft, pero que conserva el espíritu de código libre y colaborativo. Está basada en un software de gestión de versiones llamado Git, de ahí su nombre.
Cuando tengamos la cuenta creada en su página, iremos al perfil de usuario, y seleccionamos la configuración de desarrollador. No os preocupéis, no es que tengamos que ponernos ahora a desarrollar. Simplemente seguid los pasos.


En la sección Personal access tokens, elegirmos Generate new token. Le daremos un nombre significativo para el propósito de nuestro sistema (por ejemplo HA):


Una vez creado el token es importante anotarlo y guardarlo, pues nos hará falta más adelante.
Paso 2. Instalación de SSH.
Vamos ahora a instalar un cliente SSH para poder teclear en línea de comandos en el subsistema de Home Assistant y poder correr el script de instalación de HACS.
SSH es básicamente lo mismo que el antiguo protocolo TELNET, pero mucho más seguro. Nos permitirá abrirnos una terminal en remoto para acceder a nuestro sistema.
Lo instalaremos desde el menú Supervisor y allí en Add-on Store buscaremos Terminal & SSH. Desde la versión 2021.12 desde el menú Configuration > Add-ons, Backups & Supervisor.


Vayamos ahora con el siguiente paso, la instalación de HACS
Paso 2. Instalación de HACS.
En el paso anterior instalamos el Add-on SSH. Pues bien, ahora toca arrancarlo y abrir su interface gráfica:




No os preocupéis, no teneís que ser expertos en linux, solo seguir los pasos.
Ejecutaremos el siguiente comando:
wget -q -O - https://install.hacs.xyz | bash -
Ahora ya podremos ir a Configuration > Integrations y buscar HACS (signo +) y aceptamos los términos de uso.
Cuando nos pregunte por el token de GitHub, le pegaremos el que apuntamos en el Paso 1.
Tendremos que resetear nuestro Home Assistant, siempre chequeando previamente, todo en Configuration > Server Controls. Dejad un poco de tiempo (dependerá de lo complejo de vuestro sistema) hasta que todo esté arrancado.
Hasta aquí ya tendremos instalado HACS, y en teoría podremos ver el acceso en nuestro menú lateral de Home Assistant:


Paso 3. Instalación de Passive BLE monitor.
Una vez instalado HACS (Home Assistant Community Store) tendremos acceso a multitud de complementos, por si no además de los oficiales, y van añadiendo más los desrrolladores independientes, entre ellos el que nos ocupa en esta guía. En la documentación del propio complemento tendréis más información de qué otros dispositivos podéis integrar.
Vamos a Configuration > Integrations y añadimos buscando Passive BLE monitor:


Podremos especificar el tiempo entre medidas entre otros parámetros. Tened en cuenta que no tiene mucho sentido leer una temperatura cada segundo. Un buen valor de período será 60 segundos:


En este punto, quizás sea necesario qutar y poner la batería de nuestro termómetro para que inicie el emparejamiento y pueda detectarlo nuestro sistema.
Todavía no hamoe acabado, pues si vamos a Configuration > Devices y buscamos nuestro termómetro-higrómetro, vemos que no tenemos lectura (Unknown):


Esto es así porque están configurados para hablar únicamente con su Hub propietario de Xiaomi.
Una de las maneras de solucionar esto, es cambiando la programación, flasheando un nuevo firmware. Lo vemos en el siguiente paso:
Paso 4. Flashear dispositivo.
Vamos primero a bajarnos el fichero .bin en su última versión de la siguiente página: https://github.com/atc1441/ATC_MiThermometer/releases :


Ahora, con el fichero en nuestro ordenador o móvil (imprescindible Bluetooth aquí), con un navegador Chrome iremos a esta fabulosa página: https://atc1441.github.io/TelinkFlasher.html
Desde aquí volcaremos nuestro nuevo firmware. Primero elegimos la opción Connect , donde nos mostrará los dispositivos Bluetooth que están en nuestro entorno. Os aconsejo que el termómetro esté muy cerca del ordenador/móvil que estemos usando para que lo vea con máxima señal y nos sea más fácil identificarlo:


Seleccioamos y vinculamos. Podremos seguir todo el proceso de vinculación con el Log al final de la página:


Otra forma de confirmar que hemos enlazado con nuestro dispositivo es verificar que la lectura de la página coincide con la del display del dispositivo:


Luego seleccionamos la opción Do Activation, Seleccionamos el fichero .bin descargado e iniciamos Start Flashing:


El proceso no lleva mucho y podremos ver el progreso de escritura:


Cuando termine, en la sección de Log podremos ver cómo ha ido todo el proceso:


Si volvemos aHome Assistant a la sección Configuration > Integrations, en


Y luego seleccionamos nuestro termómetro, podremos ver ahora que finalmente tenemos lectura y ponerlo en el panel de control Lovelace si queremos:


En el menú Configuration > Devices es donde podréis ver tambien de una forma rápida los distintos termómetros-higrómetros que acabamos de integrar:


Ha sido una guía un poco larga, pues hemos tenido que configurar varios componentes, pero merece la pena la integración de estos pequeños termómetros de precio tan barato y tan versátiles sin necesidad de comprar el Hub de Xiaomi.
Os dejamos otros enlaces por si os interesa:
- Claude Shannon y la teoría de la información
- Instalar Samba en Home Assistant
- Ideas para ahorrar dinero con ayuda de Home Assistant
- Google Home. Todas las posibilidades
- Regalos originales para una Smart Home perfecta – 2022
- Notificaciones en Telegram desde Home Assistant
- Notificaciones en Web OS con Home Assistant. LG Smart TV
- Instalación de DuckDNS en Home Assistant. Acceso remoto desde internet.
- Home Assistant Yellow
- Sensación térmica de OpenData AEMET en Home Asssistant.
- Cómo usar el sensor Bayesian en Home Assistant.
- Integración de aire acondicionado HISENSE en Home Assistant
- Beneficios de tener una smart home
- Cómo usar el sensor Statistics en Home Assistant. Ejemplos
- How to analyze energy data usage with Home Assistant
He comprado 4 de estos dispositivos para medir la temperatura de varias habitaciones en mi casa. El siguiente paso será adquirir e instalar sensores en puertas y ventanas. El objetivo final es automatizar que el aire acondicionado se ponga en marcha cuando las ventanas estén cerradas, suba la temperatura y tenga producción solar. Mi problema es que tengo la RaspberryPi3 en el comedor y el bluetooth de los sensores más alejados de la casa no van a llegar. ¿Esto se puede solucionar con un Hub o Gateway o qué solución puedo aplicar?
Hola Jordi, te recomiendo este otro post: https://www.pacienciadigital.com/extensor-wifi-home-assistant/ donde entre otras cosas explicamos las frecuencias usadas por Bluetooth, Zigbee y Wifi y que aclara bastante sobre las posibles interferencias. Incluso la propia carcasa (sobre todo si es metálica) puede restar efectividad. Dicho esto, la opción de instalar un adaptador Bluetooth 4.0 externo parece razonable, pero incluso así puede que te quede corto el rango. Como última alternativa, puedes pasar a sensores por WiFi en algún caso con mucho mayor rango.