Home Assistant i ZeroTier – Zdalny dostęp bez zewnętrznego IP, bez Nabu Casa

Dzień dobry. Jak zapewne prawie każdy – mam w domu internet 🙂 Cały problem w tym, że nie mam zewnętrznego adresu IP, nie chcę za niego dodatkowo płacić, a przydałoby się mieć dostęp do swojej infrastruktury będąc na wczasach, wyjeździe, w pracy.

Za czasów Domoticz postawiłem na dostęp przez Dataplicity i byłem z tego bardzo zadowolony: http://blog.asobczak.pl/2017/03/14/dataplicity-zdalny-dostep-do-raspberry-pi-i-przy-okazji-do-domoticz/. Jednak Dataplicity potrafi wyłącznie wyeksponować port 80, a na nim akurat teraz mam HABridge, który służy do obsługi Alexy.

Skoro można to było osiągnąć na Raspberry Pi i Domoticz, to czemu nie zrobić czegoś podobnego z Home Assistant?

W tym celu tym razem udałem się do ZeroTier – https://zerotier.com/. Tak, wiem, zewnętrzna firma, której pozwalam na przesyłanie mojego ruchu. Nie jest jednak mała, miliony podłączonych urządzeń – Wasza decyzja. Niektórzy się zdecydują, niektórzy wzdrygną z obrzydzeniem.

Procedura jest taka: 

– klient ZeroTier tworzy połączenie VPN (na przykład na naszym telefonie)

– po jego włączeniu klient pośredniczy (tworzy wirtualny kanał) w komunikacji z naszym Home Assistant

– na telefonie możemy korzystać ze strony www lub aplikacji HA na podanym przez ZeroTier adresie

Pierwsza i podstawowa sprawa – musicie założyć konto na ZeroTier. 

Tam wybrać plan, który Wam odpowiada – dla mnie jest wystarczający Basic, darmowy, dla jednego urządzenia. Poniżej dostępne jest generowanie Waszego prywatnego tokena, który będzie służył przy komunikacji z dodatkiem ZeroTier One po stronie Home Assistant. Zapisać, skopiować, za chwilę będzie użyty. Drugi raz nie będzie można go zobaczyć (ale oczywiście będzie można go skasować i założyć nowy).

Później przechodzimy do zakładki Networks. Założenie jest takie, że token określa kto się loguje, nazwa sieci – do jakiej sieci. As simple as that. Zapisać, zapamiętać.

Wszystko to dostępne pod adresem https://my.zerotier.com/network.
W środku strony mamy możliwość wyboru puli adresów, których można będzie użyć. To ważne, bo przecież różnie możecie mieć skonfigurowane Wasze sieci domowe. Ja wybrałem domyślną.

Poniżej bardzo ważny element – lista adresów klientów, którzy chcą się dostać do naszej sieci. I to my decydujemy o tym, czy mogą się zalogować do naszego kanału, czy nie. Robimy to check-boxem po lewej stronie. I to na na adres podany pod Managed IPs będziemy się logować czy to przez przeglądarkę, czy przez aplikację Home Assistant. Jednorazowo, później już autoryzacja będzie przeprowadzana automatycznie.
Skoro to gotowe – przechodzimy do Home Assistant i instalujemy z poziomu Supervisor -> Add-on store ZeroTier One.

W konfiguracji podajemy kod naszej sieci oraz kod naszego tokena.

Sprawdzamy konfigurację, zapisujemy, startujemy Add-on.

Teraz pora zająć się telefonem. U mnie jest to iPhone, także z AppStore ściągnąłem odpowiednią aplikację ZeroTier One.

W niej muszę podać moje Network ID, zapisać.

Później wystarczy włączyć dostęp VPN, poczekać na autoryzację…

I korzystać z dostępu! Czy to przez stronę, czy przez aplikację na iPhone.

Coraz lepiej to wszystko wygląda 😀