Egyre többször olvasom a fórumokon, hogy a Respberry PI eszközökön nem a gyári Home Assistant imageket (HassOS) szeretnék használni a felhasználók, hanem egy-két dolgot még futtatnának mellette. Hasonlóan használom én is, de leírást róla még nem készítettem. Mivel felszabadult egy RPi modulom, épp itt az ideje játszanom vele és megnézni, hogy mi a legyorsabb módja most egy új rendszer installálásának, ha a friss raspbian image-ből indulok ki és docker containerbe rakom mellé a HA-t, hogy később még más programok futtatása is lehetséges legyen.
1. Image kiírása az SD kártyára
Első lépésben látogassuk meg a https://www.raspberrypi.com/software/ honlapot és töltsük le a Raspberry Pi Imager szoftvert, mellyel pár kattintással az SD kártyára írhatjuk a legfrisebb raspbian imaget (ez a debian disztribúció raspberry-re optimalizált változata).
A sikeres letöltést követően indítsuk el a programot. Az alábbi felület fogad minket.
Első lépésben a CHOOSE OS gombra kattintva válasszuk ki a kiírandó image-t, jelen példában a Raspberry Pi OS-t.
Második lépésben helyezzük a számítógépünkbe az SD kártyánkat és a COOSE STORAGE gombra kattintva válasszuk ki a listából, hogy hova írja ki a program az imaget.
Ha mindkét választást elvégeztük, nincs más hátra, mint a WRITE gomb megnyomásával a kiválasztott image kiválasztott storage-re írása.
A program figyelmeztet, hogy a cél helyről minden törlődni fog. Mi biztosak vagyunk benne, ezért a YES gombot megnyomva elidul a folyamat.
A folyamatról folyamatos tályékoztatást kapunk, hogy éppen hol tart. Először a háttérben letölti az internetről a kiválasztott imaget.
Majd megkezdődik az image SD kártyára történő írása.
Az írás végeztével következik a kiírás ellenőrzése.
Ha az ellenőrzés sikeres volt, még valami finishel.
Ha minden sikeresen elékészült, lecsatolja az SD kártyát és értesít, hogy elkészült az írás. Nincs más dolgunk, mint OK-zni, kihúzni az SD kártyát és mehet is a Raspberry-be.
Még egy dolgot el szoktam végezni az image kiírása után. Mint írtam, a program letölti az imaget az internetről, majd kiírja azt, de a folyamat végeztével nem törli a számítógépünkről. Idővel, ha több különböző imaget írunk ki, elég sok helyet tud foglalni, így törölni szoktam ezeket a cache fájlokat. Windows 10 gépen ezek a C:\Users\felhasználónév\AppData\Local\Raspberry Pi\Imager\cache mappában találhatóak és darabjuk több, min 1GB.
2. Raspberry Pi első indítása
Pattintsuk össze a Raspberry-nket és adjunk tápot neki. Első indulásnál szükséges a rendszer alap beállításainak elvégzésére. Ezt a Next gomb megnyomásával kezdjük is el.
Válasszuk ki az országunkat, nyelvet és az időzónát, amit használni szeretnénk. Magyarországon célszerű a régiónknak megfelelő beállításokat megadni.
A Next gomb megnyomásával ezen beállításokat el is végzi a rendszeren az alkalmazás.
Következő lépésben cseréljük le a gyári pi user jelszavát egy új jelszóra.
A Next gomb megnyomásával érvényesül is az új jelszó.
Következő lépésben felderíti számunkra a WiFi bázisállomásokat, hogy a listából kiválasztva egyszerűen tudjuk megadni a kapcsolódáshoz a jelszót.
A megjelenő listában tudjuk kiválasztani a használni kívánt AP-t. Nálam kábelen csatlakozik a rendszerhez az RPi, ezért ezt a beállítást a Skip gombra kattintva kihagyom.
Következő lépében a rendszer frissítését tehetjük meg. Mivel a kiír image egy múlt beli állapot, ezért ezt a lépést ne hagyjuk ki, mert nem célszerű egy elavult operációs rendszerrel neki indulni, ezért kattintsunk a Next gombra.
Első lépésben, ellenőrzi a rendszer, hogy van -e elérhető frissítés a disztribúcióhoz.
Második lépésben a letöltött szoftver listát összehasonlítja a gépünkre installált verziókkal.
Ha talál frissítéseket, elkezdi azon csomagok letöltését. Ha tudni szeretnénk, hogy mi folyik a háttérben, nyissunk egy termian ablakot és a logokban nyomon tudjuk ezt követni.
sudo -s
cd /var/log/apt
tail -f term.log
Amint elindul a folyamat, látszik a terminal ablakban, ahogy letöltésre kerülnek a friss csomagok, majd telepítésre kerülnek a rendszerre.
Miután minden friss csomag települ, a program jelzi számunkra, hogy a frissítés befejeződött, a rendszerünk friss és ropogós :)
Nincs más hátra, mint a rendszerünk újra indítása, hogy a frissített rendszer töltődjön be bootoláskor.
3. Home Assistant Supervised Docker container telepítése
Miután újraindult a rendszerünk következhet a Home Assistant telepítése Docker containerbe. A leírást a https://github.com/home-assistant/supervised-installer weboldal alapján készítettem el.
Első lépésben installáljuk a függőségeket. Ehhez nyissunk egy terminal-t és adjuk ki az alábbi parancsot.
sudo apt install mc jq wget curl udisks2 libglib2.0-bin network-manager dbus -y
Következő lépésben telepítsük a docker környezetet:
cd Downloads/
curl -fsSL get.docker.com | sudo sh
Folytassuk az előkészületeket, ehhez töltsük le a legutolsó os-agent release-t a githubról: https://github.com/home-assistant/os-agent/releases/tag/1.2.2
A letöltött fájl a /home/pentester/Downloads mappába kerül. Lépjünk vissza a terminál ablakba és töltsük le a homeassistant-supervised.deb telepítőt is. (Előzőleg már beléptünk a Downloads mappába)
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
Ha megvan mindkét telepítőnk, következzen a telepítésük. (Az os-agent neve a telepítendő operációs rendszertől függ, jelen leírás raspberry-hez készül)
sudo dpkg -i os-agent_1.2.2_linux_armv7.deb homeassistant-supervised.deb
Az install rákérdez a gép típusára, itt a saját Raspberry eszközünk verzióját válasszuk.
A telepítés sikertelen lesz, mert van egy függősége a telepítőnek, ami még nem lett telepítve. Nincs probléma, tegyünk fel ezt is.
sudo apt install apparmor
Ezennel sikeresen települt a Home Assistant Suervised Docker containerünk. Nyissuk meg a web böngészőnket és kapcsolódjuk a gépünk IP címéhez a 8123-as porton. (Régebbi eszközökön kell 1-2 perc, hogy elinduljon)
4. Home Assistant első indítása
Az első indulás több percig is eltarthat, ez nagyban függ a Raspberrynk verziójától.
Első indulásnál létre kell hozzuk az első fiókunkat.
Ha mindent kitöltöttünk, kattintsunk a Fiók létrehozása gombra.
Második lépésben elnevezhetjük a rendszerünket, megadhatjuk a címünket a térképen, időzónánkat, mértékegység rendszerünket és a pénznemünket.
Engedélyezhetjük, hogy milyen adatokat küldjön ki a fejlesztőknek a rendszerünkről.
Végezetül integrációs szolgáltatásokat is telepíthetünk (ez később is megtehetjük).
Ezennel sikeresen elkészült a felhasználói fiókunk és a rendszer be is léptet vele.
A Konfiguráció menüpont alatt látható, hogy ez a Supervised verzió.
5. HACS telepítése
Számomra nélkülözhetetlen a HACS a rendszer kényelmes használatához, így utolsó lépésben telepítsük fel azt is. A még nyitott terminal ablakunkba adjuk ki a következő parancsot.
wget -O - https://get.hacs.xyz | sudo bash -
A sikeres telepítést követően indítsuk újra a rendszerünket, majd az indulást követően (1-2 perc) ismét elérhető a HA felületünk, ahol lépjünk a Konfiguráció --> Integrációk menübe.
Itt az INTEGRÁCIÓ HOZZÁADÁSA gombra kattintva, rákeresva a HACS-ra, már megjelenik a listában.
Engedélyezzük, amit szükséges és indítsuk el a regisztrációs folyamatot, melyet egy korábbi postomban már leírtam.
Kövessük az utasításokat.
Lépjünk be a github account-unkba és aktiváljuk az új eszközünket (HACS).
Szépen vezet az installációs folyamat, csak várnunk kell kicsit a visszajelzésekre.
A githubon a sikeres device regisztráció vége:
Ekkor a HA oldal is továbbjut a végéig, ahol területhez rendelhetjük az integrációnkat.
Végezetül az integrációk között és a bal oldali menüben is megjelenik a HACS integráció.
A HACS menüpontra kattintva egy működő integráció felületét láthatjuk, ahonnan több közösségi fejlesztésből megvalósolt integrációt telepíthetünk a rendszerünkhöz.
És elkészült a frissen, doncker containerbe telepített Home Assistant Supervised + HACS rendszerünk.