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.
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.
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.
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.
Zwei Speicherorte und ein Notfallset: so ist mein Backup aufgebaut.
So ist das bei mir eingestellt:
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.
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.
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 jedem Restore gehe ich eine kleine Checkliste durch:
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.
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:
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."
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.
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.
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.