Visualizando consultas MySQL en Home Assistant
Si disponemos de alguna base de datos por ahí con datos curiosos y queremos visualizarlos en nuestro Home Assistant… ¡este es tu post! Veremos cómo de manera sencilla podemos hacer consultas a BD, en este ejemplo será un MySQL donde lo integraremos con Hassio, y veremos al final que chulo queda.
En mi caso particular tengo una base de datos en MySQL con bastantes tablas donde almaceno diversos valores con estados de un montón de cacharros, si habéis seguido el blog, ya sabréis que almaceno métricas de bastantes sensores, humedad, temperatura, presión, básculas, temas de fitbit… Os dejo un par de ejemplos para que os hagáis la idea lo poco que nos va a costar, y no es más que en el mismo fichero de configuración de Home Assistant o Hassio donde daremos de alta como sensores cada consulta que queramos hacer, lo dicho:
- platform: sql db_url: mysql://USUARIO_BD:CONTRASEÑA@SERVIDOR_BBDD/NOMBRE_BD queries: - name: Humedad query: 'SELECT humedad from temp_cocina order by fecha DESC LIMIT 1;' column: 'humedad' unit_of_measurement: '%' - platform: sql db_url: mysql://USUARIO_BD:CONTRASEÑA@SERVIDOR_BBDD/NOMBRE_BD queries: - name: Temperatura Calle query: 'SELECT ROUND(calle,2) as t_calle FROM temp_calle ORDER BY fecha DESC LIMIT 1;' column: 't_calle' unit_of_measurement: 'ºC'
Tras grabar el fichero de configuración y reiniciar Home Assistant podremos editar el interfaz y añadir los sensores SQL, además, podremos personalizar el icono que queremos que tenga, para ello, recordar que podremos pinchar en los puntitos > “Configurar la interfaz de usuario” > Volvemos a pinchar en los tres puntitos > “Editor de configuración en bruto”. Ahí debajo de cada entidad añadiremos el icono que nos plazca, podremos obtener bastantes en www.materialdesignicons.com.
Y este sería un pantallazo de cómo veríamos los resultados de nuestras consultas a base de datos, queda chulísimo, ¿no? poco a poco va cogiendo color. Gracias por seguir los posts y por compartirlos en redes sociales, espero os interese.