Home Assistant: MariaDB statt SQLite als Datenbank

Home Assistant nutzt als Datenbank Backend SQLite. Diese Datenbank liegt im Konfigurationsverzeichnis uns hält zum Beispiel die vergangenen Sensordaten vor, um Grafen anzeigen zu können. Im Grunde ist SQLite ausreichend, allerdings wird der Zugriff langsamer, wenn das Home Assistant System wächst und mehr und mehr Geräte angeschlossen werden. Meine Datenbank ist mittlerweile über 2 GB groß und ich habe mit meinen über 45 Devices noch nicht einmal die Hälfte angeschlossen. Daher ist es für mich an der Zeit auf eine große Datenbank umzusteigen.

Installation von MariaDB

Bei Debian Buster hat MariaDB mittlerweile MySQL abgelöst. Die Installation geht recht einfach. Wenn Euch meine Kurzanleitung nicht ausreicht, so findet Ihr im Internet viele Detailbeschreibungen.

Installation MariaDB
 
apt install mariadb-server

Nach der Installation hat der Benutzer root automatisch Zugriffsrechte ohne Passworteingabe.

Datenbank einrichten

Home Assistant benötigt eine Datenbank und einen Benutzer.

Datenbank und Benutzer
 
mariadb
CREATE DATABASE homeassistant;
create user 'hass' identified by 'supergeheim';
GRANT ALL ON `homeassistant`.* TO 'hass'@'%';
FLUSH PRIVILEGES;

HASS konfigurieren

Wenn man die Datenbank umstellt, verliert man alle historischen Datenbankeinträge. Man kann diese allerdings später importieren.
Datenbankanbindung
 
recorder:
  db_url: !secret ha_recorder_dburl

Der URL-Eintrag sieht wie folgt aus:

mysql://hass:supergeheim@dbserver/homeassistant?charset=utf8

Nach einem Neustart von HASS wird die Datenbank initialisiert und sofort genutzt. Schaut Euch das Log an, falls etwas nicht funktioniert.

Auf der Webseite von Home Assistant findet man eine detaillierte Beschreibung aller Einträge.

 

Press Ctrl+C to copy the following code.
"