Dlaczego Home Assistant działa inaczej w sieci lokalnej i przy połączeniach zdalnych?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Home Assistant może działać szybko w sieci LAN, a wolniej zdalnie, nawet gdy Core wykonuje tę samą automatyzację, ponieważ połączenie klienta przebiega inną trasą. Lokalna przeglądarka może przejść przez jeden przełącznik, aby dotrzeć do Home Assistant, podczas gdy zdalny telefon może rozpoznać publiczny DNS, przejść przez sieć komórkową lub firmową, trasę operatora, wejść przez serwer proxy w chmurze, VPN, tunel albo odwrotny serwer proxy, a następnie utrzymywać sesję WebSocket z serwerem.

Różnicę w wydajności należy zatem mierzyć jako dostarczenie danych od klienta do serwera, a nie od razu przypisywać ją procesorowi Home Assistant. Automatyzacja fizyczna może wykonać się lokalnie w tym samym czasie, podczas gdy zdalny pulpit potrzebuje więcej czasu, aby wyświetlić nowy stan.

Dostęp przez LAN obejmuje mniej etapów sieciowych

W domu klient może używać prywatnego adresu serwera lub wewnętrznej nazwy DNS, omijając publiczny internet. Czasy odpowiedzi są krótkie, a połączenie zwykle nie zależy od przepustowości wysyłania łącza operatora ani zdalnego przekaźnika.

Model sieciowy aplikacji Home Assistant Companion obsługuje oddzielne wewnętrzne i zewnętrzne ścieżki połączeń, w tym wewnętrzne i zewnętrzne adresy URL, split DNS oraz wymagania dotyczące odwrotnego serwera proxy obsługującego WebSocket.

Powolną sesję LAN należy więc najpierw diagnozować w domu: sprawdzić Wi-Fi, DNS, renderowanie w przeglądarce lub kliencie, wewnętrznie używany odwrotny serwer proxy, routing VLAN albo sam host Home Assistant.

Zdalny dostęp dodaje DNS, WAN, szyfrowanie i metodę dostępu

Zdalny klient zwykle potrzebuje publicznej lub nakładkowej nazwy, TLS, zewnętrznej trasy oraz granicy dostępu, takiej jak Home Assistant Cloud, VPN, odwrotny serwer proxy lub tunel. Każdy z tych etapów może zwiększyć opóźnienie albo stać się punktem ponownego połączenia.

Zdalne sieci nakładkowe mogą również korzystać z różnych typów połączeń. Aktualne wytyczne Tailscale wyjaśniają, że bezpośrednie połączenia między urządzeniami zwykle zapewniają najniższe opóźnienia i najwyższą przepustowość, natomiast połączenia przekazywane przez przekaźnik są rozwiązaniem awaryjnym, gdy bezpośrednia łączność nie jest możliwa. Sama trasa może więc zmieniać odczuwaną responsywność Home Assistant bez zmiany czasu wykonywania zadań przez Core.

Nie przyjmuj uniwersalnego progu opóźnienia zdalnego. Zmierz własną trasę z miejsc, w których faktycznie korzystasz z systemu — przez sieć komórkową, firmowe Wi-Fi, sieci podczas podróży lub z drugiego domu — i zanotuj, czy połączenie jest bezpośrednie, czy przekazywane przez przekaźnik.

Stabilność WebSocket ma znaczenie po wstępnym załadowaniu strony

Pulpity Home Assistant otrzymują kolejne zmiany stanów po początkowym załadowaniu kodu HTML i JavaScriptu. Połączenie, które wielokrotnie się zrywa i łączy ponownie, może działać znacznie gorzej, niż sugerowałaby jego średnia przepustowość.

Odwrotny serwer proxy lub tunel musi prawidłowo zachowywać ścieżkę WebSocket. Wytyczne dotyczące sieci Companion ostrzegają, że samodzielnie zarządzane odwrotne serwery proxy wymagają obsługi WebSocket; w przeciwnym razie interfejs może połączyć się częściowo, a aktualizacje na żywo mogą działać nieprawidłowo.

Obserwuj ponowne połączenia, nieudane próby aktualizacji WebSocket, logi serwera proxy oraz przełączanie między sieciami komórkowymi. Telefon przechodzący z Wi-Fi na LTE może zmienić adres źródłowy i trasę, nawet gdy sam serwer Home Assistant pozostaje sprawny.

Zdalna wydajność może być ograniczona przez wysyłanie danych z domu

Domowe oferty internetowe często mają asymetryczne parametry. Żądanie zdalnego pulpitu dociera do domu z internetu, ale miniatury kamer, zasoby pulpitu, dane stanów i strumienie muszą opuścić dom przez łącze wysyłające.

Widoki kamer o wysokiej przepływności lub kilku zdalnych użytkowników mogą ujawnić ograniczenia wysyłania, których nie zauważy lokalny klient. Zdalna sesja, która zwalnia tylko po otwarciu karty kamery, to inny problem niż automatyzacja, której wykonanie trwa zbyt długo.

Poradnik ZimaSpace dotyczący obciążeń serwera domowego dla inteligentnego domu wskazuje to samo rozróżnienie między automatyzacją podstawową a bardziej wymagającymi kamerami, analizą i usługami towarzyszącymi, które mają dodatkowe wymagania zasobowe.

Wybór ścieżki klienta może sprawić, że dwa telefony będą działać inaczej

Aplikacja Companion wybiera ustawienia połączenia na podstawie skonfigurowanej sieci domowej i adresów URL. Urządzenie, które nigdy nie rozpoznaje sieci domowej, może nadal korzystać z trasy zewnętrznej, nawet gdy znajduje się w tej samej sieci Wi-Fi co Home Assistant.

Przypadek opisany w ramach pomocy społeczności pokazuje praktyczną zależność: aplikacja potrzebuje prawidłowego zewnętrznego adresu URL i definicji sieci domowej, zanim adres wewnętrzny stanie się właściwą lokalną ścieżką.

Podczas badania wydajności porównuj dokładny adres URL, odpowiedź DNS, ścieżkę przez serwer proxy lub VPN, pulpit oraz klienta. „Ten sam serwer Home Assistant” nie oznacza tego samego testu, jeśli oba klienty korzystają z innych tras dostępu.

Mierz wykonywanie zadań przez serwer oddzielnie od dostarczania danych klientowi

Pomiar Co izoluje
Wyzwolenie automatyzacji → wywołanie usługi Logikę Home Assistant
Wywołanie usługi → informacja zwrotna z urządzenia fizycznego Lokalny transport urządzenia
Klient LAN → odpowiedź Home Assistant Sieć lokalną i klienta
Klient zdalny → odpowiedź Home Assistant WAN, dostęp zewnętrzny, przekaźnik, TLS, serwer proxy lub VPN
Aktualizacja stanu serwera → renderowanie u klienta WebSocket i ścieżkę frontendu

Nazywaj serwer „wolniejszym zdalnie” tylko wtedy, gdy zmienia się samo wykonywanie zadań po stronie serwera. Jeśli urządzenie fizyczne reaguje na czas, ale zdalny ekran aktualizuje się później, różnica w wydajności występuje za Core, na ścieżce zdalnego dostarczania danych.

Najczęściej zadawane pytania

Dlaczego aplikacja Home Assistant działa szybko przez Wi-Fi, ale wolno przez dane komórkowe?

Dane komórkowe dodają publiczną lub prywatną trasę zdalnego dostępu, w tym opóźnienia operatora, DNS, TLS oraz ewentualnie serwer proxy, VPN, tunel lub przekaźnik. Serwer Home Assistant może wykonywać zadania z tą samą szybkością.

Centrum Technologii i Sztucznej Inteligencji

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.