Negli ultimi anni è diventato molto comune possedere una vasta gamma di dispositivi "smart" che si connettono alla rete ed offrono servizi e funzionalità di varia tipologia. La lavatrice che notifica la fine del ciclo di lavaggio, il frigo che avverte quando è finito il latte, la valvola che ti ricorda di chiudere la finestra per evitare di raffreddare la casa. Sono tutte funzionalità che molto di noi danno ormai per scontate. Tuttavia tali feature necessitano una costante connessione ad Internet e non funzionano basandosi sulla sola rete locale. Inoltre ogni produttore ha la sua App specifica ed il suo servizio separato dagli altri, questo costringe ad installare decine di applicativi diversi che fanno sostanzialmente le stesse cose ma con device di brand differenti.
Fortunatamente la community open source ha sviluppato una soluzione software che consente di gestire ed amministrare una pletora di dispositivi smart da un singolo servizio, stiamo parlando del progetto Home Assistant. Con questa guida capiremo come configurare Home Assistant su Raspberry Pi in modo tale che sia sempre raggiungibile a tutti i dispositivi presenti nella nostra rete locale.
Requisiti hardware
Ovviamente per poter configurare il nostro sistema di dispositivi smart home è necessario l'acquisto di un Raspberry Pi. Noi vi consigliamo di affidarvi all'ultimo modello in commercio. Questo perché per la gestione di una configurazione software similare servirà un certa quantità di risorse hardware. Quindi è meglio optare per Raspberry Pi 4, tuttavia anche Raspberry Pi 3 dovrebbe andare bene per tale progetto.
In abbinamento a questa board dovremo dotarci di un microSD da almeno 64GB, di un alimentatore USB, di un cavo di rete cat 6 oltre che di: mouse, tastiera e monitor per la configurazione iniziale del sistema operativo e di Home Assistant.
Configurare Raspberry Pi per l'utilizzo di Home Assistant
Esistono vari metodi e soluzioni per installare Home Assistant. In questo tutorial illustreremo i due più semplici e adatti anche agli utenti alle prime armi con il mondo delle distribuzioni Linux.
Il modo più facile in assoluto è quello che prevede l'impiego di Home Assistant OS, si tratta di una versione minimale di Raspberry Pi OS ovvero il sistema operativo sviluppato dai programmatori della Raspberry Foundation. In buona sostanza è possibile eseguire il flash di Home Assistant OS su di un microSD e dedicare Raspberry Pi unicamente a questo applicativo. Si tratta della soluzione ideale per coloro che comprano questa board per realizzare un sistema simile, anche se poco pratica per chi invece vorrebbe mantenere l'accesso anche ad un ambiente Desktop tradizionale.
Fortunatamente è possibile installare Home Assistant anche sulle normali versioni di Raspberry Pi OS. Dunque in base alle vostre necessità ed esigenze potete optare per una delle due soluzioni che illustreremo.
Installare e configurare Home Assistant OS
Per installare Home Assistant OS su Raspberry Pi basta eseguire il flash dell'installer nella microSD tramite un imaging tool. Quello consigliato dal team di sviluppatori Home Assistant è Balena Etcher.
Questo software è davvero semplice da utilizzare, l'utente non deve nemmeno provvedere al download in autonomia del file ISO, infatti il tutto viene fatto in automatico dal programma.
Una volta avviata l'utility basta selezione la voce "Flash from URL" ed immettere, nel prompt che compare in seguito, questo link da cui il programma va a prelevare il file ISO di Home Assistant OS:
https://github.com/home-assistant/operating-system/releases/download/9.5/haos_rpi4-64-9.5.img.xz
Tale link va bene se utilizziamo un Raspberry Pi 4, ecco invece la versione per Raspberry Pi 3:
https://github.com/home-assistant/operating-system/releases/download/9.5/haos_rpi3-64-9.5.img.xz
Successivamente clicchiamo su "Select Target" per indicare la microSD su cui eseguire l'installazione ed in fine pigiamo sul tasto "Flash!" per avviare la procedura.
A questo punto inseriamo la microSD nel Raspberry Pi ed accendiamo il device sincerandosi che questo sia connesso tramite cavo ethernet al router. Lasciamo quindi lavorare la board per alcuni minuti e successivamente, da un altro terminale, connettiamoci alla Web interface di Home Assistant. Per farlo basta digitare nella bara degli URL del browser questo indirizzo:
http://homeassistant.local:8123
o
http://homeassistant:8123
oppure
http://IPdelRaspberry:8123
Una volta stabilita la connessione viene attivato un wizard di prima configurazione dalla quale creare il proprio account ed aggiungere tutti i device smart presenti nella rete locale.
Installare e configurare Home Assistant su Raspberry Pi OS tramite immagine Docker
Come accennato in precedenza, se desiderate utilizzare Raspberry Pi per altre attività e non solo per Home Assistant potete dunque procedere alla normale installazione del sistema operativo Raspberry Pi OS e successivamente sfruttare Home Assistant Container, ovvero l'immagine Docker di tale applicativo.
Prima di tutto è necessario installare Docker. Quindi apriamo il terminale e digitiamo:
sudo apt update && sudo apt upgrade
curl -sSL https://get.docker.com | sh
Il primo comando immesso su bash provvede ad installare tutti gli upgrade disponibili nei repository della distribuzione. Il secondo invece esegue il download dello script d'installazione di Docker tramite l'utility curl.
Nel caso in cui lo script non dovesse eseguirsi in automatico basta digitare su bash:
sudo sh get-docker.sh
Terminata l'installazione dobbiamo indicare al sistema di aggiungere il nostro utente al gruppo di Docker cosi da poterlo utilizzare:
sudo usermod -aG docker pi
L'utente standard di Raspberry Pi OS si chiama pi
. Ovviamente se il nostro user è chiamato in modo diverso cambiamo di conseguenza l'ultima parte del comando. Per confermare tali modifiche possiamo o riavviare il device oppure eseguire il logout dal nostro utente manualmente tramite CLI:
logout
Noi consigliamo inoltre di impostare Docker, tramite il gestore dei demoni systemd, in modo tale che venga sempre eseguito ad ogni riavvio del Raspberry Pi:
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Dopo esserci riloggati dobbiamo generare una directory da dedicare ad Home Assistant:
sudo mkdir -p /home/pi/homeassistant
Ora andiamo a generare l'immagine docker vera e propria:
docker run -d --name="home-assistant" -e "TZ=Europe/Rome" -v "/home/pi/homeassistant:/config" -v "/run/dbus:/run/dbus:ro" --net=host --restart always ghcr.io/home-assistant/home-assistant:stable
Con questo comando il sistema scarica e configurare in automatico il container con Home Assistant. Ultimato il processo possiamo finalmente accedere all'interfaccia Web dell'applicativo tramite browser scrivendo nella barra degli URL:
http://IPdelRaspberry:8123