community italiana di domotica personale
 
Installare e configurare Home Assistant Core su Raspberry Pi

Installare e configurare Home Assistant Core su Raspberry Pi

SCOPI DELLA GUIDA:
  • Installare e configurare Home Assistant come applicativo su un Raspberry Pi dotato di sistema operativo Raspberry Pi OS (Raspbian)
  • Livello di difficoltà: basso
CONCETTI AFFRONTATI:
  • installazione e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
GUIDA maggiormente DEDICATA A utenti:
Tutti gli ambienti
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione guida: 3.1

Home Assistant Core + Raspbian

😊  QUESTA GUIDA È PARTE DEL NOSTRO PERCORSO GUIDATO ALL’INSTALLAZIONE E CONFIGURAZIONE di HOME ASSISTANT su RASPBERRY PI.

Abstract

Come spiegato in altre schede, Home Assistant è il uno tra gli HUB personali ideali per realizzare una propria domotica personale in modo organico e funzionale. Questo cruciale componente software ha la possibilità di essere installato su molti sistemi e in modalità diverse: su Raspberry Pi la modalità solitamente più caldeggiata dagli sviluppatori è la modalità “Home Assistant OS”, ovvero una modalità sì completamente automatica, la quale prevede però di dedicare il Raspberry Pi all’uso esclusivo di Home Assistant, chiudendo di fatto ad eventuali altre funzionalità. Questa modalità è descritta in questa guida specifica.

La presente guida percorre invece un altro approccio, ovvero quello di permettere l’installazione e il funzionamento di Home Assistant su un Raspberry Pi precedentemente installato e configurato con sistema operativo Raspbery Pi OS, il che abilita a usi del Raspberry diversi e paralleli alla presenza stessa di Home Assistant.


Una lista delle possibili alternative d’installazione è disponibile qui.

ATTENZIONE: Ricordiamo a chiunque legga che ormai su Raspberry l’opzione da prediligere è l’installazione di Home Assistant Core su Docker, piuttosto che quella descritta in questa guida che, per quanto funzionante, è poi più scomoda da gestire.

Si parte

Assunti

Questa guida è dedicata a chi abbia già un Raspberry in uso con sistema operativo Raspberry Pi OS. Per coloro che non abbiano ancora provveduto e si trovino ad avere un Raspberry nuovo, magari acquistato appositamente per realizzare la propria domotica, allora questo passo della guida va smarcato seguendo prima un’altra guida, che spiega passo passo come configurare il sistema operativo Raspberry Pi OS.

La guida da seguire:

Una volta terminata la configurazione di Raspberry Pi OS, è possibile procedere nella presente guida.

Installare Home Assistant

Una volta collegati via ssh al proprio Raspberry (utilizzando l’utenza “pi”), eseguire innanzitutto un aggiornamento dell’ambiente:

sudo apt-get update -y
sudo apt-get upgrade -y 
sudo reboot

successivamente al riavvio causato dall’ultimo comando, eseguire i seguenti comandi per installare Python e le relative dipendenze:

sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 libturbojpeg0 tzdata libtiff5

Dopodiché creare un’utenza dedicata a Home Assistant, chiamandola “homeassistant“:

sudo useradd -rm homeassistant -G dialout

Creiamo ora la directory di installazione del server e cambiamole i diritti attribuendoli all’utenza appena creata:

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

Ora è il momento di creare l’ambiente virtuale nel quale eseguire Home Assistant:

sudo su -s /bin/bash homeassistant
cd /srv/homeassistant
python3 -m venv .
source bin/activate

Una volta creato e avuto accesso all’ambiente virtuale (si noti il cambio di prompt), è necessario installare dei package ad hoc per Python:

python3 -m pip install wheel

Infine, installiamo Home Assistant tramite il comando:

pip3 install homeassistant

Al termine dell’installazione del pacchetto base, sarà possibile avviare, per la prima volta, Home Assistant, eseguendo il comando:

hass -v

Il primo avvio farà sì che venga creata automaticamente la cartella “.homeassistant” sotto il path “/home/homeassistant” e vengano installate tutte le dipendenze primarie necessarie, sempre automaticamente. Ora, durante qualche minuto di attesa (dai 10 ai 30), Home Assistant provvederà all’installazione e alla configurazione automatica di tutta una serie di componenti accessori nonché delle sopracitate dipendenza primarie.

N.b. In caso di problemi relativi a “Rust Compiler“, far riferimento al paragrafo risoluzione problemi “Rust Compiler”.

De facto l’attesa sarà considerata finita quando sarà possibile collegarsi – tramite il browser del proprio computer di appoggio – all’interfaccia web di Home Assistant presso il seguente indirizzo:

http://homeassistant.local:8123

N.b. In caso non ci si riesca a collegare  – sempre che il processo d’installazione iniziale sia completato – assicurarsi che sul proprio router sia attivo il multicast DNS (mDNS). Se non lo è, la risoluzione del nome “homeassistant.local” non va a buon fine e il browser non riesce a collegarsi: la soluzione, per l’appunto, è quella di attivare il multicast (che provvede a questa cosa). Alternativamente è comunque sempre possibile collegarsi all’indirizzo diretto, ovvero http://INDIRIZZO_IP_DEL_RASPBERRY:8123, dove l’indirizzo IP è quello assegnato dal router al Raspberry Pi.

Per scoprire l’IP del Raspberry sarà sufficiente eseguire il comando:

ifconfig

il quale elencherà gli IP associati al raspberry:

Raspbian ifconfig

L’indirizzo IP è solitamente indicato a destra della dicitura “inet” e, solitamente, fa parte della subnet 192.168.0.0/16.
Scoperto l’IP, accedere ad Home Assistant indicando sul proprio browser il seguente indirizzo, come spiegato prima:

http://INDIRIZZO_IP_DEL_RASPBERRY:8123

Una volta collegati dovrebbe apparire un sito analogo a questo:

Home Assistant - onboarding v2 - benvenuto

Il quale consente di impostare le prime, elementari e personali informazioni di “onboarding” relative alla propria domotica.

Complimenti! Home Assistant è in esecuzione.


A questo punto è comprovato il funzionamento corretto di Home Assistant, ed è pertanto possibile interromperne l’esecuzione in qualunque momento premendo CTRL+C.

Ora è possibile uscire dall’impersonificazione dell’utente “homeassistant” con il semplice comando

exit

per proseguire nell’esecuzione della guida.
Se invece si vuole spegnere spegnere il Raspberry Pi è possibile farlo tramite:

exit
sudo shutdown now

N.b. Il comando “spegne” il sistema operativo, ma elettricamente il Raspberry andrà spento manualmente (quando si vedrà definitivamente spento il led verde, che starà a indicare che l’attività di spegnimento del sistema operativo sarà stata conclusa).

Configurare Home Assistant in autostart al boot

Per far sì che Home Assistant si avvii automaticamente ad ogni boot del Raspberry Pi, è necessario effettuare un’ultima configurazione.

Una volta collegati via ssh al proprio Raspberry (sempre utilizzando l’utenza “pi”), eseguire il seguente comando per avviare l’editor di testo (“nano”) e creare il file di configurazione del servizio:

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

Inserire nell’editor che apparirà il seguente testo:

[Unit]
Description=Home Assistant
After=network-online.target

[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
RestartForceExitStatus=100
[Install]
WantedBy=multi-user.target

Dopodiché uscire e salvare (CTRL+X, Y, invio).
Eseguire infine i seguenti comandi che “caricano” e abilitano e avviano il servizio:

sudo systemctl --system daemon-reload
sudo systemctl enable home-assistant@homeassistant
sudo systemctl start home-assistant@homeassistant

A questo punto Home Assistant sarà avviato e configurato correttamente per l’auto avvio.

Consigli operativi

Aggiornamento

Per aggiornare Home Assistant, dopo avere interrotto l’esecuzione, eseguire i seguenti comandi:

sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant
Modifiche al file di configurazione

Il file di configurazione (qui una scheda che spiega nel dettaglio di cosa si tratta) si trova nella directory:

/home/homeassistant/.homeassistant

Comandi utili

Abbiamo dedicato una pagina ad hoc ai comandi più classici nell’uso quotidiano su Raspberry Pi OS.

Rifinitura

Cosa fare, ora? Consultare la scheda che illustra tutte le cose da fare dopo questa prima installazione, ecco cosa! 🙂

Aggiornamento

Tutte le modalità di aggiornamento per Home Assistant Core sono riassunte su questa scheda ad hoc:

Utilità: come aggiornare Home Assistant

Risoluzione problemi “Rust Compiler”

In caso di errori di esecuzione di Home Assistant causati – in base a quando ci possa dire il log – dall’assenza di “Rust Compiler“, per esempio:

error: can't find Rust compiler

Si consiglia di eseguire i seguenti comandi all’interno dell’ambito venv:

python -m pip install pip --upgrade
python -m pip install setuptools_rust

Provare poi a rieseguire l’installazione e/o l’upgrade (a seconda dell’attività che si sta portando avanti) sempre dall’ambito venv, quindi:

pip3 install --upgrade homeassistant

oppure

pip3 install --upgrade homeassistant --upgrade

Se dovesse dare nuovamente errori, sarà necessario installare “Rust Compiler” manualmente. A questo punto, uscendo dall’ambito venv eseguire il seguente comando:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Come verrà anche consigliato a video, al termine dell’installazione bisognerà ricaricare l’environment per aggiornare la variabile PATH.
Vi consigliamo semplicemente di chiudere la sessione ed aprirne una nuova.

Ripetere quindi l’installazione e/o upgrade dal venv: attendere il termine dell’installazione (ci vorrà un qualche minuto prima del termine della compilazione del modulo cryptography), dopodiché dovrebbe essere tutto ok.

⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.