Home Assistant Backup und Notfallplan: So spiele ich im Ernstfall alles zurück

von Patrick · · 6 Min. Lesezeit · Ratgeber

Dieser Artikel enthält Affiliate-Links. Kaufst du darüber, bekomme ich eine kleine Provision – für dich ändert sich am Preis nichts. Mehr dazu


Ein Smart Home ist schnell gebaut und noch schneller kaputt. Ein fehlgeschlagenes Update, eine Automation, die ich im Eifer des Gefechts zerschossen habe, oder ein Stromausfall zur falschen Zeit – und plötzlich geht im Haus nichts mehr so, wie es soll. Genau deshalb habe ich mir irgendwann nicht nur Gedanken über Backups gemacht, sondern über einen echten Notfallplan. In diesem Artikel zeige ich euch, wie das bei mir aussieht und was ihr vorher unbedingt testen solltet.

Warum „ich habe ja Backups“ nicht reicht

Lange Zeit war meine Backup-Strategie: Home Assistant macht irgendwie Backups, das wird schon passen. Das Problem daran merkt man erst im Ernstfall. Wo liegen die Backups eigentlich? Sind sie verschlüsselt, und wenn ja, wo ist der Schlüssel? Welches Backup ist das richtige? Und wie spiele ich es zurück, wenn Home Assistant selbst gar nicht mehr erreichbar ist?

Wer sich diese Fragen erst stellt, wenn das Licht nicht mehr angeht und die Heizung nicht reagiert, hat schlechte Karten. Ein Backup ist nur so gut wie der Weg zurück.

Meine Backup-Strategie

Home Assistant läuft bei mir als Home Assistant OS in einer VM auf meinem Heimserver. Damit stehen mir die eingebauten Voll-Backups zur Verfügung, die neben der Konfiguration auch Add-ons, Datenbank und Einstellungen sichern.

Diagramm: Nächtliche und manuelle Voll-Backups liegen lokal in Home Assistant und in Google Drive; dazu kommt ein Notfallset mit Schlüssel und Restore-Anleitung. Zwei Speicherorte und ein Notfallset: so ist mein Backup aufgebaut.

So ist das bei mir eingestellt:

  • Automatische Backups jede Nacht. Home Assistant erstellt täglich ein Voll-Backup, die Einstellung findet ihr unter Einstellungen → System → Backups.
  • Aufbewahrung begrenzt. Es werden nur die letzten vier automatischen Backups behalten, damit der Speicher nicht vollläuft.
  • Zwei Speicherorte. Jedes Backup liegt lokal in Home Assistant und zusätzlich in Google Drive. Die Integration dafür ist offiziell und in ein paar Minuten eingerichtet.
  • Manuelle Backups vor größeren Änderungen. Bevor ich Updates einspiele oder etwas Größeres umbaue, erstelle ich ein eigenes Backup mit sprechendem Namen, zum Beispiel „Vor-Updates-…“. So finde ich im Notfall genau den Stand, zu dem ich zurück will.

Die lokale Kopie ist für den schnellen Rückweg gedacht, etwa nach einem missglückten Update. Die Kopie in der Cloud ist für den Fall, dass der Server selbst oder seine Festplatte stirbt. Ein Backup, das nur auf demselben Gerät liegt, schützt euch vor Hardwareschäden nämlich überhaupt nicht.

Das Notfallset: ohne Schlüssel kein Restore

Seit einiger Zeit verschlüsselt Home Assistant automatische Backups. Beim Einrichten bekommt ihr ein sogenanntes Notfallset (Emergency Kit) mit dem Verschlüsselungsschlüssel zum Download angeboten. Bitte nehmt das ernst: Ohne diesen Schlüssel könnt ihr ein verschlüsseltes Backup auf einer neuen Installation nicht wiederherstellen. Das Backup in der Cloud ist dann nur noch ein nutzloser Datenblob.

Legt das Notfallset an einem sicheren Ort außerhalb von Home Assistant ab, also nicht nur auf dem Server, der im Ernstfall vielleicht selbst nicht mehr läuft. Ein Passwortmanager oder ein Ausdruck in der Ordnermappe mit den wichtigen Unterlagen sind beide besser als gar nichts.

Zu meinem persönlichen Notfallset gehört außerdem eine kurze Anleitung: wie ich an die Home-Assistant-Oberfläche komme, wie ich das aktuellste Backup finde und welche Schritte ich in welcher Reihenfolge mache. Der Gedanke dahinter: Im Ernstfall will ich nicht erst suchen und überlegen, sondern nur noch abarbeiten.

So spiele ich ein Backup zurück

Je nachdem, wie schlimm es ist, gibt es bei mir drei Wege.

1. Home Assistant läuft noch, nur die Konfiguration ist kaputt. Das ist der häufigste Fall. Unter Einstellungen → System → Backups wähle ich das passende Backup aus und stelle es wieder her – entweder komplett oder nur einzelne Teile wie die Konfiguration oder ein bestimmtes Add-on. Home Assistant startet dabei neu. Ein paar Minuten Ausfall sind normal, also keine Panik, wenn die Oberfläche kurz weg ist.

Das Gleiche geht auch per Aktion, was praktisch ist, wenn man es skripten will:

action: hassio.restore_full
data:
  slug: "abc12345"

Den Slug findet ihr in den Details des jeweiligen Backups. Für ein Teil-Restore gibt es entsprechend hassio.restore_partial.

2. Home Assistant startet nicht mehr, die VM aber schon. Dann bleibt der Weg über die Konsole der VM: Dort landet man in der Home-Assistant-CLI und kann mit ha backups restore ein Backup zurückspielen. Das ist unbequemer, funktioniert aber auch, wenn die Weboberfläche tot ist.

3. Die VM oder der Server ist hinüber. Im schlimmsten Fall setze ich Home Assistant OS neu auf. Beim ersten Start bietet die Einrichtung direkt an, ein Backup wiederherzustellen, auch aus der Cloud. Genau hier braucht ihr den Schlüssel aus dem Notfallset.

Nach dem Restore: kurz prüfen

Nach jedem Restore gehe ich eine kleine Checkliste durch:

  • Ist Home Assistant erreichbar und zeigt der Backup-Bereich den erwarteten Stand?
  • Laufen Zigbee, Thread und Matter wieder? Die Funk-Sticks hängen bei mir per USB-Passthrough in der VM, da lohnt sich ein genauer Blick.
  • Funktionieren die wichtigsten Automationen, etwa Heizung und Rollos?
  • Sind alle Add-ons gestartet?

Bei Zigbee hat mich übrigens schon einmal ein separates Netzwerk-Backup von ZHA gerettet. Nach Ärger mit den USB-Sticks konnte ich das Zigbee-Netz damit wiederherstellen, ohne alle Geräte neu anlernen zu müssen. Wer Zigbee nutzt, sollte wissen, dass es diese Sicherung gibt.

Was ihr vorher testen solltet

Hier bin ich ehrlich: Ein Backup, dessen Wiederherstellung nie getestet wurde, ist eher eine Hoffnung als ein Plan. Diese Punkte würde ich euch ans Herz legen:

  1. Einmal ein Probe-Restore machen. Am besten nicht auf dem produktiven System, sondern in einer Test-VM oder auf einem Ersatzgerät wie einem Raspberry Pi 5. Ihr seht dann, ob das Backup vollständig ist und wie lange es dauert. Wichtig dabei: Funk-Sticks nicht gleichzeitig an zwei Instanzen betreiben.
  2. Prüfen, ob der Schlüssel wirklich passt. Beim Probe-Restore am besten ein Backup aus der Cloud nehmen und es mit dem Schlüssel aus dem Notfallset einspielen.
  3. Eine Überwachung einrichten und testen. Sinnvoll ist eine Benachrichtigung, wenn das letzte erfolgreiche automatische Backup zu alt ist. Wer das einrichtet, sollte einmal prüfen, ob die Meldung auch wirklich ankommt.

Die Überwachung ist schnell gebaut, denn die Backup-Integration liefert passende Sensoren mit:

triggers:
  - trigger: time
    at: "09:00:00"
conditions:
  - condition: template
    value_template: >
      {{ now() - as_datetime(states('sensor.backup_last_successful_automatic_backup'))
         > timedelta(hours=36) }}
actions:
  - action: notify.mobile_app_handy
    data:
      message: "Das letzte erfolgreiche Home-Assistant-Backup ist älter als 36 Stunden."

Stromausfall: der unterschätzte Feind

Viele Datenbank- und Backup-Probleme entstehen gar nicht durch Updates, sondern durch harte Stromausfälle. Wenn der Server mitten im Schreiben ausgeht, kann das die Datenbank beschädigen. Eine kleine USV wie die APC Back-UPS BX750MI-GR schafft hier Luft. Außerdem sollte die Home-Assistant-VM nach einem Neustart des Servers automatisch starten – das habe ich selbst erst nach einem Stromausfall gelernt.

Fazit

Backups einzurichten dauert in Home Assistant nur ein paar Minuten. Der eigentliche Wert entsteht aber erst durch den Plan drumherum: zweiter Speicherort, sicher verwahrter Schlüssel, eine kurze Anleitung und ein getesteter Weg zurück. Seit ich das zusammengestellt habe, sehe ich Updates deutlich entspannter, weil ich weiß, dass ich im Zweifel in ein paar Minuten wieder da bin, wo ich vorher war.

Die Geräte aus diesem Artikel

APC Back-UPS BX750MI-GR (USV, 750 VA, Schuko)
Mein Gerät

APC Back-UPS BX750MI-GR (USV, 750 VA, Schuko)

Das beste Backup ist das, das man nicht braucht: Eine USV verhindert, dass der Server bei einem Stromausfall mitten im Schreiben hart ausgeht.

Kommentare

Fragen, Ergänzungen oder eigene Erfahrungen? Ich freue mich über deinen Kommentar. Zum Kommentieren brauchst du ein kostenloses GitHub-Konto.

Beim Laden werden Daten an GitHub übertragen. Mehr dazu in der Datenschutzerklärung.