DNS jest głównym podejrzanym, gdy Home Assistant może połączyć się z usługą za pomocą adresu IP, ale nie może tego zrobić po nazwie hosta, gdy błędy wyraźnie wspominają o rozpoznawaniu nazw lub limitach czasu DNS albo gdy ta sama nazwa hosta zachowuje się inaczej w różnych sieciach. Sam ogólny komunikat „połączenie nie powiodło się” nie jest wystarczającym dowodem.
Testuj DNS z maszyny i przez ścieżkę sieciową, na której faktycznie występuje problem. Prawidłowe rozpoznanie nazwy hosta na laptopie nie dowodzi, że host Home Assistant, kontener, aplikacja mobilna lub lokalny resolver otrzymują tę samą odpowiedź.
Zacznij od dokładnej nazwy hosta wymienionej w błędzie
Odczytaj log Home Assistant lub błąd aplikacji Companion i zapisz dokładną nazwę hosta, a nie tylko nazwę integracji. Odrzucenie połączenia, błąd TLS, przekroczenie limitu czasu i nieudane wyszukiwanie DNS dotyczą różnych warstw.
Aktualne wskazówki Home Assistant dotyczące połączeń mówią, że routery, DNS, DHCP, nieosiągalne urządzenia i niedostępne usługi są częstymi przyczynami błędów połączenia. Treść logu powinna wskazać, którą gałąź diagnostyki sprawdzić w następnej kolejności.
Jeśli błąd zawiera już komunikat „name or service not known”, „temporary failure in name resolution” lub informację o przekroczeniu limitu czasu DNS, przejdź bezpośrednio do testowania resolvera. Jeśli pojawia się komunikat „connection refused”, DNS mógł już zadziałać, a bardziej prawdopodobnym podejrzanym jest zdalna usługa lub port.
Uruchom testy DNS z używanej ścieżki Home Assistant
Użyj dig lub nslookup na hoście Home Assistant, w kontenerze lub w innym systemie korzystającym z tego samego resolvera. Porównaj zwrócone adresy z tym, co według oczekiwań reprezentuje dana nazwa hosta.
Przewodnik rozwiązywania problemów z aplikacją Companion zaleca użycie dig i nslookup, gdy Home Assistant zgłasza przekroczenie limitu czasu podczas wyszukiwania nazwy hosta. Nieudane wyszukiwanie na maszynie, której dotyczy problem, jest znacznie silniejszym dowodem niż pomyślne wyszukiwanie na innym kliencie.
Jeśli problem występuje sporadycznie, powtórz test kilka razy. Resolver, który działa raz, a co dziesiąte żądanie przekracza limit czasu, nadal może powodować niestabilne działanie integracji.
Porównaj dostępność nazwy hosta z dostępnością bezpośredniego adresu IP
Jeśli jest to bezpieczne i ma sens w przypadku danej usługi, przetestuj miejsce docelowe za pomocą znanego adresu IP. Jeśli ścieżka przez IP działa wielokrotnie, a ścieżka przez nazwę hosta zawodzi, wskazuje to na problem z DNS lub routingiem zależnym od nazwy hosta.
Nie traktuj tego jako absolutnego dowodu w przypadku HTTPS lub usług korzystających z hostów wirtualnych. Certyfikaty TLS, odwrotne proxy i nagłówki Host mogą wymagać nazwy hosta, nawet gdy bazowy adres IP jest osiągalny.
Przewodnik ZimaSpace dotyczący sporadycznych awarii DNS w aplikacjach hostowanych samodzielnie rozszerza ten test o rozdzielenie opóźnień resolvera, nieaktualnych odpowiedzi, podzielonego DNS i ścieżek resolvera właściwych dla kontenera.
Sprawdź odpowiedzi A i AAAA
Nazwa hosta może zostać pomyślnie rozpoznana, a mimo to wybrać nieużyteczną rodzinę adresów. Na przykład rekord AAAA może istnieć, podczas gdy routing IPv6 jest uszkodzony, co powoduje długie oczekiwanie przed przejściem na IPv4.
Diagnostyka DNS w Home Assistant wyraźnie wskazuje na awarie serwera DNS i nieprawidłową obsługę żądań A oraz AAAA. W Home Assistant OS ta sama diagnostyka pokazuje stan resolvera i opcje zapasowego DNS.
Porównaj osobno wyniki A i AAAA, a następnie przetestuj łączność za pośrednictwem zwróconej rodziny adresów. Nie wyłączaj globalnie IPv6 tylko dlatego, że jedna nazwa hosta nie działa — najpierw potwierdź, która ścieżka zawodzi.
Porównaj wewnętrzny i zewnętrzny DNS, gdy problem zależy od lokalizacji
Jeśli nazwa hosta Home Assistant działa przez dane komórkowe, ale nie przez domowe Wi-Fi, albo działa w sieci LAN, lecz nie zdalnie, porównaj odpowiedź DNS z obu lokalizacji. Podzielony DNS może celowo zwracać wewnątrz prywatny adres, a na zewnątrz publiczny adres lub adres tunelu.
Sprawdź nadpisania DNS w routerze, reguły Pi-hole lub AdGuard, nazwy mDNS, lokalne domeny wyszukiwania, publiczne rekordy DNS i nieaktualne pamięci podręczne. Prawidłowy rekord publiczny nie naprawi błędnego wewnętrznego nadpisania, a prawidłowy rekord LAN nie sprawi, że prywatny adres będzie osiągalny z internetu.
Zmieniaj jedną zmienną resolvera naraz. Tymczasowe użycie publicznego resolvera może być przydatne do diagnostyki publicznych nazw, ale wpisanie publicznego DNS na stałe nie jest rozwiązaniem, gdy nazwa hosta powinna wskazywać na prywatną usługę lokalną.
FAQ
Jeśli Home Assistant działa po adresie IP, ale nie po nazwie hosta, czy problem na pewno dotyczy DNS?
To silna przesłanka, ale nie absolutny dowód. Certyfikaty HTTPS, odwrotne proxy, hosty wirtualne i reguły routingu mogą działać inaczej, gdy pomijasz nazwę hosta. Potwierdź jednocześnie odpowiedź DNS i ścieżkę aplikacji.
Czy powinienem na stałe przełączyć Home Assistant na 8.8.8.8 lub 1.1.1.1?
Nie automatycznie. Publiczne resolvery są przydatne do testowania publicznych nazw, ale nie mogą rozpoznawać prywatnych rekordów podzielonego DNS, chyba że rekordy te zostały celowo opublikowane w innym miejscu. Napraw resolver, który powinien być nadrzędny dla problematycznej nazwy.
Wsparcie i wskazówki
Więcej do przeczytania

Oznaki wskazujące, że baza danych Home Assistant wymaga konserwacji lub wymiany
Duża baza danych Home Assistant zwykle wymaga konfiguracji przechowywania danych lub czyszczenia; powtarzające się uszkodzenia albo błędy integralności są silniejszym sygnałem do wymiany.

Ilu jednoczesnych użytkowników może obsłużyć Home Assistant, zanim zacznie działać wolniej?
Home Assistant nie ma stałego, użytecznego limitu użytkowników: przetestuj aktywnych klientów z rzeczywistymi pulpitami i aktualizacjami encji, a następnie zatrzymaj testy, zanim pojawią się...

Czy Home Assistant może korzystać z zewnętrznej bazy danych bez zakłócania aktualizacji?
Zewnętrzna baza danych Recorder może przetrwać aktualizacje, ale wiąże się z własną dostępnością, migracją schematu, tworzeniem kopii zapasowych, przywracaniem oraz obowiązkami związanymi z wersjonowaniem.

