Instalacja Home Assistant, czyli początek twojego inteligentnego domu

Autor: Martin Szelcel 9 min. czytania Instalacja Home Assistant, czyli początek twojego inteligentnego domu

Home Assistant jest niesamowity. To oprogramowanie, które działa jak jeden wielki system sterowania wszystkimi inteligentnymi akcesoriami w domu. Wspierane jest ponad tysiąc urządzeń wielu różnych producentów. A oprócz samego kontrolowania urządzeń Home Assistant pozwala na tworzenie nawet bardzo zaawansowanych automatyzacji. Projekt ciągle prężnie się rozwija, tworzone są nowe integrację, które pozwalają na połączenie kolejnych urządzeń. Co w tym wszystkim najlepsze Home Assistant to oprogramowanie darmowe i otwarte, co znaczy że cały kod jest publicznie dostępny, każdy może go modyfikować i wprowadzać ulepszenia. System został zaprojektowany pod kątem prywatności i lokalnej kontroli (co oznacza, że nikt z zewnątrz nie dostępu do zbieranych przez niego informacji). Dostęp do systemu można uzyskać za pomocą przeglądarki, lub oficjalnych aplikacji na iOS i Androida.

Jak zainstalować Home Assistanta?

Home Assistant może zostać zainstalowany na kilka różnych sposobów. W tym poście, bazując na oficjalnej stronie, pokażę jak to zrobić na zwykłym komputerze (platforma x86-64) . Jeżeli jednak chcesz zainstalować Home Assistanta na urządzeniu takim jak Raspberry Pi, ODROID czy ASUS Tinkerboard skorzystaj proszę z instrukcji zamieszczonych na stronie Home Assistanta.

Home Assistanta możemy zainstalować na takiej platformie na trzy sposoby, jako cały system Home Assistant OS, w Dockerze oraz w maszynie wirtualnej. W tym poście przedstawie dwa pierwsze sposoby. Na czym polega różnica między nimi?

Home Assistant OS to w pełni zintegrowany system operacyjny. Zawiera minimalny system z wszystkim czego potrzebuje Home Assistant do działania. Każdy jego aspekt jest kontrolowany z poziomu Home Assistanta, co sprawia że nie mamy bezpośredniego dostępu do terminala i konta root. Sprawia to, że mamy małą kontrolę nad systemem operacyjnym i nie wykorzystamy go dodatkowo do innych celów niż Home Assistant. Jeżeli więc chcemy na naszym serwerze korzystać z innych usług i mieć nad nim pełną kontrolę powinniśmy skorzystać z drugiej opcji. Z drugiej strony, jeżeli jedyne na czym nam zależy to sam Home Assistant i po jego instalacji nie chcemy dotykać więcej terminala, powinniśmy się zdecydować na instalacje Home Assistant OS.

Trzeci sposób instalacji, czyli instalacja jako maszyna wirtualna łączy zalety obu tych rozwiązań daje nam pełną kontrolę nad naszym serwerem, ale tworzy odizolowane środowisko dla Home Assistanta, dzięki czemu nie koliduje on z żadnymi innymi serwisami. Jedynym kosztem jest nieco zmniejszona wydajność z powodu dodatkowej warstwy wirtualizacji. Więc jeśli już korzystasz z serwera pracującego na systemie Debian czy podobnym polecam Ci to rozwiązanie. Jak stworzyć taką wirtualną maszynę znajdziesz w tym wpisie poniżej. Jeśli to pierwszy raz kiedy będziesz korzystał z Home Assistanta warto abyś po pomyślnej instalacji wrócił tutaj do sekcji Pierwsze kroki z Home Assistantem, która pomoże ci z początkową konfiguracją.

Instalacja Home Assistant OS jako wirtualna maszyna na Debianie
Zdecydowanie najwygodniejszym sposobem na uruchomienie Home Assistanta w twoim domu jeśli już masz istniejący serwer pracujący na Debianie jest uruchomienie Home Assistant OS jako wirtualna maszyna. Dzięki temu Home Assistant będzie działał w całkowicie odizolowanym środowisku od całej reszty twojeg…

Instalacja Home Assistant OS

Cały proces instalacji Home Assistant OS polega na przeniesieniu przygotowanego obrazu na dysk, z którego komputer będzie się uruchamiał. Możemy to zrobić na dwa sposoby. Pierwszym z nich będzie podłączenie dysku z serwera do innego komputera np. poprzez przejściówkę SATA do USB i wgranie na niego obrazu. Ale jeżeli nie masz takiej możliwości sprawdź metodę Live Boot, która znajduję się poniżej. W celu wgrania obrazu na dysk skorzystamy z programu balenaEtcher, który możemy pobrać z oficjalnej strony.

Po otwarciu programu balenaEtcher wybieramy opcję "Flash from URL". Teraz potrzebujemy linka do obrazu systemu. Najnowszy obraz znajdziemy na Githubie projektu. Na dole najnowszego wydania znajdziesz listę obrazów. My potrzebujemy obrazu o nazwie "haos_generic-x86-64-*.*.img.xz", gdzie w miejscu gwiazdek znajduje się wersja obrazu. Naciskamy prawym przyciskiem myszy na obraz i kopiujemy adres linku.

Podczas pisania tego posta link do najnowszego obrazu jest następujący:

https://github.com/home-assistant/operating-system/releases/download/6.1/haos_generic-x86-64-6.1.img.xz

Istnieje jednak szansa, że w momencie, w którym czytasz ten wpis wyszła nowsza wersja systemu, dlatego polecam samodzielnie skopiować linka z Githuba.

Gdy mamy już nasz link wklejamy go do programu balenaEtcher, a następnie wybieramy dysk na który chcemy wgrać obraz i naciskamy przycisk "Flash!".

Program balenaEtcher

Po kilku minutach obraz systemu będzie znajdować się na docelowym dysku. Następnie montujemy dysk w serwerze i uruchamiamy go. Pamiętaj, żeby wyłączyć "Secure Boot" w BIOSie serwera aby Home Assistant OS mógł się uruchomić. Jeżeli wszystko się udało to po kilku minutach twój Home Assistant będzie dostępny pod adresem homeassistant.local:8123. Teraz pozostało ci skonfigurować twoją instalację i zaznajomić się z tym jak działa ten system. Wstęp do tego oprogramowania znajdziesz poniżej.

Metoda z Live Boot

Jeżeli nie chcemy przekładać dysku lub nie mamy do tego specjalnej przejściówki, możemy skorzystać z drugiego sposobu na instalacje. W tym celu będziemy potrzebować pustego pendrive'a (wszystkie dane znajdujące się na nim zostaną usunięte).

Następnie musimy pobrać dowolną dystrybucję Linuksa. Ja wybiorę Pop!_OS, który możesz pobrać z tej strony. Wystarczy, że naciśniesz przycisk "Download" a następnie wybierz wersję bez sterowników NVIDIA.

Po pobraniu obrazu wybierz go w programie balenaEtcher, wybierz twojego pendrive i naciśnij przycisk "Flash!" W ten sposób obraz systemu Pop!_OS zostanie wgrany na twojego pendrive.

Gdy mamy już gotowego pendrive, podłączamy go do serwera i uruchamiamy system. Upewnij się że opcja "Secure Boot" w BIOSie serwera jest wyłączona.

Po uruchomieniu systemu wchodzimy w przeglądarkę i ponownie pobieramy program balenaEtcher. Po uruchomieniu programu wykonujemy dokładnie takie same kroki jak powyżej, czyli wklejamy link do obrazu z Githuba do programu balenaEtcher, wybieramy dysk naszego serwera i naciskamy przycisk "Flash!". Pamiętaj, że wszystkie dane znajdujące się na wybranym dysku zostaną usunięte!

Instalacja Home Assistanta na systemie Debian w Dockerze (Supervised)

Ten sposób instalacji pozwoli nam zachować całkowitą kontrolę nad systemem operacyjnym serwera. Home Assistant będzie tylko jedną z aplikacji, którą będzie działać na naszym serwerze, nadal będziemy mogli instalować kolejne programy.

Do tej instalacji będziemy potrzebować serwera z systemem Debian:

Świetny system na serwer! Instalacja Debiana 10 w szczegółach.
Debian jest wolną dystrybucją systemu operacyjnego GNU/Linux. Jest to systemcechujący się bardzo wysoką stabilnością i niezawodnością. Ponadto Debian jestnie wymaga wielu zasobów i na start nie posiada wielu zbędnych pakietów. Dlategomyślę, że Debian jest idealnym systemem dla osób rozpoczynający…

Oraz zainstalowanego Dockera:

Install Docker Engine on Debian
Instructions for installing Docker Engine on Debian

Należy tutaj zaznaczyć, że ten sposób instalacji nie jest wspierany przez Home Assistant. Przez to, że proces instalacji jest bardziej wymagający, a użytkownik ma dostęp do terminala i może samodzielnie instalować inne oprogramowanie, może przypadkiem zepsuć coś w Home Assistancie. To dlatego jego twórcy nie chcą odpowiadać za takie instalacje. Mimo to, ja korzystam z takiej instalacji wraz z innymi usługami na serwerze typu Samba, Plex czy Adguard Home i nigdy nie miałem z nią problemów.

Będzie to tak zwana instalacja z Supervisorem, którą również znajdziemy na Githubie.

Instalacje zaczynamy od przejścia na konto root za pomocą następującego polecenia:

sudo su

Na początku musimy zainstalować pakiet jq, którego ta instalacja wymaga:

apt install jq

Następnie na Githubie znajdziemy polecenia, które musimy wpisać aby zainstalować Home Assistanta:

curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh
bash installer.sh

Instalator może nam zadawać pewnie pytania (np. o nadpisanie pliku /etc/network/interfaces), które zatwierdzamy wpisując "y" i naciskając przycisk enter.

Jeżeli instalacja się powiedzie otrzymamy następujący komunikat wraz z adresem pod który musimy przejść aby rozpocząć konfiguracje naszej instalacji.

[info] Home Assistant supervised is now installed
[info] First setup will take some time, when it's ready you can reach it here:
[info] http://192.168.122.17:8123

Pierwsze kroki z Home Assistantem

Konfiguracja systemu

Po wejściu na poprawny adres powinien pokazać się taki ekran:

Proces przygotowywania Home Assistanta może zająć nawet 20 minut, dlatego daj mu trochę czasu.

Teraz musimy utworzyć konto naszego użytkownika, wybierz sobie nazwę oraz hasło.

Następnie wybieramy naszą lokalizację oraz strefę czasową. Spokojnie, te informacje nigdy nie zostaną nigdzie przesłane poza twoją sieć domową.

Następnie możemy wyrazić zgodę na przesyłanie anonimowych informacji diagnostycznych, które pomagają rozwijać dalej Home Assistanta.

Kolejnym krokiem jest wybranie integracji. Możliwe, że Home Assistant już automatycznie wykrył obsługiwane urządzenia w twoim domu, wtedy zobaczysz je na tej liście. Inne integracje możemy dodać później, dlatego możemy zakończyć proces konfiguracji.

Pierwsze kroki w interfejsie

Po udanej konfiguracji nasz interfejs Home Assistanta będzie wyglądać mniej więcej tak.

Aby dodać nowe integracje wystarczy, że przejdziemy do zakładki Konfiguracja, a następnie wybierzemy integracje.

Z listy możemy wybrać jedną z wielu dostępnych integracji. Ja dla przykładu wybiorę Spotify.

Po zalogowaniu do Spotify integracja zostanie dodana. Zawiera ona jedną encję typu media_player. Wszystkie integracje, a za tym połączone urządzenia posiadają przypisany typ swoich encji, który pozwala na wykonywanie odpowiednich usług.

Dla przykładu przełącznik będzie typu switch i posiadał usługi takie jak turn_on, turn_off i toggle. Podobnie z lampą (light), która dodatkowo może posiadać ustawienia jasności oraz barwy.

Gdy przejdziemy do zakładki Rejestr encji, widzimy tutaj utworzoną encję wraz z jej typem i identyfikatorem.

Gdy wrócimy na główną stronę, możemy tutaj zobaczyć kartę, która została przygotowana dla naszej encji. Pokazuje ona jaki utwór jest aktualnie odtwarzany, pozwala zatrzymać, przewinąć utwór, a nawet zmienić playlistę.

W zakładce Narzędzia deweloperskie możemy wybrać z listy identyfikator naszej encji, dzięki czemu możemy zobaczyć jej stan, oraz wszystkie zgromadzone w niej informacje (np. o dostępnych źródłach, głośności i aktualnie odtwarzanym utworze).

W tej zakładce możemy również sprawdzić jakie usługi obsługuje nasza encja i je wywołać. Dla encji typu media_player dostępnych usług jest naprawdę dużo.

Kolejnym miejscem wartym uwagi jest sklep z dodatkami w zakładce Supervisor. Pozwala on na dodawanie nowych funkcji do naszego Home Assistanta.

Myślę, że resztę możliwości odkryjesz sam korzystając z interfejsu Home Assistanta, jest on naprawdę intuicyjny.

Teraz Home Assistant pozwoli ci na korzystanie z wszystkich informacji zbieranych przez encje, a co za tym idzie twoje inteligentne urządzenia, reagowania na ich zmiany oraz uruchamianie odpowiednich usług. Wszystko to możemy zrobić za pomocą automatyzacji. Dodatkowo system pozwali ci na zgromadzenie całego interfejsu sterowania twoim inteligentnym domem w jednym miejscu.

Jeżeli napotkałeś na jakieś problemy podczas tej instalacji, koniecznie zostaw komentarz poniżej :)


Icons made by xnimrodx from www.flaticon.com
Icons made by Freepik from www.flaticon.com