Po aktualizacji Home Assistant może nie wstać wcale, uruchomić się w trybie odzyskiwania albo działać bez części integracji. Każdy z tych objawów ma inną przyczynę i inną naprawę. Poniżej kolejność działań od najmniej inwazyjnych: najpierw diagnoza z logów, potem tryb awaryjny, na końcu przywrócenie kopii zapasowej albo powrót do poprzedniej wersji.
Objaw, przyczyna, pierwszy krok
| Co widzisz | Najczęstsza przyczyna | Pierwszy krok |
|---|---|---|
| Panel nie ładuje się albo jest pusty, choć system działa | stara wersja interfejsu w pamięci przeglądarki lub aplikacji | twarde odświeżenie strony (Ctrl+F5), w aplikacji mobilnej wyczyszczenie pamięci podręcznej interfejsu w ustawieniach aplikacji |
| Komunikat o trybie odzyskiwania (recovery mode) | błąd w konfiguracji YAML, którego nowa wersja nie przyjmuje | odczytaj błąd w logu, popraw plik, sprawdź konfigurację |
| Część urządzeń „niedostępna”, w logu błędy integracji | niestandardowa integracja (np. z HACS) niezgodna z nową wersją | aktualizacja integracji albo uruchomienie w trybie awaryjnym |
| Długi start, komunikat o aktualizacji bazy danych | migracja bazy recordera po zmianie schematu | poczekaj, nie restartuj w trakcie |
| Brak historii wykresów, nowa pusta baza | uszkodzony plik bazy SQLite | sprawdź, czy w katalogu config jest plik z dopiskiem .corrupt |
| System nie wstaje wcale, brak dostępu do panelu | poważny błąd po aktualizacji lub awaria nośnika | konsola lub SSH, logi, potem kopia zapasowa albo powrót do wersji |
Krok 1: odczytaj logi
Jeśli panel działa, logi są w Ustawienia → System → Dzienniki. Domyślny widok grupuje powtarzające się wpisy. Pełny zapis pokazuje opcja „Pokaż surowe dzienniki”. Szukaj wpisów ERROR i nazw integracji, które się w nich powtarzają. Ten sam zapis jest w pliku home-assistant.log w katalogu konfiguracji.
Gdy panel nie działa, logi odczytasz z wiersza poleceń, zależnie od sposobu instalacji:
- Home Assistant OS (Raspberry Pi, mini PC, maszyna wirtualna): na konsoli urządzenia albo przez dodatek SSH polecenie
ha core logs. - Docker:
docker logs homeassistant(albo inna nazwa kontenera). Szerzej o tej instalacji: Home Assistant w Docker Compose.
Wpis z nazwą niestandardowej integracji to zwykle najszybsza odpowiedź. Przy starcie Home Assistant ostrzega, że integracja nie była testowana przez twórców systemu. Jeśli zaraz po tym ostrzeżeniu pojawia się błąd importu lub konfiguracji tej samej integracji, przyczyna jest prawie na pewno w niej, a nie w samym systemie.
Krok 2: sprawdź konfigurację przed kolejnym restartem
Każde wydanie Home Assistant ma w informacjach o wydaniu sekcję o zmianach niekompatybilnych wstecz (backward-incompatible changes). Zanim zaczniesz szukać na forach, przejrzyj ją dla integracji, których używasz. Zmiana nazwy opcji w YAML albo przeniesienie integracji z YAML do konfiguracji w interfejsie to częsta przyczyna „nagłej” awarii.
Po poprawce sprawdź pliki, zanim zrestartujesz system: w panelu Narzędzia deweloperskie → YAML → Sprawdź konfigurację, a z wiersza poleceń w Home Assistant OS ha core check. Restart z błędną konfiguracją kończy się trybem odzyskiwania, więc ta kontrola oszczędza jeden cykl.
Krok 3: uruchom tryb awaryjny
Tryb awaryjny (safe mode) startuje system bez niestandardowych integracji i dodatkowych zasobów interfejsu. Jeśli w trybie awaryjnym wszystko działa, winna jest któraś z doinstalowanych integracji lub kart.
- Z panelu: Ustawienia → System, ikona zasilania w prawym górnym rogu, „Opcje zaawansowane” i restart w trybie awaryjnym.
- Z wiersza poleceń w Home Assistant OS:
ha core restart --safe-mode.
Potem zaktualizuj niestandardowe integracje do wersji zgodnych z nowym wydaniem. Jeśli korzystasz z HACS, zrobisz to tam, a autorzy integracji zwykle opisują wymaganą wersję systemu w repozytorium: HACS w Home Assistant. Jeśli poprawki jeszcze nie ma, wyłącz integrację i poczekaj albo wróć do poprzedniej wersji systemu (krok 5).
Krok 4: baza danych — poczekaj albo pogódź się z utratą historii
Niektóre wydania zmieniają schemat bazy, w której recorder zapisuje historię. Migracja przy dużej bazie może trwać od kilku minut do kilku godzin, a w tym czasie część funkcji jest niedostępna. Nie przerywaj jej restartem ani odłączeniem zasilania, bo to najprostsza droga do uszkodzenia pliku.
Jeśli plik SQLite jest uszkodzony, Home Assistant zmienia jego nazwę (dopisuje .corrupt i datę) i zakłada nową, pustą bazę. System działa, ale bez dawnej historii. Konfiguracja, automatyzacje i urządzenia zostają, bo nie są przechowywane w tej bazie. Historię da się odzyskać tylko z kopii zapasowej.
Krok 5: przywróć kopię zapasową albo wróć do poprzedniej wersji
Gdy powyższe nie pomaga, masz dwie drogi. Wybór zależy od tego, czy masz kopię sprzed aktualizacji.
| Sposób | Kiedy | Jak |
|---|---|---|
| Przywrócenie kopii zapasowej | masz kopię sprzed aktualizacji | Ustawienia → System → Kopie zapasowe, wybierz kopię i przywróć. Na świeżej instalacji opcja przywracania z kopii jest dostępna już na pierwszym ekranie konfiguracji. |
| Powrót do wersji (Home Assistant OS) | brak kopii albo chcesz zachować dane sprzed awarii | ha core update --version X.Y.Z, gdzie X.Y.Z to wersja, z której aktualizowałeś |
| Powrót do wersji (Docker) | jw. | w pliku compose zamień tag obrazu stable lub latest na konkretną wersję i uruchom kontener ponownie |
Powrót do starszej wersji nie zawsze jest czysty. Jeśli nowa wersja zdążyła zmigrować bazę danych, starsza może jej nie odczytać. Dlatego przywrócenie kopii jest pewniejsze niż sam powrót do wersji. Jak ustawić automatyczne kopie i trzymać je poza urządzeniem, opisujemy w poradniku backup Home Assistant.
Ponowna instalacja całego systemu to ostateczność. Jeśli masz kopię zapasową, przywrócisz ją na nowej instalacji. Bez kopii czysta instalacja oznacza konfigurację od zera, z wyjątkiem plików, które ręcznie skopiujesz z dawnego katalogu config.
Jak aktualizować, żeby nie naprawiać
- Przed aktualizacją przeczytaj w informacjach o wydaniu sekcję o zmianach niekompatybilnych dla swoich integracji.
- Zostaw zaznaczoną opcję wykonania kopii zapasowej w oknie aktualizacji.
- Najpierw zaktualizuj niestandardowe integracje, potem system.
- Nie musisz instalować wersji pierwszego dnia. Poprawki błędów wychodzą zwykle w ciągu kilku dni po dużym wydaniu (numer z końcówką .1, .2).
- Aktualizuj, gdy masz czas na ewentualną naprawę, a nie przed wyjazdem.
Jeśli dopiero stawiasz system, zacznij od instalacji i pierwszej konfiguracji Home Assistant. Home Assistant OS ma najprostszą ścieżkę aktualizacji, kopii i powrotu do wersji.
Najczęściej zadawane pytania (FAQ)
Czy aktualizacja Home Assistant kasuje automatyzacje?
Nie. Automatyzacje, sceny i skrypty są w plikach w katalogu konfiguracji. Aktualizacja może sprawić, że któraś przestanie działać, np. gdy integracja zmieni nazwy encji, ale ich nie usuwa.
Jak sprawdzić, która integracja psuje system po aktualizacji?
Uruchom system w trybie awaryjnym. Jeśli działa, włączaj niestandardowe integracje po kolei albo szukaj w logu błędów z nazwą konkretnej integracji.
Czy można cofnąć aktualizację Home Assistant?
Tak. W Home Assistant OS służy do tego polecenie ha core update --version z numerem poprzedniej wersji, a w Dockerze zmiana tagu obrazu. Pewniejsze jest przywrócenie kopii zapasowej sprzed aktualizacji, bo powrót do wersji nie cofa migracji bazy danych.
Dlaczego po aktualizacji panel jest pusty, a system działa?
Najczęściej przeglądarka lub aplikacja ładuje starą wersję interfejsu z pamięci podręcznej. Pomaga twarde odświeżenie strony albo wyczyszczenie pamięci podręcznej interfejsu w aplikacji mobilnej.
Komentarze (0)
Dodaj komentarz