Home Instalación de MariaDB en Home Assistant
Post
Cancel

Instalación de MariaDB en Home Assistant

Vamos a cambiar la base de datos que usa Home Assistant por defecto por una diferente, MariaDB.

Detalles

Home Assistant trae por defecto una base de datos simple conocida como «Recorder» que se encarga de registrar todos los datos que podemos ver desde los apartados de «Historial» o «Registro». Cómo nos explican en la documentación, HASS usa un sistema basado en SQLAlchemy, lo que significa que soporta cualquier base de datos relacional cómo MySQL, MariaDB, etc.

Actualmente Home Assistant soporta oficialmente varias BBDD relacionales:

  • MariaDB (opensource)
  • MySQL
  • PostgreSQL
  • SQLite

, pero en este tutorial nos vamos a centrar en la primera porque su instalación desde Hass es muy simple.

Precauciones

Este cambio de base de datos NO es recomendado para sistemas Raspberry Pi que usan tarjetas microSD. Hacerlo puede reducir significativamente la vida útil de las tarjetas microSD; es recomendable dar el salto sólo en equipos con SSD. Además, el cambio de base de datos borrará TODOS los registros del área de «Registro». Todos los demás datos se mantienen.

Lista de componentes

Dicho esto, vamos al lio; nos hace falta:

  • Nuestro sistema con Home Assistant instalado en un dispositivo que emplee SSD.
  • Nuestro ordenador para trabajar con conexión a internet.
  • Alrededor de ~15 minutos de tiempo libre.

Instalación

Cómo de costumbre vamos a Supervisor > Tienda de complementos (add-ons) > MariaDB > Instalar.

En unos segundos estará instalado y saltamos a la pestaña de «Configuración» dónde modificamos:

  • password: sólo es necesario modificar el campo de contraseña (lo demás es opcional), dónde debemos especificar una contraseña suficientemente segura.

Una vez hecho esto, volvemos a la pestaña «Información», pulsamos en «Iniciar» y saltamos a la pestaña «Registro». Refrescamos pasados unos segundos y deberíamos ver un mensaje similar a este:

Logs MariaDB

Configuración

Ahora nos queda modificar el famoso archivo configuration.yaml. En mi caso uso la extensión de Visual Studio para editarlo desde la propia interfaz de Lovelace. Tenemos que añadir las siguientes líneas (están especificadas en la documentación del add-on de MariaDB).

1
2
recorder:
  db_url: mysql://homeassistant:password@core-mariadb/homeassistant?charset=utf8mb4

IMPORTANTE: Recordar cambiar password por la contraseña que definimos antes y, si cabiamos el usuario (homeassistant) por otro, modificarlo también.

Una idea más interesante es usar un !secret aquí para ocultar la contraseña, de forma que modificamos tanto el fichero configuration.yaml cómo el secrets.yaml:

1
2
3
4
5
6
# CONFIGURATION.YAML
recorder:
  db_url: !secret maria

# SECRETS.YAML
maria: mysql://homeassistant:misupercontraseña@core-mariadb/homeassistant?charset=utf8mb4

Guardamos los cambios y comprobamos que todo ha ido bien desde Configuración > Controles del servidor > Verificar configuración. Si es así, reiniciamos y en unos minutos deberíamos arrancar con nuestro sistema usando MariaDB.

Verificación configuración Home Assistant

Comprobación

Comprobamos que el cambio se ha efectuado antes de nada consultando el apartado de «Registro» que cómo veremos está vacío o casi vacío (empezará a registrar nuevos eventos pronto dependiendo de cuantos sensores tengamos); así cómo el apartado de «Historial» que si acabamos de reiniciar tardará unos segundos en mostrar datos.

Cómo ya estamos trabajando con MariaDB es hora de eliminar por completo la base de datos antigua; para ello vamos al explorador de archivos o usamos la extensión de File Editor o Visual Studio y eliminamos el fichero llamado home-assistant_v2.db.

No es necesario volver a reiniciar el sistema, ya estamos usando MariaDB en nuestra instancia de HASS.

¿Volver atrás?

Si en algún momento decidimos que no nos convence y queremos dejar de usar MariaDB, sólo es necesario borrar las líneas que añadimos previamente al configuration.yaml, desinstalar el add-on y reiniciar.

HASS creará otra base de datos SQLite automáticamente.

This post is licensed under CC BY 4.0 by the author.

Flashear Raspberry Pi OS u otro SO con Balena Etcher y primer arranque con SSH

Instalación de Docker en Raspberry Pi 4