Home Assistant,  Inteligentny dom

Instalacja Home Assistant na Raspberry Pi 4 B

Jak zainstalować Home Assistant na Raspberry Pi 4 B? Jak go skonfigurować z Dockerem na Raspbian Buster? Brzmi kosmicznie? Nie daj się zwieść! Z zaplanujswojdom.pl opiszemy wszystko krok po kroku. Uruchomienie systemu, który będzie integrował wszystkie urządzenia w inteligentnym domu nie jest wcale takie trudne. Wystarczy skorzystać z Home Assistant na urządzeniu Raspberry Pi, które jest obecnie najpopularniejszym urządzeniem na rynku mini komputerów.

Jakie Raspberry Pi wybrać?

Najnowsze wydanie Raspberry Pi to wersja 4 B. Posiada on szybki procesor, więcej pamięci podręcznej (RAM) oraz szybsze interfejsy komunikacyjne. Jeśli ma być on sercem Twojego inteligentnego domu, lepiej zainwestować w lepszą wersję.

Po co stosować Dockera?

Jeśli planujesz korzystanie z większej ilości aplikacji na swoim urządzeniu powinieneś rozważyć obsługę wirtualizacji. Do tego celu popularnym narzędziem jest Docker. Po co nam to narzędzie? Wyobraźmy sobie, że jedna aplikacja ulegnie awarii. Umożliwia to zapewnienie stabilności pozostałych aplikacji w przypadku gdy jedna zawiedzie.

Wersja podstawowa – z użyciem Hass.io

Home Assistant posiada własną dystrybucje systemu operacyjnego o nazwie Hass.io. System ten ułatwia prawidłowe i wydajne działanie z aplikacją oraz jej szybkie wdrożenie. Jeśli podstawy obsługi Linuxa stanowią dla Ciebie wyzwanie, sugeruje wybranie właśnie tej drogi – jest ona mniej skomplikowana. Na blogu hejdom.pl zostało to opisane we wpisie Home Assistant – instalacja oraz sprzęt – od tego zacznij. Niestety minusem tego rozwiązania jest utrudniona ingerencja użytkownika. Instalacja dodatkowych aplikacji ograniczona jest tylko do tego co przewidzieli autorzy systemu (patrz. Hass.io addons). Więc jeśli przewidujesz niestandardowe rozszerzenia (na przykład obsługa multi-room w domu) możesz napotkać potem problemy. Przed skorzystaniem z Hass.io należy zatem zastanowić się, czy będziemy chcieli nasz system w późniejszym czasie rozszerzać.

Wersja rozszerzona – z użyciem Dockera oraz Linuxa

Poniżej przybliże, jak zainstalować Assistanta z użyciem Dockera na Linuxie dedykowanym do Raspberry Pi – Raspberry Pi OS. Jest to wersja trudniejsza instalacji naszego systemu inteligentnego domu.

Z urządzeń będzie potrzebne nam Raspberry Pi 4 B. Sprawdź, czy są na nim zamontowane trzy radiatory. Jest to bardzo ważne, ponieważ malinka (potoczna nazwa Raspbery Pi) ma mocny procesor, który szybko podnosi temperaturę. Będziemy potrzebować jeszcze kartę pamięci SD o pojemności minimum 32GB (rekomendacja dla Home Assistant) możliwie najlepszej jakości oraz dobry zasilacz, ponieważ wpływa on na żywotność karty pamięci.


User:Kontos [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)] Raspberry Pi 4 w przeciwieństwie do swoich poprzedników zawiera już złącze USB typu C, możesz na czas instalacji użyć swojej ładowarki do smartphona zgodnego z tym typem. Jednak przy montażu na stale polecam zaopatrzyć się w lepszy zasilacz, minimum 3 Amperowy.

Przygotuj kabel Ethernet (skrętka komputerowa ze standardowymi wtyczkami RJ-45), aby mieć możliwość podłączenia urządzenia do swojego routera. W przypadku gdy nie posiadasz dostępu do panelu administracyjnego routera lub nie wiesz jak znaleźć adresy IP podłączonych urządzeń w lokalnej sieci, proponuję przygotować aplikację Zenmap (bazuje na nmap).

Do dzieła!

Pobierz Raspberry Pi OS, zainstaluj i uruchom, następnie wskaż rodzaj systemu operacyjnego oraz kartę pamięci.

Instalator Raspberry Pi OS dla Windows
Instalator Raspberry Pi OS dla Windows

Utwórz plik o nazwie SSH na tej karcie, aby umożliwić podłączenie się do terminala urządzenia.

Plik SSH na partycji boot karty pamięci z obrazem Raspbiana do Raspberry Pi
Plik SSH na partycji boot karty pamięci

Włóż kartę pamięci do urządzenia Raspberry Pi 4 B a następnie za pomocą kabla internetowego podłącz urządzenie do swojego routera.

Czas podłączyć Raspberry do zasilania. Ważne aby odczekać parę minut, żeby urządzenie prawidłowo załadowało potrzebne pliki.

Za pomocą programu Zenmap przeszukaj swoją sieć. Do tego celu musisz poznać adres IP swojego laptopa podłączonego do tej samej sieci. Następnie ostatnią liczbę zamień na gwiazdkę *, na przykład 192.168.0.45 -> 192.168.0.* i wpisz do pola Cel (Target) programu Zenmap.


User:Kontos [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)] Adres IPv4 swojego komputera znajdziesz w ustawieniach karty sieciowej lub za pomocą wiersza poleceń Windows. Dostęp do wiersza poleceń uzyskasz po wciśnięciu kombinacji klawiszy Windows + R i wpisaniu cmd. Adres IP znajdziesz w resultacie komendy ipconfig.

Odszukaj Raspberry Pi i zapamiętaj adres IP (w moim przypadku jest to 192.168.0.67).

Przeszukiwanie sieci lokalnej w poszukiwaniu Raspberry Pi 4 B
Skanowanie sieci lokalnej w poszukiwaniu urządzenia

Aktualizacja

Już na początku naszych działań warto zaktualizować system Raspbian.

Aby to zrobić, musisz zalogować się do terminala – wiersza poleceń na Linuxie (na przykład za pomocą programu Putty). Wprowadź zapamiętany wcześniej adres IP oraz wybierz protokół SSH.

Łączenie się z terminalem Raspberry Pi 4 B
Konfiguracja połączenia SSH w Putty

Połącz się z użyciem loginu pi oraz hasła raspberry. Jest to domyślne hasło systemu Raspbian, należy je w późniejszym etapie zmienić za pomocą polecenia passwd.

Wykonaj aktualizacje za pomocą następujących komend. W przypadku gdy zostaniesz zapytany o zgodę na instalacje, wciśnij klawisz Y.

sudo apt-get update
sudo apt-get upgrade

Instalacja Dockera oraz Home Assistanta

Chcemy aby nasza aplikacja Home Assistant (a w przyszłości kolejne) działała w wirtualnym kontenerze (odizolowanym środowisku). Do tego potrzebny jest nam Docker. Zainstalujesz go za pomocą następującej komendy:

sudo apt-get install docker.io docker-compose

Następnie urządzenie powinno zostać zrestartowane, najlepiej wykonać to za pomocą polecenia:

sudo reboot

Teraz trzeba przygotować folder, żeby skonfigurować Home Assistanta:

mkdir ~/home-assistant

Teraz możemy wreszcie przystąpić do konfiguracji kontenera. W tym celu trzeba stworzyć plik docker-compose.yml w katalogu domowym. Możesz zrobić to za pomocą edytora nano:

nano docker-compose.yml

z zawartością:

version: '3'
services:
  homeassistant:
    container_name: home-assistant
    image: homeassistant/raspberrypi4-homeassistant:stable
    volumes:
      - /home/pi/homeassistant:/config
    environment:
      - TZ=Europe/Warsaw
    restart: always
    network_mode: host


User:Kontos [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)] Plik posiada rozszerzenie .yml, które wskazuje na zachowanie odpowiedniej struktury pliku. Przede wszystkim zwróć uwagę na ilość spacji w wcięciach. Z plikami YAML spotkasz się wielokrotnie przy konfiguracji Home Assistanta. Jest to bardzo dobre rozwiązanie, ponieważ zwiększa czytelność pliku.

Warto wiedzieć

Najważniejsze parametry kontenera:

container_name - nazwa własna kontenera
image -  nazwa obrazu, który ma być pobrany i używany. Istnieje więcej wersji aplikacji, na przykład wersja 64 bitowa, w tej chwili może nie być stabilna, więcej wersji znajdziesz na https://hub.docker.com/u/homeassistant
volumes - mapowanie ścieżek z systemu macierzystego do kontenera, w naszym przypadku zmapowaliśmy folder (który wcześniej utworzyliśmy) z folderem config w kontenerze.
environment - parametry przekazywane do aplikacji. Zmienna TZ zawiera informacje o strefie czasowej.
restart - czy w przypadku awarii kontener powinien uruchomić się jeszcze raz oraz czy powinien być uruchomiony przy uruchomieniu urządzenia.
network_mode - tryb pracy sieci. 

Pierwsze uruchomienie Home Assistanta

Aby móc zainstalować i skonfigurować Home Assistanta trzeba uruchomić kontener poleceniem:

sudo docker-compose up -d

Jest to długi proces, ponieważ pobierany jest obraz Home Assistanta a następnie wykonywane jest pierwsze uruchomienie systemu.

Przydatne komendy Dockera:

sudo docker-compose logs -f  - zobacz aktualne logi z kontenera
sudo docker-compose ps - wyświetla statusy kontenerów
sudo docker-compose images - wyświetla informacje o załadowanych obrazach kontenerów

Prawidłowe uruchomienie skutkuje możliwością połączenia się z panelem konfiguracyjnym po wcześniejszym wpisaniu adresu IP swojego urządzenia wraz z portem 8123 w przeglądarce internetowej. W moim przypadku jest to http://192.168.0.67:8123

Onboarding Home Assistant na Rasperry Pi 4 B
Ekran powitalny systemu Home Assistant

Udało Ci się przejść ze mną do tego etapu? Jeśli tak, to świetnie! Postępuj zgodnie z zaleceniami konfiguratora, aby utworzyć konto administratora. Na końcu powinieneś ujrzeć kokpit Home Assistanta.

Widok panelu Home Assistant na Raspberry Pi 4 B
Kokpit Home Assistant

Co dalej?

Od teraz możesz konfigurować swoje urządzenia. Możesz zrobić to z poziomu przeglądarki internetowej, jednak wiążą się z tym pewne ograniczenia. Najlepiej wykonać to poprzez edycję pliku configuration.yaml z poziomu terminala.

sudo nano ~/homeassistant/configuration.yaml
Edycja pliku konfiguracyjnego Home Assistant
Początkowa zawartość pliku konfiguracyjnego

Jak skonfigurować urządzenia opiszę w następnym wpisie.


Jeśli podczas instalacji Home Assistant na Raspberry Pi 4 napotkałeś problemy – podziel się tym z nami! Wspólnymi siłami rozwiejemy wątpliwości a tym samym przybliżymy możliwe rozwiązania dla innych osób, które chcą w samodzielny sposób stworzyć inteligentne zarządzanie własnym domem:)

5 2 votes
Article Rating
Subscribe
Powiadom o
15 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments
Daniel
4 lat temu

Bardzo dobra instrukcja. Bez problemu przeszedłem wszystko co w niej opisane. Zabrakło mi jedynie informacji, że idąc tym trybem, rezygnując z hass.io rezygnujemy jednocześnie z masy przewidzianych addonsów (ja tego nie wiedziałem). One jednak mega ułatwiają dodanie różnych funkcjonalności – np. dodanie klienta mqtt. Dlatego chyba jednak zdecyduję się na hass.io.

szybki946
3 lat temu

Witam brakuje ikony supervisor jak ją dodać

Marek
3 lat temu

Witam. Mam pytanie czy można uruchomić supervisor w HA lub hassio dla Pi4
podmieniając image? I kluczowe jeśli tak – jaki linkiem należy zastąpić istniejący zapis.
Z góry dzięki za pomoc.

version: '3'
services:
  homeassistant:
    container_name: home-assistant
    image: homeassistant/raspberrypi4-homeassistant:stable
    volumes:
      - /home/pi/homeassistant:/config
    environment:
      - TZ=Europe/Warsaw
    restart: always
    network_mode: host

Marek

Piotr
3 lat temu

Niestety nie jestem w stanie zainstalować HASSIO z usb, o ile instalacja raspbian z karty, potem udate, zmiana bootowania i ponowna instalacja raspbiana na usb idą bez problemów, o tyle hassio z karty się instaluje, ale już z usb nie pójdzie

Radek
3 lat temu

podczas instalacji dokrea pojawił mi się taki błąd:
 Process: 14044 ExecStart=/usr/sbin/dockerd -H fd:// $DOCKER_OPTS (code=exited, status=1/FAILURE)

2 lat temu

Siema, zainstalowałem HA w Docker według instrukcji powyżej. Wszystko gra i śmiga aż miło (przesiadka z Domoticz). Szkoda, że ta wersja nie ma supervisor ale trudno. Bardziej ciekawi mnie – jak mogę zrobić backup HA w tej wersji – jakie mam możliwości? Prośba o pomoc.

Jacek
2 lat temu

Witam, zainstalowałem HA w Docker według instrukcji powyżej. Wszystko działa, trochę to nowe i dziwne. Zauważyłem że ta wersja nie ma supervisor, może da się jakoś to doinstalować? Ułatwiło by to instalację niestandardowych „pakietów” np. do backupu na google drive.

Jakub
2 lat temu

wszytsko poszło tak jak trzeba. kontener załadowany ale niestety nie moge uruchomić HA przez przegladarke. jakis pomysl ?

15
0
Would love your thoughts, please comment.x