Aprende a monitorizar la batería de tus dispositivos bluetooth en Home Assistant, incluso cuando no aparecen por defecto.
¿Qué dispositivos puedo monitorizar?
Evidentemente, en esta entrada no nos referimos a todos aquellos dispositivos que disponen de un sensor de batería en su integración. Tampoco a aquellos que obtenemos a través de la aplicación de Home Assistant.
En este caso nos referimos a monitorizar la batería de tus dispositivos bluetooth que no tienen integración con Home Assistant (por ejemplo, unos auriculares bluetooth o un reloj inteligente) y que cumplan los siguientes requisitos:
- Estar vinculados a un dispositivo Android.
- Tener la app de Home Assistant instalada en dicho dispositivo Android.
Creación del sensor
Para poder monitorizar la batería de tus dispositivos bluetooth de una forma cómoda, vamos a crear un sensor para cada uno de ellos. Sólo tienes que seguir estos pasos:
- En tu dispositivo Android, abre la aplicación de Home Assistant y ve a Ajustes > Aplicación complementaria > Administrar sensores > Sensor de última actualización y activa el sensor de «Disparador de la última actualización».
- En este mismo apartado, habilita la opción de «Añadir nuevo intento» y luego pulsa en «Intent 1».
- En la ventana emergente introduce el siguiene texto y pulsa en «Guardar».
android.bluetooth.device.action.BATTERY_LEVEL_CHANGED
- Sal de la aplicación y reiníciala completamente (busca la opción de «Forzar detención» en los ajustes de tu teléfono).
- Abre tu fichero ‘configuration.yaml’ y pega el siguiente código.
template: - trigger: - platform: "event" event_type: "android.intent_received" event_data: android.bluetooth.device.extra.DEVICE: "DIRECCION_MAC" intent: "android.bluetooth.device.action.BATTERY_LEVEL_CHANGED" sensor: - name: "DISPOSITIVO" unique_id: "UID ÚNICA" device_class: "battery" unit_of_measurement: "%" state_class: "measurement" availability: "{{ trigger.event['data']['android.bluetooth.device.extra.BATTERY_LEVEL'] != '-1' }}" state: "{{ trigger.event['data']['android.bluetooth.device.extra.BATTERY_LEVEL'] }}"
- Haz los siguientes ajustes en el código anterior:
- En el campo ‘android.bluetooth.device.extra.DEVICE’ tienes que indicar la dirección MAC de tu dispositivo bluetooth. Si no sabes cuál es, una forma sencilla de verlo es acceder al apartado de Bluetooth de tu dispositivo Android y seleccionar el detalle de tu dispositivo bluetooth. Probablemente bajando un poco verás un código de números y letras del tipo «XX:XX:XX:XX:XX:XX» (esa es la dirección MAC).
- En el campo ‘name’ indica el nombre que quieres dar al sensor (por ejemplo, «Batería Auriculares BT»).
- En el campo ‘unique_id’ tienes que indicar una ID única para el dispositivo, es decir una combinación de letras y números que no se repita en ningún otro dispositivo. Si utilizas como editor de código el complemento Studio Code Server, puedes generar uno de forma automática haciendo clic derecho con el ratón y pulsando en la opción «Generate UUID At Cursor».
- Reinicia Home Assistant y, cuando termine, enciende tu dispositivo bluetooth.
- Listo! Ahora ya puedes buscar tu sensor desde Herramientas para desarrolladores > Estados.
- Repite el proceso para cada uno para monitorizar la batería de tus dispositivos bluetooth en Home Assistant.
Nota: el valor de los sensores de batería sólo son visibles mientras que el dispositivo bluetooth está conectado a tu dispositivo Android, el resto del tiempo se mostrará como «Unavailable». Te recomiendo que utilices la tarjeta Battery State Card para monitorizar los sensores, y utilices el filtro ‘exclude’ de la siguiente manera:
- type: custom:battery-state-card sort: state filter: exclude: - name: state value: Unavailable - name: state value: Unknown