Home Assistant bietet seit Anfang des Jahres einen internen Mechanismus, alle Daten des Systems zu sichern und im Ernstfall wieder her zu stellen. Diesen möchte ich natürlich nutzen.

Backup
In der Version 2025 von Home Assistant wurde der aktuelle Backupmechanismus implementiert. Um ihn einzurichten, klicke ich auf Einstellungen/System/Backups.

Dann befinde ich mich direkt im Hauptdialog zur Konfiguration der Backups.

Ad-Hoc Backup
Unter diesem Dialog befindet sich der Button Backup jetzt erstellen.

Damit kann ich ein Backup sofort erstellen. Was ich gerne vor umfangreicheren Arbeiten am System mache.

Im Dialog zum Erstellen des Backups kann ich wählen zwischen Automatisches und Manuelles Backup. Es klingt zunächst etwas widersinnig, bei einem manuell angestoßenen Backup von „Automatisch“ zu reden. Gemeint ist hier aber die Konfiguration der Backupdaten. Diese kann ich entweder jedes mal manuell konfigurieren oder aus der Konfiguration für die automatischen Backups übernehmen (dazu mehr im nächsten Abschnitt).

Die Einstellungen von Home Assistant sind so wichtig, dass sie immer im Backup landen und nicht ausgeschaltet werden können. Ich entscheide mich dazu, auch die Verlaufsdaten zu sichern. Dadurch dauert der Backup Prozess zwar länger und das Archiv wird größer. Mit Weiter lande ich dann im Synchronisationsdialog. Hier vergebe ich einen Namen für das Backuparchiv und kann den Speicherort auswählen. Letzteren lasse ich auf „Alle“ stehen. Als Namen vergebe ich „testbackup-27-07-25“. Wenn ich den Namen leer lasse, vergibt Home Assistant selbstständig einen eindeutigen Namen.

Mit Klick auf Backup erstellen starte ich nun den Sicherungsvorgang. Home Assistant zeigt den laufenden Prozess oben in der Webseite an.

Nach ein paar Minuten ist der Vorgang erfolgreich abgeschlossen.

Jetzt möchte ich natürlich wissen, wo das Backup gespeichert wurde und finde es unter /opt/homeassistant/backups in meinem Dockervolume wieder.

Damit kann ich manuell jederzeit ein Backup von Home Assistant erstellen. Aber besser ist, dieses zu automatisieren.
Backups konfigurieren
Auch bei den manuellen Backups möchte ich nicht jedes mal die Konfiguration aufs Neue durchführen. konfiguriere ich den Ort, an dem meine Backups gespeichert werden sollen und klicke im Backup Hauptdialog auf Speicherorte für Backups.
Der nachfolgende Dialog ist in mehrere Bereiche aufgeteilt, auf die ich detailliert eingehen möchte.
Zeitplan
Zunächst konfiguriere ich, an welchen Tagen und zu welcher Uhrzeit das Backup laufen soll. Ich wähle als Backuptage alle Wochentage bis auf Dienstag und Mittwoch. Die Uhrzeit setze ich auf 05:00 Uhr morgens, dann ist Home Assistant mit der Bereinigung der Datenbank fertig. Dazu wähle ich aus, dass immer drei Backups aufbewahrt werden sollen.

zu sichernde Daten
Hier treffe ich auf die gleichen Einstellungen wie beim manuellen Backup und aktiviere auch die Verlaufsdaten.
Speicherorte
Hier lasse ich die Vorgabe zum Speichern ins backups Verzeichnis bestehen. Die Cloud von Home Assistant interessiert mich nicht.

Verschlüsselungscode
Um das Backuparchiv zu verschlüsseln erzeugt Home Assistant automatisch einen Code, ohne den ich das Backup nicht wieder einspielen kann. Daher speichere ich das Notfallset an einem sicheren Ort außerhalb des Homeassistant Raspberry

Den aktuellen Code kann ich mir anzeigen lassen

Ich kann den Code nachträglich auch ändern doch der neue Code gilt dann nur für neu angelegte Backups, für die bestehenden benötige ich immer noch den aktuellen Code, um sie benutzen zu können.
Backups spiegeln
Das Backup ist jetzt fertig eingerichtet, leidet aber noch an einem Problem. Alle Backups liegen auf dem Datenträger der Homeassistant Installation. Sollte dieser versagen, habe ich u.U. keinen Zugriff darauf.
Daher schreibe ich mir ein kleines Script, um den Inhalt von /opt/homeassistant/backups nach /tank/ha-backup auf meinem NAS mit rsync
zu spiegeln.
#!/bin/bash
/usr/bin/rsync -a --delete /opt/homeassistant/backups/ /tank/ha-backup/
Das Script liegt unter ~/bin/ha-backup.
Ich richte einen Cronjob ein, um es regelmäßig aufzurufen.
crontab -e
Das Script wird jeden Tag um 0545 Uhr aufgerufen.
# m h dom mon dow command
42 5 * * * /home/pi/bin/ha-backup
Bis hier hin bin ich am Sonntag, den 27.07.25 gekommen. Ich warte jetzt bis zum nächsten Morgen, um zu sehen, ob alles funktioniert.
Backup testen
Am Montag morgen erwarte ich, dass ein Backuparchiv erstellt wurde und auf das NAS gespiegelt wurde.
Eine Auflistung der beiden Verzeichnisse zeigt, dass um 0500 Uhr am 28.07.25 ein neues automatisches Backup erstellt wurde und in beiden Verzeichnissen liegt.

Backup einspielen
Um das Recovery zu testen, schreibe ein frisches Raspberry Pi OS auf eine separate MicroSD Karte und erzeuge alle Container.
Danach rufe ich das Home Assistant Web-Interface auf dort wird mir im Willkommensbildschirm die Option Backup hochladen angeboten.

Nach Auswahl dieser Option kann ich das Backuparchiv hochladen.

Jetzt kommt der Encryption Key von oben ins Spiel. Ohne diesen kann das verschlüsselte Archiv nicht entschlüsselt werden. Wenn dieser korrekt eingeben ist, wird meine Home Assistant Konfiguration wieder hergestellt.

Wichtig ist jetzt zu wissen, dass nach dem Recover ein neuer Encryption Key erzeugt wird, mit dem alle zukünftigen Backups verschlüsselt werden! Daher speichere ich mir das neue Notfallset zusätzlich zum alten!
Die Konfiguration des Backupsystems ist auch wiederhergestellt worden. Da die CronTab nicht von Home Assistant verwaltet wird, muss diese manuell neu erzeugen.
Das Backup beinhaltet nur die Konfiguration von Home Assistant selber. Bei allen anderen Containern muss ich die Konfiguration aus deren Backups wieder herstellen oder von Hand nachziehen.
Fazit
Der Backup Mechanismus von Home Assistant ist inzwischen einfach und komfortabel einzurichten und schützt ausreichend vor einem Datenverlust.