Eine nachweislich funktionierende Home-Assistant-Datenbanksicherung ist am nützlichsten, wenn Sie zunächst entscheiden, was Sie tatsächlich wiederherstellen möchten. Wenn die gesamte Home-Assistant-Installation auf den Sicherungszeitpunkt zurückgesetzt werden soll, verwenden Sie den unterstützten Wiederherstellungsprozess von Home Assistant. Wenn die Konfiguration intakt ist und nur der Recorder-Verlauf wiederhergestellt werden muss, kann eine reine Datenbankwiederherstellung das Überschreiben neuerer Automatisierungen und Integrationen vermeiden.
Ersetzen Sie die aktive Datenbank nicht, während Home Assistant darin schreibt. Sichern Sie zunächst die aktuelle Datenbank, stoppen Sie Home Assistant oder versetzen Sie den Recorder anderweitig in einen schreibgeschützten Zustand, stellen Sie die nachweislich funktionierende Kopie an einem isolierten oder kontrollierten Pfad wieder her, und starten und überprüfen Sie anschließend alles, bevor Sie eine der beiden Versionen löschen.
Vollständige Home-Assistant-Wiederherstellung oder reine Datenbankwiederherstellung wählen
Eine vollständige Wiederherstellung eines Home-Assistant-Backups ersetzt den aktuellen Anwendungszustand durch den Inhalt der Sicherung. Das ist sinnvoll, wenn Konfiguration, Integrationen, Apps und Datenbank auf denselben bekannten Stand zurückgesetzt werden sollen.
Die aktuelle Aktion zur Wiederherstellung eines vollständigen Backups warnt ausdrücklich davor, dass aktuelle Änderungen durch den Zustand des Backups überschrieben werden. Wenn nur der Recorder-Verlauf betroffen ist, kann dieser Umfang unnötig groß sein.
Für eine reine Datenbankwiederherstellung ermitteln Sie die genaue nachweislich funktionierende Kopie der Recorder-Datenbank und lassen den aktuellen Konfigurationsbaum unverändert. Notieren Sie den Zeitpunkt der Sicherung, damit Sie wissen, wie viel Verlauf durch die Rückkehr zu diesem Stand verloren geht.
Bestätigen, welche Datenbank Home Assistant tatsächlich verwendet
Home Assistant verwendet standardmäßig SQLite, gespeichert unter /config/home-assistant_v2.db. Der Recorder kann jedoch über db_url auch auf MariaDB, MySQL oder PostgreSQL verweisen. Kopieren Sie keine SQLite-Datei in eine Bereitstellung, die tatsächlich in eine externe Datenbank schreibt.
SQLite ist die standardmäßige Home-Assistant-Recorder-Datenbank und wird normalerweise unter /config/home-assistant_v2.db gespeichert. Der Recorder kann über db_url auch für die Verwendung einer unterstützten externen Datenbank konfiguriert werden. Prüfen Sie die wirksame Recorder-Konfiguration, bevor Sie Dateien verändern, damit das Wiederherstellungsobjekt zur tatsächlich von Home Assistant verwendeten Datenbank passt.
Wenn die Datenbank extern betrieben wird, stellen Sie sie mit der eigenen Sicherungsmethode der Datenbank-Engine wieder her und stimmen Sie Anwendungsversion und Schema aufeinander ab. Behandeln Sie einen SQL-Dump und eine SQLite-Datei nicht als austauschbare Wiederherstellungsobjekte.
Schreibvorgänge stoppen, bevor eine SQLite-Datenbankdatei ersetzt wird
Wenn Ihr nachweislich funktionierendes Backup eine saubere physische Kopie von home-assistant_v2.db ist, stoppen Sie Home Assistant, bevor Sie die aktive Datei ersetzen. Bewahren Sie die aktuelle Datenbank unter einem anderen Namen auf, anstatt sie zu löschen.
Die eigene Sicherungsdokumentation von SQLite erklärt, dass eine Datenbankkopie einen konsistenten Snapshot darstellen muss. Die SQLite-Online-Backup-API wurde speziell dafür entwickelt, eine konsistente Kopie während des aktiven Betriebs einer Datenbank zu erstellen. Eine nachweislich funktionierende Kopie bei gestoppter Datenbank oder ein datenbankbewusstes Online-Backup ist sicherer als eine beliebige Dateikopie, die während laufender Schreibvorgänge erstellt wurde.
Stellen Sie außerdem sicher, dass keine WAL- oder Journal-Dateien der fehlerhaften Datenbank mit der wiederhergestellten Kopie vermischt werden. Beginnen Sie mit dem vollständigen, nachweislich funktionierenden Wiederherstellungsobjekt und nicht mit einer Kombination von Dateien aus unterschiedlichen Zeitpunkten.
Mit intakter Backup-Kopie starten und Home Assistant die Validierung überlassen
Legen Sie die wiederhergestellte Datenbank am erwarteten Pfad mit den korrekten Besitz- und Zugriffsrechten ab, starten Sie anschließend Home Assistant und beobachten Sie die Recorder-Protokolle. Führen Sie beim ersten Validierungsstart weder Bereinigungen noch eine Reorganisation oder manuelle SQL-Wartung durch.
Wenn das Datenbankschema älter ist als die aktuelle Home-Assistant-Version, muss der Recorder es möglicherweise migrieren. Lassen Sie diesen Vorgang vollständig abschließen, bevor Sie die Leistung beurteilen oder erneut starten. Vermeiden Sie es, dieselbe wiederhergestellte Datenbank abwechselnd mit alten und neuen Home-Assistant-Versionen zu verwenden, da Schema-Migrationen kein allgemeiner Mechanismus für ein Downgrade sind.
Eine praktische Anleitung zur Wiederherstellung veranschaulicht dasselbe kontrollierte Prinzip: Arbeiten Sie mit Kopien und starten Sie Home Assistant erst, nachdem die Ersatzdatenbank bereitsteht.
Verlauf überprüfen, bevor Sie die fehlerhafte Datenbank entfernen
- Bestätigen Sie, dass der Recorder ohne Korruptions- oder Migrationsfehler startet.
- Öffnen Sie Verlauf und Logbuch für einen Zeitraum, der im Backup vorhanden sein sollte.
- Prüfen Sie Langzeitstatistiken oder Energiedaten, sofern diese Einträge für Sie wichtig sind.
- Lösen Sie eine neue Zustandsänderung aus und bestätigen Sie, dass nach dem Wiederherstellungspunkt ein neuer Verlauf geschrieben wird.
- Starten Sie Home Assistant einmal neu und bestätigen Sie, dass der Recorder wieder dieselbe Datenbank öffnet.
Die ZimaSpace-Anleitung zu konsistenten Datenbank-Backups und Wiederherstellungstests ist direkt anwendbar: Ein Backup wird erst dann vertrauenswürdig, wenn die Datenbank es akzeptiert und die Anwendung nach der Wiederherstellung neue Zustände schreiben kann.
Bewahren Sie die fehlerhafte Datenbank auf, bis dieser Abnahmetest erfolgreich abgeschlossen ist. Sie kann noch neueren Verlauf enthalten, der untersucht oder selektiv wiederhergestellt werden kann, falls das nachweislich funktionierende Backup älter ist als erwartet.
FAQ
Kann ich nur den Home-Assistant-Verlauf wiederherstellen, ohne meine Automatisierungen zurückzusetzen?
Ja, wenn Sie eine nachweislich funktionierende Kopie der Recorder-Datenbank besitzen und die aktuelle Home-Assistant-Konfiguration intakt ist. Stoppen Sie die Schreibvorgänge, bewahren Sie die aktuelle Datenbank auf, stellen Sie nur die Recorder-Datenbank wieder her und überprüfen Sie sie vor der Bereinigung.
Sollte ich ein Datenbank-Backup wiederherstellen, das mit einer deutlich älteren Home-Assistant-Version erstellt wurde?
Nur mit Vorsicht. Eine neuere Home-Assistant-Version kann ein älteres Recorder-Schema vorwärts migrieren, aber ein Downgrade und das wiederholte Austauschen von Versionen mit derselben Datenbank ist riskant. Bewahren Sie Backups auf und verwenden Sie einen kompatiblen Wiederherstellungspfad.
Support & Tipps
Mehr zum Lesen

Anzeichen dafür, dass eine Home-Assistant-Datenbank Wartung oder einen Austausch benötigt
Eine große Home-Assistant-Datenbank benötigt in der Regel eine Aufbewahrungs- oder Bereinigungspflege; wiederholte Beschädigungen oder Integritätsfehler sprechen stärker für einen Austausch.

Wie viele gleichzeitige Benutzer kann Home Assistant verarbeiten, bevor es langsamer wird?
Home Assistant hat kein festes, sinnvolles Benutzerlimit: Testen Sie aktive Clients mit echten Dashboards und Entitätsaktualisierungen und hören Sie auf, bevor wiederholt Latenzen auftreten.

Kann Home Assistant eine externe Datenbank verwenden, ohne Upgrades zu beeinträchtigen?
Eine externe Recorder-Datenbank kann Upgrades überstehen, bringt jedoch eigene Anforderungen an Verfügbarkeit, Schema-Migration, Backup, Wiederherstellung und Versionsverwaltung mit sich.

