Praxisnahe Tutorials, auf die du zählen kannst.
Einsteiger Guide für Home Assistant

In Home Assistant MariaDB installieren

Du suchst nach einer stabileren und leistungsfähigeren Datenbank für deine Home Assistant-Installation? Dann bist du bei MariaDB genau richtig!

In diesem Video zeige ich dir, wie du die Standard SQLite Datenbank von Home Assistant auf MariaDB umstellen kannst 🙌

Hinweis

Inzwischen würde ich eher empfehlen, im Standard (SQLite) zu bleiben! Wenn du MariaDB schon eingerichtet hast und zurückmigrieren willst, schau gerne mal ganz unten hier im Beitrag 👍

Inhaltsverzeichnis

Voraussetzungen

Eine der 3 Installationsvarianten:

  1. Home Assistant Installation auf Raspberry Pi
  2. Home Assistant auf Intel NUC installieren (Generic x86-64) 🚀
  3. Home Assistant als virtuelle Maschine auf Proxmox installieren (VM)
  1. Recorder
  2. MariaDB

Achtung bei Sonderzeichen!

Bei bestimmten Sonderzeichen im Passwort für die MariaDB kann es sein, dass der Recorder keine Verbindung zur MariaDB aufbauen kann!

Probiere im Zweifelsfall am besten mal ein Kennwort nur mit Zeichen und Buchstaben.

Der “Netzwerkverkehr” zum Add-on ist ohnehin nicht wirklich relevant, was Sicherheit angeht, da die Kommunikation nur im internen Docker-Netz von HA erfolgt 😉

Größe der MariaDB als Entität

Damit du die Gesamtgröße der MariaDB in einer Entität speichern und anzeigen kannst, benötigst du unter Integrationen eine neue SQL-Entität:

Google Chrome - Einstellungen – Home Assistant

Die Datenbank URL ist dieselbe wie unter Recorder in der Configuration.yaml, die “Select Abfrage” sowie size_mb & MB sind gleich.

SELECT table_schema AS 'db_name', ROUND(SUM( data_length + index_length ) / 1024 / 1024, 2) AS 'size_mb' FROM information_schema.TABLES WHERE table_schema='homeassistant'

Datenmigration von SQLite zur MariaDB?

Hier hat der Kollege von MeineDigitaleWelt ein hervorragendes Video gemacht.

Der Schritt ist völlig optional, wurde aber in der Vergangenheit oft nachgefragt:

Genereller Hinweis zu Backups

In Ausnahmefällen kommt es vor, dass die Maria-DB so beschäftigt ist, dass das DB-Backup korrumpiert wird. Ich hatte das Problem noch nie, in den Kommentaren wurde es aber schon einmal genannt.

Um das zu verhindern, kannst du kurz bevor du das Backup durchführst einmal das Add-on Maria-DB stoppen und den Watchdog deaktivieren → Home Assistant Backup erstellen → Wiederherstellen → Add-on auf dem neuen Host wieder starten und Watchdog aktivieren.

Somit kann man einfach zu 1000 % sichergehen, dass zumindest bei der Home Assistant Migration auf eine neue Hardware oder VM die Datenbank zu 100 % passt.

Migration zurück zur SQLite

Wenn du wieder zurückstellen möchtest auf die Standard SQLite Datenbank, habe ich auch dafür ein Video.

Befehle aus dem Video

  1. Verbinden der SSH-Session: ssh NUTZERNAME@IP.DEINES.HOME.ASSISTANT
  2. Virtuelle Python Umgebung anlegen: python3 -m venv venv
  3. Aktivieren der Umgebung (Testweise): source venv/bin/activate
  4. Installation des Skripts: pip install mysql-to-sqlite3
  5. Session einmal trennen: exit
  6. Erneutes Verbinden der SSH-Session: ssh NUTZERNAME@IP.DEINES.HOME.ASSISTANT
  7. Stoppen von Home Assistant Core: ha core stop
  8. Aktivieren der Umgebung: source venv/bin/activate
  9. Befehl zum Umwandeln der MariaDB in SQLite: mysql2sqlite -f /config/home-assistant_v2.db -d DATENBANKNAME -u NUTZERNAME -p -V --use-buffered-cursors
  10. Session nach erfolgreicher Umwandlung trennen: exit
  11. Erneutes Verbinden der SSH-Session: ssh NUTZERNAME@IP.DEINES.HOME.ASSISTANT
  12. Löschen der vorher angelegten Python-Umgebung: rm -rf venv
  13. In den Config-Ordner wechseln: cd /config
  14. Inhalte des Ordners auflisten: ls
  15. Editieren der Configuration.yaml: nano configuration.yaml
  16. Home Assistant wieder starten: ha core start

Geräte für HA

Mehr Geräte für Home Assistant, HACS oder auch Alexa, Google Home, HomeKit sowie Homebridge findest du in unserem Smart Home Gerätefinder!

Fazit

Also, worauf wartest du noch? Probiere MariaDB einfach selbst aus.

Oder Lieber auch nicht, da die Systemstandard-Datenbank SQLite inzwischen auch extrem schnell geworden ist.

Trotzdem bleibt MariaDB eine großartige Datenbank, die deiner Home Assistant-Installation die Stabilität und Leistung verleiht, die auch mit der Standard-Datenbank einher gehen. Und wenn du Hilfe bei den ersten Schritten brauchst, sieh dir das Video zur Installation von MariaDB oder zur Migration zurück zur SQLite einfach noch mal an 😀

Vielen Dank fürs Anschauen!

Verpasse keine Tipps!

Ich senden keinen Spam! Erfahre mehr in der Datenschutzerklärung.

Transparenz: In diesem Artikel sind Partnerlinks enthalten. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalte ich ei­ne kleine Provision. Für euch ändert sich am Preis nichts & Partnerlinks haben keinerlei Einfluss auf meine Berichterstattung. Vielen Dank für deine Unterstützung!

Gründer von simon42. Schreibt hier ehrlich und leidenschaftlich über Smart Home und Technik Themen, denn das Zuhause wurde bereits von Sprachassistenten übernommen und die Kontrolle abgegeben 😁

Nennenswerte Antworten

  1. Jens Gabler

    Jens Gabler

    vor 0 Sekunden

    Hallo simon42, ich sage mal, dank deines Kanals bin ich mal wieder bei “smarthome” gelandet. Ich war eine Zeit lang mit mehr oder weniger Freude mit Fhem unterwegs.Aber deine Videos haben mich neugierg auf HA gemacht. Die sind schon wirklich gut gemacht und Hut ab, welche Arbeit du da rein steckst. Also habe ich mir, trotz das die meisten Sachen in englisch sind (meins ist nicht so doll) meinen Nuc genommen und mal ausprobiert. Anfänglich ging es auch prima. Schon spannend wie viel HA automatisch erkannt hat. Aber ich habe auch gleich 2 Probleme. Das eine betrifft die Installtion der MariaDb. Ich kann die Software installieren, aber leider kommt bei mir unter dem Punkt “Konfiguration” der folgende Text: Für dieses Add-on gibt es keine Konfiguration. Also nichts, mit dem du dich herumschlagen musst… Gut, denke ich mir und will starten, dann kommt aber : Missing required option ‘password’ in MariaDB (core_mariadb). Was mache ich falsch? Und wenn ich einmal dabei bin. Das zweite Problem ist bei der Installtion von ESPHome. Das kann auch installieren, aber es will einfach nicht starten. Villeicht kann ich ja irgendiwe Hilfe bekommen. Oder sollte ich damit eher ins Forum? Trotz alledem, mache mit deinen Videos so weiter. Die sind prima

  2. Avatar for maxe maxe says:

    Du hast MariaDB als Add-on installiert?

    Wie im Video bei 2:04 zu sehen, muss die Konfig vor dem Starten ausgefüllt werden.

    Wenn’s nicht geht, probiere es mal im Chrome Browser.

  3. Hab nur nen Pi4, hatte auch den Gedanke: “gescheite Datenbank ist immer gut.” nach zwei Wochen test, blieb mein Fazit eher so “na ja”. Wenn man sie nicht unbedingt braucht, macht die HA “interne” auch viel richtig. Gerade jetzt in 2023.4, wo sie laut Patch Notes nochmal eine Schippe nachgelegt hat. Mein Fazit: nicht grundlos installieren.

    ESPHome. Schau mal unter Einstellungen => Addons => ESPHome => Log, was er zu meckern hat.

  4. kann mich den Worten nur anschliessen.
    Sicherlich ist die maria db in bestimmten Situationen schneller, dafür bleibt die mysql DB ca 50% kleiner. Mit ca. 1000 Entitäten bringt mir die maria db oder postgres DB keinen Vorteil auf dem PI4.
    Bewusst bleibe ich bei dem PI4, da der Stromverbrauch merklich niedriger liegt als bei jedem anderen System .-) Stabilitätsprobleme kann ich seit 2 Jahren nicht feststellen…

    Gruss

  5. @maxe. Das ist ja mein Problem, daß ich da nicht zum Eingeben komme. Gibt es denn Empfehlungen welchen Browser verwenden sollte? Ich verwende Modzilla, werde dann aber mal Chrom probieren.

Setze die Diskussion fort unter community.simon42.com

3 mehr antworten

Teilnehmer

Avatar for system Avatar for maxe Avatar for netbus666 Avatar for Onkel_Mikke Avatar for NoPlan

26 Gedanken zu „In Home Assistant MariaDB installieren“

  1. Hallo Simon,
    ich habe auch wieder auf SQLlite zurück gewechselt.
    Allerdings wäre ich an
    mysql2sqlite -f /config/home-assistant_v2.db -d DATENBANKNAME -u NUTZERNAME -p -V –use-buffered-cursors
    fast gescheitert.
    Dort muss beim Betrieb auf einem Raspi unbedingt ein sudo davor. Sonst hat man keinen schreibenden Zugriff auf die Verzeichnisse. Das endet dann in:
    mysql2sqlite version 2.3.0 Copyright (c) 2019-2024 Klemen Tusar
    unable to open database file

    Auch bei nano muss man mit sudo rein – sonst kann man die configuration.yaml nicht speichern.

    Antworten
  2. Hallo zusammen,
    ich habe gerade die SQLite durch die mariaDB ersetzt. Das hat auch gut funktioniert.
    Simon sagt im Video, sinngemäß “es fehlen halt die letzten sieben Tage” und verweist auf den Verlauf…
    Das wäre für mich nicht schlimm, aber bei mir sind ALLE Daten aus dem Energie-Dashboard weg, die letzten vier Monate, seit dem ich HA verwende…
    Ich bin verwirrt, ich dachte die Daten für das Energie-Dashboard kommen aus der InfluxDB?

    Bitte um Hilfe…

    Liebe Grüße
    Andreas

    Antworten
  3. Hi! Hab gestern auf MariaDB “umgeschaltet”. Alles chick. Nun mal eine Frage: Wie komme ich mit Node-RED an die Daten eines Temperatursensors beispielsweise? Wie sieht die SQL Anfrage aus? Ich hab gestern wohl ein altes Youtube Video gesehen, dass mit “SELECT created … ” anfängt. Das “Feld” “created” gibts aber in der aktuellen Installation scheinbar nicht mehr?!?! Hast Du da eine Idee?

    Antworten
  4. Hallo Simon,
    wie immer eine sehr gute detaillierte Beschreibung. Ich habe bereits viel von Deinem Wissen profitiert. Bei der Umwandlung zurück zu SQL-Lite bekomme ich bei der Erstellung der neuen Datenbank eine Fehlermeldung und die Umwandlung wird abgebrochen. Was läuft hier Falsch oder was habe ich nicht beachtet?

    Fehlermeldung:
    (venv) ➜ ~ mysql2sqlite -f /config/home-assistant_v2.db -d homeassistant -u homeassistant -p -V –use-buffered-cursors
    MySQL password:
    2023-11-09 11:05:25 INFO Transferring table event_data
    100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 5.81it/s]
    2023-11-09 11:05:26 INFO Transferring table event_types
    100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 9.02it/s]
    2023-11-09 11:05:26 INFO Transferring table events
    0%| | 0/3 [00:00<?, ?it/s]
    2023-11-09 11:05:29 ERROR SQLite transfer failed inserting data into table events: table events has no column named time_fired_ts
    table events has no column named time_fired_ts

    Vielen Dank für Hilfe.

    Antworten
  5. Moin Simon, ich bin auf dein Video “SSD statt SD” gestoßen und gerade in der Umsetzung. Leider habe ich Probleme damit, mein vorher erstelltes FULL-Backup wiederherzustellen. Dies ist durch die MariaDB, die ich schon seit langem verwende, 1885 MB groß. Davon sind 1564 MB von der MariaDB. Ich habe versucht das Full-Backup zu restoren. Der Prozess 19 Stunden laufen lassen, ohne dass ich anschließend wieder auf mein HA zugreifen konnte. Dann habe ich meine Pi4 vom Strom getrennt und neu gestartet mit dem Effekt, dass der Restore nicht geklappt hat. Ich kann nun nicht beurteilen, ob mein Backup der MariaDB korrupt ist oder ob der Restore tatsächlich noch länger als 19 Stunden dauern darf/kann. Gibt es Referenzwerte, wie lange es im Schnitt dauert, ein ca. 2 GB großes Backup wieder herzustellen? Ich habe daraufhin ein partielles Backup ohne MariaDB erstellt und konnte dies auch erfolgreich restoren. Aber nun fehlt mir immer noch die MariaDB.

    Antworten
  6. Hi Simon,
    ich habe das Addon für MariaDB installiert. Leider kann ich in der Konfiguration keine Einträge vornehmen für Passwort usw. Es steht dort nur unter Logins der folgende Text:”This section defines a create user definition in MariaDB.” Auch ein deinstallieren und erneutes Installieren bleiben ohne Erfolg. Hast Du eine Idee dazu? Gruß Marc

    Antworten
    • Hi Simon, danke für Deinen Hinweis mit dem Browser Cache leeren und dem privaten Modus. Habe ich inkl der App mit geleertem Cache ausprobiert. Hat leider nicht geholfen. Alle anderen Add Ons funktionieren einwandfrei.

  7. Hallo Simon,
    erstmal, du machst wirklich sehr gute Videos. Habe schon einiges davon gelernt:-)

    Nun zu meiner Frage:
    Ich nutze auch Home-Assistant mit MariaDB. Damit logge ich ebenfalls fast alle Temperatursensoren der Heizung. Auswerten mache ich mit Grafana. Das funktioniert auch alles sehr gut. Nun ändern sich aber einige werte fast nie (Soll-Temperaturen z.B.) Wenn ich nun in Grafana diese auswerten will, wird mir dies einfach nicht angezeigt, da z.B. die Warmwasser Soll vor 10 Tagen gesetzt wurde, ich aber nur Heute anzeigen will. Hast du eine Idee, wie ich in HomeAssistant werte auch bei nicht änderung zyklisch (alle 30min oder so) schreiben kann? Ich bin da leider noch nicht fündig geworden.
    Viele Grüße Julian

    Antworten
    • Hi Kai,
      ich glaube, du müsstest in der Add-on Config einen 2ten Eintrag bei Databases hinzufügen (Als YAML anzeigen lassen)

      Beste Grüße und bis bald 👋

  8. Hallo, gute kurze Beschreibung, wäre echt super du könntest jeweils wie bei HACS noch ne Anleitung für die Docker Installationen hier im Blog ergänzen.

    Antworten

Schreibe einen Kommentar

Send this to a friend