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.
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.
Utwórz plik o nazwie SSH na tej karcie, aby umożliwić podłączenie się do terminala urządzenia.
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.
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).
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.
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
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
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.
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
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:)
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.
Witam brakuje ikony supervisor jak ją dodać
Ikona supervisor pojawia się gdy superwizja jest zainstalowana w systemie. Są dwie opcje, jedna to zainstalowanie systemu dystrybucji hass.io (wersja podstawowa artykułu) lub doinstalować superwizje do Rasbiana (mniej zalecane przez autorów). Sugerowałbym pierwszą opcje jeśli zależy na superwizji (łatwe doinstalowywanie aplikacji).
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.
Marek
Jeśli chcesz mieć również supervisor zalecam wybranie wersji podstawowej artykułu.
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
artykuł dotyczy instalacji home assistant nie na systemie HASSIO ale raspbianie z karty.
podczas instalacji dokrea pojawił mi się taki błąd:
Process: 14044 ExecStart=/usr/sbin/dockerd -H fd:// $DOCKER_OPTS (code=exited, status=1/FAILURE)
czy wszystkie wpisywane komendy instalacji były poprzedzone słówkiem „sudo”?
warto jeszcze raz wykonać aktualizacje systemu poleceniem apt-get.
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.
najpewniej jest wykonać backup całego linuxa. Tutaj jest opisane jak to zrobić https://www.raspberrypi.org/documentation/linux/filesystem/backup.md
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.
Wówczas instalacja musiałaby wykluczyć użycie docker-compose.
Tutaj jest oficjalny skrypt, instalujący Home assistant na dockerze oraz supervisor.
https://github.com/home-assistant/supervised-installer
wszytsko poszło tak jak trzeba. kontener załadowany ale niestety nie moge uruchomić HA przez przegladarke. jakis pomysl ?
przede wszystkim sprawdzić logi. Zazwyczaj gdy coś poszło nie tak, wyświetlany jest stosowny komunikat w logach:
sudo docker-compose logs --follow
upewnij się czy próbujesz otworzyć stronę jako http(nie https)