Home Assistant to jeden z kilku systemów, które pozwalają zbudować system inteligentnego domu niewielkim kosztem. Sam system jest darmowy i może być uruchomiony na systemach linuksowych. Zazwyczaj wykorzystywany jest w połączeniu z Raspberry Pi, jednak ja pokażę, jak system uruchomić na QNAP. Dlaczego? Przede wszystkim NAS z założenia działa całą dobę, a jednocześnie zapewnia wyższe bezpieczeństwo niż popularna malinka – skorzystamy tutaj m.in. z tego, że w NAS dyski działają w RAID, a więc nie musimy się martwić o żywotność karty SD. Również ewentualne uszkodzenie dysku twardego nie będzie stanowiło realnego zagrożenia dla naszego systemu. Standardowo home assistant jest uruchamiamy w kontenerze. I tutaj moglibyśmy skorzystać z aplikacji Container Station na QNAP, jednak pojawia pewne ograniczenie. Sam Home Assistant dostępny jest jako gotowy obraz docker, jednak nie ma on istotnego składnika – HASS.io. hass.io to dodatek do Home Assistant, tzw. Supervisor, który znacząco ułatwia zarządzanie i konfigurację systemu. 

Dlatego polecam instalację HASS.io w formie maszyny wirtualnej. Każdy QNAP, który ma CPU x86 – a więc modele z procesorami intel oraz AMD pozwalają na uruchomienie maszyn wirtualnych. Funkcja dostępna jest bez dodatkowych kosztów, a jednocześnie pozwala uruchomić niezależne systemy działające na naszym NAS. Uruchomienie HASS.io w maszynie wirtualnej będzie miało jeszcze jednej ogromny plus – będziemy mieć pełny dostęp przez SSH do konfiguracji systemu oraz plików, co również w przyszłości może nam się przydać. Szczególnie w przypadku błędnych konfiguracji. I ostatni plus – maszynę wirtualną możemy backupować oraz możemy dla niej wykonywać snapshoty. Dzięki temu przed każdą aktualizacją systemu będziemy mogli się zabezpieczyć na wypadek, gdyby coś poszło nie tak.

W części pierwszej skupimy się na przygotowaniu środowiska pracy na QNAP, a więc skonfigurujemy sieć, utworzymy maszynę wirtualną oraz zainstalujemy system Ubuntu w wersji server.

  1. Konfigurację musimy rozpocząć od instalacji aplikacji Virtualization Station, którą znajdziemy w App Center. Najłatwiej w polu wyszukiwania wpisać Virtualization Station. Następnie klikamy Instaluj i czekamy na zakończenie procesu.
  2. Po instalacji możemy ją od razu uruchomić, jednak polecam wcześniejszą konfigurację sieci. W tym celu przechodzimy w Menu głównym do aplikacji Sieć i przełącznik wirtualny:
  3. Następnie przełączamy tryb widoku na Advanced i przechodzimy do Virtual Switch, gdzie klikamy Add
  4. W nowym okienku klikamy Advanced Mode
  5. Kolejny krok pozwala nam przypisać wirtualny przełącznik do wybranego interfejsu sieciowego. Jeśli mamy aktywny tylko jeden interfejs, pozostawiamy zaznaczony domyślny i klikamy Next.
  6.  Ten krok jest bardzo ważny. Tworzymy wirtualny przełącznik, który będzie powiązany z fizyczny, portem sieciowym QNAP. Dlatego musimy zadbać o poprawną konfigurację, aby dalej mieć dostęp do naszego NASa:) W tym kroku najlepiej ustawić konfigurację tak, jak mieliśmy do tej pory dla wybranego w poprzednim kroku interfejsu. Jeśli adres był przydzielany automatycznie przez serwer DHCP, tak zostawiamy też tutaj. Jeśli wcześniej konfigurowaliśmy adres ręcznie – tutaj też ustawiamy ręcznie statyczny adres. Jest to ważne, ponieważ wirtualny switch ma mieć taki sam adres jak wcześniej interfejs sieciowy. Po konfiguracji przechodzimy dalej.
  7. W widocznym oknie nie zaznaczamy żadnej z opcji, ponieważ chcemy, aby maszyna wirtualna działała w naszej sieci LAN, a nie w wewnętrznej stworzonej przez QNAP.
  8. Następny krok pozwala na konfigurację adresu IPv6, jednak w sieci lokalnej nie będzie on nam potrzeby, więc najlepiej wyłączyć obsługę IPv6 dla nowotworowego przełącznika.
  9. I ostatni krok konfiguracyjny – definiujemy, z jakiego DNS ma korzystać wirtualny przełącznik (i nasz interfejs sieciowy). Najlepszą opcją jest pozostawić ustawienia domyślne.
  10. Po ustawieniu wszystkich parametrów zobaczymy podsumowanie po czym zostanie utworzony wirtualny przełącznik. Teraz możemy przystąpić do tworzenia maszyny wirtualnej.

Konfiguracja maszyny wirtualnej

Po skonfigurowaniu ustawień sieciowych, wracamy do aplikacji Virtualization Station. Jednak zanim utworzymy maszynę, warto przygotować wcześniej miejsce, w którym zapisywane będą maszyny wirtualne. W tym celu skorzystamy z aplikacji File Station:

Tutaj klikamy w dowolny folder widoczny po lewej stronie, a następnie w przycisk tworzenia nowego folderu. Z menu wybieramy Folder współdzielony. Oczywiście, możemy pliki maszyny wirtualnej umieścić w dowolnym katalogu, jednak dla wygody i separacji plików, warto do tego celu przygotować osobne miejsce.

Ja zwykle używam nazwy VM, ale ta nazwa oczywiście nie będzie miała większego znaczenia – po prostu warto ustawić taką, która będzie łato identyfikowała, co w tym katalogu jest umieszczone 😉

W oknie tworzeni folderu współdzielonego nie musimy zmieniać innych ustawień – domyślne są w zupełności wystarczające, aby maszyna mogła został utworzona i uruchomiona.

Druga ważna sprawa, to pobranie odpowiedniego obrazu systemu z Internetu. Polecam skorzystanie z systemu Ubuntu w wersji Server, dla którego konfiguracja jest stosunkowo łatwa. Drugi argument to niskie wymagania podstawowego systemu, więc maszyna wirtualna nie będzie mocno obciążała urządzenia. Tutaj oczywiście znowu – można wybrać według preferencji, ja zostanę przy wersji Ubuntu Server 18.04 LTS, które można pobrać stąd: https://releases.ubuntu.com/18.04.4/ a plik kopiujemy do katalogu VM.

No dobrze, wszystko mamy, więc przystępujemy do konfiguracji maszyny wirtualnej. W tym celu w Virtualization Station klikamy przycisk Utwórz VM.

W nowym oknie musimy skonfigurować określone parametry:

  • Nazwa VM – ustalamy nazwę, pod którą widoczna będzie nasza maszyna wirtualna
  • Opis – opcjonalne pole, w którym możemy dodać opis naszej maszyny
  • Typ systemu operacyjnego – tutaj wybieramy Linux. W ten sposób część parametrów konfiguracyjnych zostanie automatycznie dopasowana dla takiego systemu
  • Wersja – wybieramy najbardziej zgodną/zbliżoną do naszego systemu. 
  • Rdzenie procesora – na razie ustawmy 1 rdzeń, na początek w zupełności wystarczy
  • Pamięć – ilość pamięci RAM przypisanej do maszyny wirtualnej. Uwaga – jeśli ustawimy tutaj określoną wartość, o tyle mniej RAM będzie dostępnego dla systemu NAS i innych aplikacji. I tutaj podobnie jak wyżej – domyślna wartość, czyli 1GB na początek wystarczy.

Uwaga – oba parametry będzie można później zmienić.

  • Obraz CD – wybieramy plik ISO pobranego systemu (u mnie Ubuntu Server 18.04)
  • Lokalizacja dysku twardego – miejsce, gdzie zostanie zapisany plik z dyskiem maszyny wirtualnej. Tutaj wskazujemy folder utworzony wcześniej. 
  • Pamięć masowa na dyskach twardych – określamy, jak duży będzie dysk twardy.

Następnie w części „Sieć” musimy wskazać wirtualny przełącznik, który utworzyliśmy wcześniej w aplikacji „Sieć i przełącznik wirtualny”. Dodatkowo, warto utworzyć hasło VNC, które będzie dodatkowym zabezpieczeniem przed nieuprawnionym łączeniem do konsoli maszyny wirtualnej przez przeglądarkę.

Na tym etapie klikamy OK i po chwili zobaczymy na liście utworzoną maszynę wirtualną. Klikamy przycisk „Start” po czym okienko z widokiem maszyny wirtualnej – zostaniemy przekierowani do nowej karty, w której będziemy mieli bezpośrednie połączenie z maszyną wirtualną. 

  1. Instalacja systemu jest stosunkowo prosta i każdy powinien sobie poradzić bez problemu, bo na dobrą sprawę wystarczy przechodzić kolejne okna zostawiając ustawienia domyślne. Po uruchomieniu systemu musimy wybrać język. Możemy zostawić angielski, ale też możemy wybrać polski. 
  2. Następnie wybieramy układ klawiatury:
  3. W kolejnym kroku musimy wskazać typ instalacji. Interesuje nas instalacja lokalna, więc wybieramy „Zainstaluj Ubuntu”

Kolejny krok to konfiguracja sieci. Uwaga – jeśli korzystamy w sieci z serwera DHCP, zostanie tutaj wyświetlony adres maszyny wirtualnej przypisany przez DHCP. To jest adres, pod którym będzie dostępny nasz Home Assistant. Dlatego warto zadbać o to, aby system miał adres statyczny. Możemy to zrobić na dwa sposoby – albo tutaj ustawiamy ręcznie adres statyczny, albo konfigurujemy router, aby przydzielał określony adres IP do naszej maszyny. Uwaga 2 – to jest zupełni inny adres niż ten, który konfigurowaliśmy w przełączniku wirtualnym. Tam ustawialiśmy adres naszego NAS, tutaj konfigurujemy adres samej maszyny wirtualnej.

Kolejne dwa kroki w większości przypadków możemy zostawić domyślne. Jeśli używać w sieci proxy, raczej nie potrzebujesz korzystać z tego poradnika 😉

Następnie musimy skonfigurować dysk maszyny wirtualnej. W tym wypadku zostawimy opcję domyślną, czyli Użyj całego dysku.

Dalej wybieramy dysk – zobaczymy tutaj jeden dysk, który będzie miał taką pojemność, jak wcześniej określiliśmy podczas konfigurowania maszyny wirtualnej. W kolejnym kroku klikamy Wykonano.

I zapisujemy zmiany na dysku – zwróćcie uwagę, jak ładnie zostało to opisane po polsku – „destrukcyjne działanie” 🙂

Przechodząc dalej, musimy utworzyć użytkownika dla naszego wirtualnego systemu. Nie będzie to użytkownik samego Home Assistant, tylko użytkownik Ubuntu. Warto zapisać tę nazwę użytkownika i hasło, ponieważ będziemy z nich w późniejszym czasie nie raz korzystać.

Następnie system wyświetla usługi, które możemy automatycznie zainstalować. Nie zaznaczamy żadnych z nich, ponieważ wszystko skonfigurujemy później w systemie.

Teraz musimy poczekać kilka minut, aż system zostanie zainstalowany.

Po zakończeniu instalacji system będzie musiał zostać ponownie uruchomiony, więc wciskamy Enter na klawiaturze, po czym będzie trzeba ten klawisz wcisnąć jeszcze raz (zobaczymy na ekranie odpowiedni komunikat).

I tyle. System został zainstalowany, po czym uruchomi się ponownie. Teraz będziemy mogli przejść do kolejnego etapu, czyli instalacji niezbędnych pakietów i HASS.io. Ale tym zajmiemy się już w kolejnej części.