Kopia zapasowa Home Assistanta przyda się tylko wtedy, gdy po awarii serwera zostaną ci trzy rzeczy: sam plik kopii, klucz, którym go zaszyfrowano, oraz login i hasło sprzed jej utworzenia. Jeśli przywracanie się nie udaje, zwykle brakuje którejś z nich, a bardzo często właśnie pliku, bo jedyna kopia była zapisana na tej samej karcie SD albo dysku SSD, który właśnie odmówił posłuszeństwa.
Od wydania 2025.1 Home Assistant ma system kopii, który powstał właśnie z myślą o takich sytuacjach: kopie według harmonogramu, automatyczne usuwanie starych, domyślne szyfrowanie i dodatkowe miejsca zapisu, które dokładają integracje. Przywracanie działa w każdym typie instalacji, także w Dockerze. Poniżej pokazuję, jak to ustawić, żeby w razie awarii kopia rzeczywiście zadziałała.
Co trafia do kopii
Kopia to skompresowane i zaszyfrowane archiwum .tar, które domyślnie ląduje w lokalnym katalogu /backup. Pełna kopia obejmuje katalogi:
config: konfigurację, automatyzacje, panele oraz bazę danych historii (integracjarecorder), o ile jej nie przeniosłeś;share;addons: tylko aplikacje zainstalowane ręcznie albo napisane samodzielnie, bez tych ze sklepu;ssl;media.
„Aplikacje” to obecna nazwa tego, co Home Assistant nazywał wcześniej dodatkami. Do kopii można dołączyć także zainstalowane aplikacje, a kopia częściowa to dowolny wybór spośród wymienionych katalogów i aplikacji.
Z tej listy wynikają dwie rzeczy. Po pierwsze, w kopii są klucze do całego domu. Zespół Home Assistanta, opisując nowy system kopii, przypomina, że kopia zawiera dane dostępowe do każdego zintegrowanego urządzenia i historię tego, jak mieszkasz. Traktuj ten plik jak bazę haseł. Po drugie, kopie szybko rosną. Dokumentacja radzi pomijać w regularnych kopiach katalogi media i share, bo dużą kopię także dłużej się przywraca.
Przed pierwszą kopią sprawdź, ile zajmuje baza danych. Wejdź w Settings > System > Repairs, otwórz menu pod trzema kropkami, wybierz System information i w sekcji Recorder znajdź pozycję Estimated Database Size (MiB). Domyślnie Home Assistant przechowuje historię z 10 dni. Jeśli wydłużyłeś ten okres, baza może być największą częścią archiwum.
Zestaw awaryjny, czyli to, co ludzie gubią
Kiedy po raz pierwszy konfigurujesz kopie, Home Assistant generuje klucz szyfrowania i proponuje pobranie go jako zestawu awaryjnego (w interfejsie „emergency kit”). Bez tego klucza zaszyfrowanej kopii nie da się przywrócić w żaden sposób. Nabu Casa nie przechowuje klucza i nie pomoże odszyfrować kopii, jeśli go zgubisz.
Zestaw awaryjny trzymaj poza Home Assistantem. Dobrym miejscem jest menedżer haseł, a wydruk w szufladzie też nie zaszkodzi. Jeśli zapiszesz zestaw tylko na serwerze, który kopie mają zabezpieczać, w razie awarii stracisz go razem z serwerem.
Kilka szczegółów, na których łatwo się potknąć:
- Jeden klucz szyfruje wszystkie kopie. Jeśli go zmienisz (Configure automatic backups, a potem Change w sekcji Encryption key), nowe kopie będą szyfrowane nowym kluczem, a do starszych nadal potrzebny jest stary. Zanim zmienisz klucz, pobierz dotychczasowy zestaw i zanotuj, do których kopii pasuje.
- Dopóki Home Assistant działa, a klucz się nie zmienił, zestaw możesz pobrać ponownie z ustawień kopii.
- Kopia pobrana ze strony z kopiami zapasowymi jest odszyfrowywana w locie, więc otworzysz ją zwykłym programem do archiwów. Plik skopiowany bezpośrednio z katalogu
backup, na przykład przez aplikację Samba, pozostaje zaszyfrowany.
Automatyczne kopie krok po kroku
- Wejdź w Ustawienia > System > Kopie zapasowe (
Settings > System > Backups) i wybierz Set up backups. - Pobierz zestaw awaryjny i schowaj go w bezpiecznym miejscu.
- Ustaw harmonogram. Dokumentacja zaleca kopię codzienną. Opcja System optimal wybiera godzinę z przedziału pokazanego w interfejsie, a w opcji Custom wskazujesz ją sam. Wybierz porę, w której wszystkie miejsca zapisu są dostępne, bo kopia do niedostępnego miejsca się nie uda.
- Zdecyduj, czy Home Assistant ma robić kopię przed każdą aktualizacją. To tylko ustawienie domyślne i przy każdej aktualizacji możesz je zmienić. W dużej instalacji aktualizacja ruszy później, dopiero po zakończeniu kopii.
- Określ, ile kopii zachować. Starsze kopie automatyczne będą usuwane. Przy kopiach codziennych i limicie 7 zniknie wszystko, co ma 8 dni lub więcej. Kopii utworzonych ręcznie to czyszczenie nie dotyczy.
- Wybierz zawartość. Tu wyłączasz
mediaishare, jeśli ich nie potrzebujesz. - Wybierz miejsca zapisu. Opisuję je niżej.
Jeśli przyjmiesz ustawienia zalecane przez kreator, Home Assistant będzie robił kopię co noc, trzymał trzy ostatnie i wysyłał je do wszystkich dostępnych miejsc.
Gdzie trzymać kopie
Zespół Home Assistanta zaleca zasadę 3-2-1: trzy kopie danych, na dwóch różnych rodzajach nośników, w tym jedna poza domem. Jako przykład podaje uderzenie pioruna, które niszczy jednocześnie serwer z Home Assistantem i stojący obok serwer plików NAS. W praktyce oznacza to pamięć lokalną i co najmniej jeden inny system, a najlepiej także kopię poza domem.
Miejsca zapisu włączasz w Configure automatic backups, w sekcji Locations:
- Pamięć lokalna na samym serwerze Home Assistanta. Dobra jako jedna z kopii, bezużyteczna jako jedyna.
- Udział sieciowy (NAS). W Home Assistant OS wejdź w Ustawienia > System > Pamięć masowa (
Settings > System > Storage), wybierz Add network storage, ustaw protokół NFS albo CIFS (Samba/Windows w wersji co najmniej 2.1) i w polu przeznaczenia wybierz Backup. Pierwszy udział dodany z takim przeznaczeniem staje się domyślnym miejscem lokalnych kopii. Funkcja wymaga Home Assistant OS w wersji 10.2 lub nowszej. - Synology DSM. Integracja Synology DSM może zapisywać kopie w folderze współdzielonym z File Station bez podłączania serwera NAS jako dysku sieciowego (wymaga DSM 6.0 lub nowszego). Użytkownik DSM potrzebuje uprawnień do aplikacji File Station oraz prawa odczytu i zapisu w tym folderze.
- Google Drive i OneDrive. Obie integracje mają dostęp wyłącznie do własnego folderu. W Google Drive jest to folder
Home Assistant, a w OneDrive folder aplikacji, który przez błąd w interfejsie API Microsoftu często nazywa sięGraphzamiastHome Assistant. Usunięcie integracji Google Drive nie kasuje jej folderu, trzeba to zrobić ręcznie. - Home Assistant Cloud. Abonenci mogą bez dodatkowej opłaty przechowywać jedną kopię o rozmiarze do 5 GB. Zostaje tylko ostatnia wysłana tam kopia i zawsze jest zaszyfrowana algorytmem AES-128. Nabu Casa zapowiedziała zmianę nazwy usługi na Home Assistant Link i chce, żeby nowa nazwa obowiązywała oficjalnie od wydania 2026.12. Do tego czasu interfejs i dokumentacja używają starej nazwy.
Przy każdym miejscu poza Home Assistant Cloud ikona zębatki włącza albo wyłącza szyfrowanie. Wszystko, co wychodzi poza sieć domową, zostaw zaszyfrowane.
Jeśli wbudowany harmonogram ci nie odpowiada, akcja backup.create_automatic uruchomi z dowolnej automatyzacji kopię według ustawień kopii automatycznych. Dokumentacja podaje przykład: automatyzacja włącza serwer NAS, czeka, aż pojawi się w sieci, i dopiero wtedy zaczyna kopię. W Home Assistant OS jest też wiersz poleceń: ha backups new --name nameofbackup tworzy kopię, a ha backups list wyświetla listę istniejących.
Powiadomienie o nieudanej kopii
Harmonogram, którego nikt nie sprawdza, może przestać działać po cichu, na przykład gdy serwer NAS o czwartej nad ranem był uśpiony. Integracja Backup udostępnia encję zdarzenia event.backup_automatic_backup. Jej atrybut event_type przyjmuje wartość completed, in progress albo failed, a atrybut failed_reason podaje przyczynę błędu. Są też czujniki z czasem ostatniej udanej i ostatniej podjętej kopii automatycznej. W dokumentacji znajdziesz gotową automatyzację, która wysyła powiadomienie na telefon, gdy kopia się nie uda:
alias: "Backup failed"
triggers:
- trigger: state
entity_id:
- event.backup_automatic_backup
conditions:
- condition: state
entity_id: event.backup_automatic_backup
attribute: event_type
state: failed
actions:
- action: notify.send_message
target:
entity_id: notify.my_device
data:
title: "Automatic backup failed"
message: >-
The last automatic backup failed due to
{{ state_attr('event.backup_automatic_backup', 'failed_reason') }}
Zamiast notify.my_device wpisz własną encję powiadomień. Tytuł i treść wiadomości możesz oczywiście napisać po polsku.
Przywróć kopię, zanim będziesz musiał
Zespół Home Assistanta zalicza testowanie kopii do podstaw rozsądnej strategii, a przywracania znacznie łatwiej nauczyć się w spokojne popołudnie niż w środku awarii. Co jakiś czas pobierz kopię i zajrzyj do archiwum, żeby sprawdzić, czy jest w nim to, czego się spodziewasz. Jeszcze lepiej jest przywrócić ją na zapasowym komputerze albo w maszynie wirtualnej.
Kopię można przywrócić na dwa sposoby.
W działającym systemie. Wejdź w Ustawienia > System > Kopie zapasowe, wybierz kopię, zaznacz, co przywrócić, i kliknij Restore. Zaznaczone elementy zastąpią obecny stan, a na koniec Home Assistant uruchomi się ponownie.
Przy pierwszym uruchomieniu świeżej instalacji. Tak samo przenosisz się na nowy sprzęt, nawet innego typu, na przykład z Raspberry Pi na minikomputer.
- Jeśli przenosisz się na nowy komputer, najpierw podłącz do niego moduły radiowe, na przykład adapter Z-Wave albo Zigbee.
- Na ekranie powitalnym wybierz Upload backup i wskaż plik albo wybierz Home Assistant Cloud i zaloguj się.
- Zaznacz elementy do przywrócenia i wpisz klucz z zestawu awaryjnego.
- Kliknij Restore backup i czekaj. Nie odświeżaj strony: system jest wyłączany, czyszczony i instalowany od nowa z kopii, a po odświeżeniu zobaczysz tylko komunikat „Not found”.
- Zaloguj się loginem i hasłem, które obowiązywały w chwili tworzenia kopii, a nie tymi ustawionymi później.
Przed przeprowadzką sprawdź miejsce na dysku. Nowe urządzenie musi mieć więcej wolnego miejsca, niż wynosi wartość Disk used na starym. Znajdziesz ją w Settings > System > Repairs > System information, w sekcji Home Assistant Supervisor. Rozmiar pliku kopii nic nie mówi o rozmiarze instalacji. Przywracanie dużej instalacji może trwać około 45 minut, bo Home Assistant Core i wszystkie aplikacje instalują się od nowa.
Po przywróceniu urządzenia zasilane bateryjnie mogą być niedostępne, dopóki się nie wybudzą, a udziały sieciowe trzeba czasem podłączyć ponownie. Jeśli certyfikaty były ustawione bezpośrednio w integracji http, serwer będzie odpowiadał tylko pod adresem https://. Gdy nowy komputer ma inny moduł Zigbee niż stary, trzeba jeszcze przenieść na niego sieć Zigbee.
Błędy, przez które kopia nic nie jest warta
- Kopie tylko na samym serwerze. Gdy padnie dysk, razem z nim przepadną wszystkie kopie.
- Zestaw awaryjny zapisany w Home Assistancie albo niepobrany wcale. Bez niego zaszyfrowanej kopii nie otworzysz.
- Zmieniony klucz i wyrzucony stary zestaw. Home Assistant nie używa już starego klucza, więc kopii sprzed zmiany nie odszyfrujesz.
- Home Assistant Cloud jako jedyna kopia poza domem przy dużej instalacji. Mieści jedną kopię do 5 GB. Odchudź
media,sharei bazę danych albo dodaj inne miejsce zapisu. - Udział sieciowy niedostępny w chwili kopii. Kopia do tego miejsca się nie uda. Przesuń harmonogram albo wybudź serwer NAS w automatyzacji i dopiero wtedy uruchom
backup.create_automatic. - Zapomniane hasło. Przywrócenie odtwarza użytkowników z chwili tworzenia kopii, więc potrzebujesz loginu i hasła z tamtego okresu.