El sistema de domótica de Home Assistant OS registra todos los eventos que ocurran en el sistema con las integraciones que configuremos. De forma predeterminada, la base de datos predeterminada es SQlite, una base de datos que consume muy pocos recursos y una gran opción si usas el sistema de domótica de forma básica, sin muchos sensores y actuadores diferentes. No obstante, si quieres tener el sistema operativo con una base de datos mucho más robusta, rápida y con posibilidad de guardar registros de muchos días sin que el sistema funcione muy lento, lo mejor es que instales MariaDB. Hoy en RedesZone os vamos a enseñar a configurar paso a paso esta base de datos que es mucho mejor que SQLite.
Aunque de forma predeterminada tenemos la base de datos SQLite cuyo funcionamiento es bueno cuando tenemos poca información, lo cierto es que se vuelve extremadamente lenta cuando tenemos muchos sensores y queremos ver registros anteriores. Por este motivo, tenemos como complemento la posibilidad de instalar MariaDB. Un aspecto muy importante que debes tener en cuenta, es que, cuando instales MariaDB perderás todos los datos que tengas almacenados en SQLite, ya que no hay ningún tipo de importación de la base de datos antigua a la nueva. Debido a esto, lo ideal es que instales MariaDB justo después de instalar Home Assistant OS, con el objetivo de que no pierdas ningún dato de tus integraciones ni automatizaciones.
¿Merece la pena instalar MariaDB?
Siempre hemos recomendado instalar el sistema operativo de domótica Home Assistant OS en una unidad de almacenamiento de tipo SSD, ya que tendremos una mayor velocidad de lectura y escritura que en un disco duro, tanto lectura y escritura secuencial como aleatoria. Cuando estamos almacenando el estado de cientos de sensores y miles de entidades, es muy importante la velocidad, porque notaremos que el sistema de domótica funciona realmente rápido, para tener la mejor experiencia de usuario posible.
Instalar MariaDB es una gran decisión a largo plazo. Si vas a usar Home Assistant con pocos sensores y entidades, para controlar cosas muy básicas, tienes la opción de no instalar MariaDB porque SQLite te servirá perfectamente. Sin embargo, cuando poco a poco vayamos instalando más integraciones y tengamos más sensores, echaremos de menos no haber tomado la decisión de instalarla, porque podremos realizar búsquedas mucho más rápidas en la sección de «Registro» que con la base de datos predeterminada.
Por estos motivos, nuestra recomendación es que instales MariaDB desde el principio, porque así no perderás los registros al cambiar de una base de datos a otra.
Descarga e instalación de MariaDB
Si tienes el sistema operativo Home Assistant OS tal y como os hemos explicado en anteriores tutoriales, tienes a tu disposición una sección de «Complementos» donde podrás instalar una gran cantidad de complementos oficiales, complementos de la comunidad y también complementos de terceros. En la sección de «Ajustes» vamos a poder acceder a esta sección para instalar MariaDB.
Lo primero que debemos instalar es el complemento de «File Editor«, este complemento nos permitirá navegar por los archivos de configuración del sistema de manera muy fácil y rápida. De esta forma, podemos editar directamente en la web de administración el archivo de configuración principal.
En la tienda de complementos podemos ver que «MariaDB» está como complemento oficial, pinchamos sobre ella.
Lo primero que debemos hacer es instalar el complemento pinchando en «Instalar«, tal y como podéis ver a continuación:
En la sección de «Documentación» tenemos una serie de pasos básicos para la instalación y el uso de esta nueva base de datos, que es básicamente lo que os vamos a enseñar en este tutorial.
Si bajamos en la documentación, podemos ver todas y cada una de las opciones requeridas y también las configuraciones opcionales que tenemos disponibles. Finalmente, podemos ver qué es lo que debemos configurar en el archivo general de configuración que se llama configuration.yaml.
Una vez instalada la base de datos de MariaDB, procedemos a habilitar el inicio en el arranque y también la vigilancia. Aún no debemos pinchar en «Iniciar» porque no la hemos configurado correctamente, para ello, debemos irnos a la pestaña de «Configuración«.
En este menú de «Configuración» tendrás que introducir el nombre de la base de datos, y también la contraseña del usuario «username» que tenemos en la sección de «Logins«. El resto de opciones de configuración las podemos dejar como están.
Una vez hecho esto, pinchamos en «Iniciar» la base de datos, esperamos unos segundos y ya empezará a funcionar, y nos indicará cuánta CPU y RAM está consumiendo este complemento.
Si nos vamos a la sección de «Registro» podemos ver que todo está funcionando correctamente.
Ahora lo que debemos hacer es configurar el archivo de configuración general para que use esta base de datos.
Activación de MariaDB para usarla en Home Assistant
Si abrimos el «File Editor» que hemos instalado previamente, nos vamos al archivo de configuración de «Configuration.yaml» y aquí tenemos que introducir la información para que todos los registros los grabe directamente en la base de datos.
El código que debes introducir, cuidando la identación, es el siguiente:
#Configuracion MariaDB para la base de datos completa
recorder:
db_url: mysql://homeassistant:RedesZoneClaveBuena@core-mariadb/homeassistant?charset=utf8mb4
purge_keep_days: 30
Una vez que lo hayamos hecho, nos vamos a la sección de «Herramientas para desarrolladores» y pinchamos en «Verificar configuración«, para que compruebe si a nivel de sintaxis está todo correcto, y que no tengamos problemas a la hora de reiniciar el sistema. Ahora procedemos a pinchar en el botón de «Reiniciar«.
Cuando nos pregunte si queremos reiniciar, pinchamos en «Reiniciar» nuevamente.
Una vez reiniciado, nuestro Home Assistant empezará a utilizar la base de datos de MariaDB. Si os habéis fijado en el código, hemos usado la opción de «purge_keep_days: 30«, esto significa que borrará todos los registros que tengan más de 30 días automáticamente, también podríamos hacer que todos los registros los guarde más tiempo, por defecto son 10 días. También tenemos la posibilidad de incluir ciertas entidades en los registros, e incluso de excluir otros, lo cierto es que todo es realmente configurable. En la web oficial de Home Assistant en la sección de «Recorder» podéis ver todas las opciones adicionales que podemos llevar a cabo.