Installare home assistant su raspberry 3B e sucessivi

In questi anni stanno sempre più prendendo piede i sistemi domotici in particolare homeassistant (hass), un software open source già citato in questo blog, che permette di creare un vero impianto domotico di casa. Ci sono alcuni modi per installarlo, esiste pure una immagine già pronta da flashare sul  raspberry ma questa soluzione non è certo l’ideale se volete che condivida l’installazione con piGarden; quindi dovremmo procedere manualmente. La seguente guida è una libera  traduzione dell’originale in inglese il cui riferimento lo trovate in fondo all’articolo. La guida descriverà come configurare un ambiente virtuale phyton su cui far girare homeassistant per poi renderlo avviabile al  boot, oltre a come tenerlo aggiornato.

Nota:

verrà usato l’abbreviativo hass al posto di homessistant inteso come software per non creare confusione in alcune fasi della configurazione.

Parte 1 – Preparazione ambiente phyton

Se avete già installato piGarden molte delle dipendenze che verranno richieste saranno già soddisfatte, ma per non sbagliare seguiamo i passaggi indicati:

installiamo le dipendenze:

sudo apt-get install python3 python3-venv python3-pip

L’account homeassistant che andremo a creare serve solo per poter installare hass quindi avremo come argomenti extra:

  • rm: aggiunge un account di sistema e la relativa home directory.
  • -G dialout,gpio:  servono per aggiungere l’account ai gruppi dialout e gpio, il primo serve per usare -Wave e Zigbee controllers, mentre il secondo è richiesto per comunicare con i GPIO del raspberry.
sudo useradd -rm homeassistant -G dialout,gpio

Creiamo la directory di installazione di home assistant e cambiamo il proprietario dell’account homeassistant:

cd /srv
sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant

Poi creiamo l’ambiente virtuale facendo questo con l’account homeassistant e con l’ultimo  comando lo attiviamo:

sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source bin/activate

Una volta che abbiamo attivato l’ambiente virtuale (notate che il prompt cambierà) diamo i seguenti comandi per installare i pacchetti phyton richiesti :

(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ 
python3 -m pip install wheel

Dopo aver installato i pacchetti richiesti proseguiamo con l’installazione di homeassistant.

Parte 2 – Installazione homeassistant

Proseguiamo con l’installazione  dando i seguenti comandi:

(homeassistant)homeassistant@raspberrypi:/srv/homeassistant $
pip3 install homeassistant

con la quale  vedrete la fase di scaricamento del pacchetto homeassistant.

Dopo questa prima parte è ora di avviare per la prima volta hass in modo che il programma possa completare l’installazione che creerà la directory di configurazione .homeassistant in /home/hassistant e installerà alcune dipendenze di base.

(homeassistant) $ hass

Nota: questa fase può durare tra i 5 e i 10 minuti. Questo accadrà solo la prima volta e solo fino a che l’installazione non sarà completa, il sistema non sarà raggiungibile al seguente indirizzo:

http://ipaddress:8123

Dove ipaddress è l’ip del vostro dispositivo, ovvero il vostro raspberry.

Da ora potrete configurare un utente e personalizzare HASS.

Se volete rendere hass avviabile ad ogni boot è necessario avviarlo come servizio e per fare questo è necessario procedere con un ulteriore passaggio. Rasbian supporta systemd e quindi per configurare un servizio per l’ambiente virtuale phyton si deve creare un file usando un editor di testo da terminale come nano:

nano /etc/systemd/system/home-assistant@homeassistant.service

con il seguente contenuto:

[Unit]
Description=Home Assistant
After=network-online.target
 
[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
 
[Install]
WantedBy=multi-user.target

Per salvare con nano usare la combinazione da tastiera Ctrl+O

Ora per rendere il nuovo servizio conosciuto da systemd è necessario riavviarlo:

sudo systemctl --system daemon-reload

eseguiamo il seguente comando per impostare l’avvio automatico del servizio al boot del sistema:

sudo systemctl enable home-assistant@homeassistant

se vogliamo avviare il servizio manualmente procediamo con il comando:

sudo systemctl start home-assistant@homeassistant

Per aggiornare homeassistant quando viene pubblicata una nuova versione, possiamo procedere con i seguenti passaggi:

# Fermiamo il servizio home assistant
sudo systemctl stop home-assistant@homeassistant
 
# Eseguiamo l'aggiornamento
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant
exit
 
# Riavviamo homeassistant
sudo systemctl start home-assistant@homeassistant

Riferimenti:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.