Ostatnio wyjaśnialiśmy sobie czym jest Home Assistant, a więc przyszedł czas na przedstawienie jak tę platformę zainstalować u siebie w domu!
Instalacja Home Assistant jest prosta, ale wymaga wykonania kilku czynności. Pierwszym krokiem jest wybór odpowiedniego sprzętu, który to będzie mógł pełnić rolę serwera. Często do tego działania kupowane są komputery SBC (Single Board Computer) pokroju Raspberry Pi. Można również wybrać inny komputer SBC, na przykład Orange Pi lub Banana Pi.
Popularną czynnością (a przynajmniej w ostatnim czasie) jest też instalacja HA na używanych/poleasingowych komputerach klasy Mini PC, które – w porównaniu do SBC – są większe i zużywają więcej prądu, jednak na tle innych komputerów x86 i tak wyróżniają się niewielkimi wymiarami oraz energooszczędnością. Na urządzenia z procesorami x86 (czyli Intel lub AMD) wydano także Home Assistant OS (o którym powiemy sobie później). Tutaj dodam, że rolę serwera może także pełnić laptop czy starszy komputer stacjonarny. Wszak serwer, to po prostu komputer, na którym uruchomione są jakieś serwisy.
Sporym ułatwieniem jest też zakup Home Assistant Green. Jest to wydany przez twórców Home Assistanta komputer SBC, który został dostosowany do tej platformy i od razu po zakupie oferuje właśnie Home Assistant OS – wystarczy urządzenie wypakować z pudełka i podłączyć do sieci za pomocą przewodu Ethernet.
Od razu tutaj zaznaczę, że jak ktoś zdecyduje się na Home Assistant OS, to nie dotyczy go kwestia wyboru systemu operacyjnego (wszak jest to system operacyjny sam w sobie). Jeśli jednak ktoś zechciałby zainstalować HA inną formą dystrybucji, to sam polecam wybrać taki system, który cechuje się wysoką stabilnością oraz długim czasem wsparcia. Dobrym wyborem będzie Ubuntu Server LTS, Debian czy Rocky Linux (wszystkie wymienione są dostępne za darmo). W tym poradniku będę bazował na Ubuntu Server 22.04 LTS, ale pominę proces instalacji, ponieważ ten jest indywidualny dla każdej dystrybucji. Od razu dodam, że warto instalować system bez środowiska graficznego (czyli z samą konsolą, interfejsem tekstowym), a komputer należy podpiąć do sieci poprzez połączenie przewodowe.
Home Assistant – jak to bywa w świecie Open Source – można zainstalować na wiele sposobów. Dzisiaj zaprezentuje Wam dwie uniwersalne platformy oraz wspomnę o trzech dodatkowych, które mogą przykuć Waszą uwagę.
Dlaczego te dwie metody nazwałem uniwersalnymi? Ponieważ można z nich skorzystać bez znaczenia jaki system operacyjny wybraliśmy (w domyśle: Linux) oraz architekturę procesora (czy to ARM w komputerach SBC, czy procesory Intela/AMD w PC).
Chciałbym zacząć od metody najprostszej (przynajmniej moim zdaniem). Mowa tu o instalacji Home Assistanta w wersji Snap, czyli za pomocą menedżera pakietów Snap. Metoda ta jest często zapominana przez fanów Home Assistanta, a szkoda, ponieważ naprawdę jest wygodna. O tym menedżerze wspomnieliśmy sobie przy okazji omówienia oprogramowania Mosquitto i warto przypomnieć, że to rozwiązanie przygotowane przez Canonical, twórców systemu Ubuntu. A więc jeśli zainstalowaliście u siebie Ubuntu Server, to prawdopodobnie macie już zainstalowaną obsługę Snap. Jeśli jednak Snap nie jest dostępny, to proces instalacji tego menedżera pakietów jest bardzo prosty – zarówno na Ubuntu, jak i na innych dystrybucjach.
sudo apt update
sudo apt install snapd
Po instalacji Snapa warto komputer zrestartować.
Następnie możemy zainstalować Home Assistanta. Jak? To proste! Wystarczy poniższa komenda.
sudo snap install home-assistant-snap --channel=latest/stable
Prawdopodobnie Home Assistant uruchomi się automatycznie, ale warto jeszcze wpisać poniższe komendy. Pierwsza sprawia, że oprogramowanie będzie automatycznie uruchamiało się z każdym startem systemu. Druga natomiast faktycznie uruchamia Home Assistanta w danym momencie.
sudo snap enable home-assistant-snap
sudo snap start home-assistant-snap
I to już! Wystarczy na komputerze lub smartfonie uruchomić przeglądarkę internetową i wpisać <lokalny_adres_ip_serwera>:8123
(np. 192.168.1.193:8123), aby przejść do Home Assistanta i go skonfigurować.
Niestety, wersja Snap ma dwa minusy. Pierwszym jest brak dostępu do HACS (Home Assistant Community Store). Nie jest to moduł wymagany, ale często pomocny, a jego brak tutaj może przeszkodzić. Drugim problemem jest rzadkość aktualizacji. Niestety, twórcy pakietu bardzo rzadko go aktualizują i nowa wersja (a warto dodać, że duże aktualizacje Home Assistanta są wydawane co miesiąc) pojawia się z kilkutygodniowym opóźnieniem względem faktycznych wydań. Snap jednak rewanżuje się prostotą, wygodą i stabilnością.
Home Assistant Docker cieszy się ogromną popularnością, otwartością na modyfikacje, a także szybkością aktualizacji. Duży w tym udział ma sama wysoka rozpoznawalność Dockera, czyli oprogramowania do konteneryzacji. W tym artykule jednak nie będę się wdawał w szczegóły czym konteneryzacja jest (warto jednak zaznaczyć, że w sporej części jest to cecha dzielona ze Snapem), a skupię się na samym Home Assistantcie.
Najpierw należy Dockera zainstalować. Jest to proces całkiem prosty, ale nie aż tak jak w przypadku Snapa. Twórcy udostępniają poradniki dla wielu różnych dystrybucji >>tutaj<<, a dzisiaj skupię się na samym Ubuntu. Aktualny poradnik pokazujący instalację Dockera na Ubuntu znajdziecie >>tutaj<<.
W zasadzie należy najpierw wpisać poniższe komendy.
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dla sprawdzenia możemy pobrać obraz hello-world
testujący zgodność konfiguracji oprogramowania.
sudo docker run hello-world
Warto sobie jeszcze przestawić działanie, aby Docker mógł pracować bez dopisku sudo
.
sudo groupadd docker
sudo usermod -aG docker $USER
Doinstalujemy sobie jeszcze pakiet do obsługi Docker Compose. Compose daje nam możliwość korzystania z plików tekstowych YAML opisujących cechy tworzonego kontenera. To nam znacznie ułatwi obsługę Dockera.
sudo apt install docker-compose
Warto jeszcze dodać instrukcje odpowiedzialne za to, aby Docker sam uruchamiał się wraz ze startem systemu.
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
W tym momencie należy wykonać restart komputera.
Po tym kroku możemy przejść do faktycznej instalacji Home Assistanta. Zaczniemy od utworzenia oddzielnego katalogu, w którym znajdą się wszelkie pliki związane z aplikacją. Ostatnia komenda sprawi, że przejdziemy do utworzonego folderu.
mkdir ~/Docker
mkdir ~/Docker/Home-Assistant
cd ~/Docker/Home-Assistant
Następnie tworzymy pusty plik i uruchamiamy jego edycję.
touch compose.yaml
nano compose.yaml
Wklejamy poniższą zawartość. Jest to opis kontenera wraz z Home Assistantem, który ma się utworzyć i uruchomić.
version: '3'
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- ./opt/homeassistant/config:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
privileged: true
network_mode: host
Warto wspomnieć o polu w kategorii volumes
. Pierwsza instrukcja sprawi, że w tym samym katalogu, co znajduje się plik compose.yaml
, utworzy się również folder z plikami Home Assistanta. To znacznie ułatwia tworzenie kopii zapasowych i przenoszenie. Drugą, wartą odnotowania instrukcją jest restart
. Dzięki ustawieniu unless-stopped
Home Assistant będzie sam się uruchamiał z każdym startem systemu, o ile sami nie wydamy dokładnej komendy, że ma zostać wyłączony.
Możemy teraz plik zapisać za pomocą Ctrl+S
oraz wyjść z edytora Ctrl+X
. Kontener uruchomimy poniższą instrukcją.
docker compose up -d
I to w zasadzie tyle! Wystarczy na komputerze lub smartfonie uruchomić przeglądarkę internetową i wpisać <lokalny_adres_ip_serwera>:8123
, aby przejść do Home Assistanta i go skonfigurować.
Są jeszcze alternatywne drogi instalacji Home Assistanta, jednak nie zostały one dokładnie opisane przez wzgląd na brak uniwersalności.
Jest to wersja, z którą sam spędziłem najwięcej czasu i sprawdza się bardzo dobrze. Jednakże Yunohost to pełnoprawne i kompleksowe oprogramowanie do self-hostingu (praktyka polegająca na tym, że użytkownik samodzielnie utrzymuje i zarządza swoimi własnymi serwerami lub innymi zasobami informatycznymi, zamiast polegać na usługach zewnętrznych dostarczanych przez firmy hostingowe czy dostawców chmurowych) z ogromnymi możliwościami. Jednak Yunohost wymaga Debiana 11 oraz szczególnej charakterystyki sieci domowej. Ponadto, instalacja Yunohosta tylko dla samego Home Assistanta wydaje się być przesadzona i zbyt inwazyjna.
CasaOS to w pewnych kwestiach oprogramowanie podobne do Yunohost, gdzie też dostępny jest Home Assistant. Jednakże jest również rozwiązaniem inwazyjnym i stworzonym do czegoś więcej niż tylko do samego Home Assistanta. Ponadto, CasaOS w rzeczywistości wykorzystuje Dockera, którego wcześniej sobie opisaliśmy.
Jest to rozwiązanie, o którym wspomniałem już na początku wpisu. Prawdopodobnie jest to jedna z najlepszych dróg instalacji Home Assistanta. Instalacja HAOS jest jednak stricte uzależniona od sprzętu, który się posiada, a twórcy Home Assistanta sami przygotowali odpowiednie i aktualne poradniki >>tutaj<<.
Jak możemy dostrzec, instalacja Home Assistanta wcale nie jest trudna, jednak wymaga przekroczenia pewnej granicy, gdzie przechodzimy z interfejsu graficznego do interfejsu tekstowego. Co jednak ważne, po procesie instalacji niezbyt musimy powracać do konsoli, ponieważ platformą możemy wygodnie zarządzać za pomocą ustawień samego Home Assistanta. Jednakże zalecam takie powroty, chociażby w celu wykonania aktualizacji systemu oraz pakietów, jak i, między innymi, wprowadzania modyfikacji i konfiguracji.
Na poniższych zrzutach ekranu możecie podejrzeć proces wstępnej konfiguracji – platforma zapyta o kilka podstawowych informacji, w tym o lokalizację serwera. Warto podać prawdziwy adres, co pozwoli na przygotowanie wielu ciekawych automatyzacji opartych o stan przebywania użytkownika (czy jest on w domu, czy poza nim). Po wstępnej konfiguracji można przejść do dodawania nowych integracji, urządzeń oraz tworzenia skryptów. Warto dodać, że na łamach naszego bloga pokazaliśmy Wam jak połączyć urządzenia Xiaomi, Petoneer, a także NOUS z oprogramowaniem Tasmota!
W sklepie TECHWISH znajdziecie mnóstwo sprzętów IoT, które z powodzeniem połączycie z Home Assistantem!
Kategoria: Inspiracje technologiczne