W poprzednim artykule wyjaśniliśmy sobie jak zainstalować Home Assistanta, ale zapewne zauważyliście, że dostęp do platformy mamy tylko w domu, a mówiąc ściślej: tylko w sieci lokalnej. Co jeśli zechcemy skorzystać z Home Assistanta będąc poza domem? O tym jak uzyskać dostęp zdalny opowiemy sobie w tym artykule!
Home Assistant opiera się o system klient-serwer, a więc połączenie się z serwerem, będąc poza domem, jest jak najbardziej możliwe. Sposobów „wystawienia” usługi jest mnóstwo – wszak mówimy tu o oprogramowaniu typu Open Source działającym na Linuksie. Jednakże ja opiszę 2 drogi. Dlaczego akurat te 2? Ponieważ są one uniwersalne i zadziałają w praktycznie każdej instalacji internetowej – bez znaczenia u jakiego operatora wykupiliście internet, jaki macie router, a także typ instalacji Home Assistanta. Co więcej, te dwa sposoby nie wymagają modyfikacji domowej sieci.
Opowiemy sobie o dwóch sposobach uzyskania dostępu zdalnego do Home Assistanta:
Wykorzystanie chmury autorów Home Assistanta to najprostsza droga uzyskania zdalnego dostępu. Nie jest jednak ona idealna, bo wymaga opłacania subskrypcji. Z drugiej strony możemy uznać, że ma to jednak sporo korzyści – przede wszystkim, wspieramy twórców Home Assistanta, którzy wykonują świetną pracę i udostępniają ją za darmo, a po drugie, dostajemy dostęp do innych rzeczy, na przykład gotowego do użycia asystenta głosowego Home Assistant Assist. Konfiguracja chmury Nabu Casa jest bardzo łatwa, a także otrzymujemy bezpłatny, 31-dniowy okres testowy.
Aby skonfigurować Home Assistant Cloud, przechodzimy do ustawień i na samej górze mamy pozycję Home Assistant Cloud
. Następnie klikamy w Rozpocznij bezpłatny miesięczny okres próbny
.
Zostaniemy poproszeni o podanie adresu e-mail oraz hasła. Gdy podamy te dane, to klikamy w Rozpocznij darmowy okres próbny
. Co ciekawe, nie musimy podawać swoich danych osobowych oraz numeru karty płatniczej.
W tym momencie musimy chwilkę poczekać na wiadomość e-mail z linkiem aktywacyjnym. Gdy do nas dotrze, to klikamy w niego w celu aktywacji i wracamy do Home Assistanta. Tutaj dostrzeżemy status informujący, że tworzone jest połączenie zdalne. Musimy poczekać tak około 5-10 minut.
Po tym czasie pojawi się włącznik połączenia zdalnego – klikamy, aby uruchomić. Wynikiem będzie wygenerowanie własnego adresu, który możemy wykorzystać do połączenia zarówno w przeglądarce internetowej, jak w aplikacji mobilnej.
Gdy aplikacja Home Assistant zapyta nas o adres serwera, to podajemy wygenerowany adres w Nabu Casa Cloud. Dane logowania natomiast są dokładnie takie same, jak te ustalone przy instalacji Home Assistanta – tutaj nic się nie zmienia.
Tak jak wspomniałem, Home Assistant Cloud zapewnia kilka innych funkcji (oprócz komunikacji zdalnej), a są to:
A ile kosztuje Nabu Casa Cloud? Twórcy oferują rozliczenie miesięczne oraz roczne.
Sam nie uważam kosztów za wysokie, tym bardziej, że zyskujemy wygodny i bezpieczny dostęp zdalny potwierdzony certyfikatem SSL i to bez znaczenia jaki typ połączenia internetowego mamy u siebie w domu.
Jest to forma całkiem prosta do skonfigurowania, a do tego darmowa, ale również podczas korzystania może powodować pewne utrudnienia. Nie mówię tu jednak u jakichś problemach w działaniu, a o samej architekturze tego rozwiązania, ponieważ oparta jest o VPN. Tak, o VPN, bo właśnie głównie do tego służy ta technologia – bezpiecznego dostępu do prywatnych zasobów za pośrednictwem internetu.
Tailscale to jednak usługa nieco inna niż bezpośredni, niezależny VPN. W Tailscale musimy utworzyć konto, a następnie przypisać do niego urządzenia, jednocześnie tworząc własną sieć. Tailscale opiera się o konto użytkownika tworzone w serwisie i nie wymaga ani otwierania portów, ani konfiguracji – całość ogranicza się do instalacji aplikacji i zalogowania się. No więc jak skonfigurować Tailscale do działania z Home Assistantem?
Najpierw wchodzimy >>tutaj<< i tworzymy konto użytkownika. Następnie logujemy się, przechodzimy do zakładki Machines
i klikamy w Add device
. Zaznaczamy typ systemu Linux
i kopiujemy podany skrypt. Ten skrypt musimy wkleić do linii poleceń w serwerze, gdzie mamy zainstalowanego Home Assistanta. Skrypt wygląda tak jak poniżej.
curl -fsSL https://tailscale.com/install.sh | sh
Na sam koniec instalacji w konsoli zostanie wydrukowany link. Link ten kopiujemy i otwieramy w przeglądarce internetowej. Zostaniemy poproszeni o zalogowanie się, co oczywiście robimy. Po zalogowaniu się wracamy do serwera – tam powinien na nas czekać komunikat informujący o sukcesie konfiguracji.
Teraz przechodzimy do naszego smartfona – wszak zapewne tam większość z nas zechce mieć dostęp do Home Assistanta. Uruchamiamy Sklep Google Play lub AppStore i instalujemy aplikację Tailscale. Po zainstalowaniu logujemy się do swojego konta.
Jak wrócimy na stronę internetową Tailscale, to w zakładce Machines
będą wyświetlały się dostępne urządzenia – smartfon oraz serwer z Linuxem. To dobra informacja.
Wróćmy do aplikacji mobilnej. Po jej uruchomieniu dostrzeżemy tę samą listę urządzeń, ale też przełącznik na górze ekranu. Jak go dotkniemy, to włączy się VPN. I to w zasadzie już!
Po włączeniu, możemy przejść do przeglądarki internetowej i w pasku adresu wpisać http://<nazwa_hosta>:8123
– w moim przypadku jest to http://fedora:8123
, aby otworzyć Home Assistanta. Możemy ten sam adres podać w aplikacji mobilnej Home Assistant, aby tam uzyskać wygodny dostęp do platformy, tak jak na zrzucie ekranu poniżej.
Jak widać, jest to droga bardzo prosta i do tego darmowa. Minusem jednak jest to, że za każdym razem gdy zechcemy skorzystać z Home Assistanta, to będziemy musieli włączyć VPN-a. Co więcej, aplikację Tailscale będziemy musieli instalować na każdym urządzeniu, które ma mieć dostęp do HA poza domem – mowa tu zarówno o smartfonach, tabletach, jak i laptopach.
To oczywiście tylko dwie formy połączenia zdalnego, które są bardzo proste w konfiguracji. Dróg ustanowienia połączenia jest wiele. Opierając się na technologii i techniki podobnej do Tailscale, można wybrać Cloudflare Zero Trust. Tutaj również nie jest ważna forma połączenia internetowego, ale są pewne wady. Jakie? Minusami są: potrzeba wykupienia wybranej domeny i regularne płacenie za nią, a także nieco bardziej skomplikowana konfiguracja. Jednakże posiadanie własnej domeny może wyglądać całkiem ładnie i mało tego, będzie ona wygodniejsza w wykorzystywaniu. Co więcej, domenę użyjemy do wystawienia innych usług do internetu, na przykład bloga, Nextclouda itd.
Oczywiście najbardziej tradycyjną formą jest otwarcie portów sieciowych i przekierowanie ich do serwera domowego z Home Assistantem. Jest to jednak bardzo skomplikowana forma, która nie tylko wymaga umiejętności z zakresu sieci i konsoli linuksowej, ale też jest mocno zależna od posiadanego routera oraz instalacji internetowej, bowiem nie wszyscy dostawcy internetowi pozwalają na otwieranie portów. Do tego dochodzą problemy związane z obsługą domeny, zwrotnego proxy oraz dynamicznego IP. W zakresie potrzeby otwierania portów możemy też powiedzieć sobie o tradycyjnych, bezpośrednich VPN-ach, na przykład Wireguard. Jest to rozwiązanie prostsze niż opisane wyżej, ale nadal zależne od routera i dostawcy internetowego.
W tym poradniku przedstawiłem Wam dwie wygodne formy konfiguracji połączenia zdalnego z domowym serwerem Home Assistant. Jedna z nich jest płatna, ale bardzo prosta i nieuciążliwa, a druga jest w pełni darmowa, ale wymaga korzystania z technologii VPN. Formy te jednak łączy wysoka kompatybilność, bowiem zadziałają bez znaczenia jaki wykorzystuje się domowy router czy u jakiego dostawcy ma się wykupioną usługę. Dowodem może być fakt, że maszyna testowa prezentowana na zrzutach ekranu jest uruchomiona na maszynie wirtualnej w trybie sieciowym NAT z użyciem internetu mobilnego LTE. Nie możemy też zapomnieć o wysokim bezpieczeństwie.
Kategoria: Poradniki