community italiana di domotica personale
 
Utilità: come aggiornare Home Assistant

Utilità: come aggiornare Home Assistant

IN BREVE
Che cos’è Home Assistant è un eccellente software gratuito che funge da HUB personale o per la gestione integrata della propria domotica personale
Come si usa Il software può essere installato su un qualsiasi computer dotato di sistema operativo Linux, Windows e macOS, oppure tramite sistema di virtualizzazione Docker. Nella stragrande maggioranza dei casi, si installa su micro-computer o mini-computer, per questioni di economicità e basso consumo elettrico (nonché versatilità). Si controlla tramite browser web e app mobile chiamata Home Assistant Companion
Varianti Il “cuore” – ovvero la parte che davvero interessa all’utente – di Home Assistant si chiama “Home Assistant Core” e può venire installato a se stante, come applicativo Python o come container Docker. Un’alternativa è Home Assistant OS (o HassOS, HASSIO), ovvero una distribuzione “chiavi in mano” data dall’insieme di un sistema operativo Home Assistant OS (basato su Alpine Linux) con a bordo Home Assistant Core in esecuzione come container e un gestore container, detto Home Assistant Supervisor, che gestisce il container di Core nonché altri elementi detti “add-on”. Solitamente tale distribuzione chiavi in mano è disponibile per Raspberry, Tinkerboard, Odroid e Intel NUC. Maggiori dettagli su questa differenza (“Core” vs “Home Assistant OS”) sono dettagliati qui
Questa guida Questa guida è concepita per coloro che dispongano di Home Assistant e illustra come aggiornare l’HUB, ovvero Home Assistant Core, esso sia installato come applicativo, come container Docker o come container parte della distribuzione Home Assistant OS
Ultimo aggiornamento disponibile:

Home Assistant Core - come aggiornare

Come aggiornare:

Qui invece l’elenco degli ultimi 10 aggiornamenti.
Qui invece un FOCUS sul perché Home Assistant subisce così tanti aggiornamenti.

Python/Venv su Raspberry Pi OSRaspbian Logo

[ qui la guida d’installazione in questa modalità ]

Collegarsi via SSH (oppure utilizzando il terminale nell’ambiente desktop di Raspberry Pi OS) utilizzando l’utenza “pi“.

Prima di avviare l’update, verificare la versione in uso (e magari segnarsela):

sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
hass --version
exit

Successivamente, i comandi da eseguire per l’update all’ultima versione disponibile sono:

sudo systemctl stop home-assistant@homeassistant
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant
exit
sudo systemctl start home-assistant@homeassistant

N.b. In caso di problemi insormontabili (ma non siate frettolosi nel giudicarli tali), è sempre possibile effettuare un rollback con i comandi:

sudo systemctl stop home-assistant@homeassistant
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install homeassistant==0.XXX.X
exit
sudo systemctl start home-assistant@homeassistant

avendo cura di sostituire, nel comando:

pip3 install homeassistant==0.XXX.y

Python/Venv su WindowsLogo Windows

[ qui la guida d’installazione in questa modalità ]

Il comando (da eseguire da prompt dei comandi) è il seguente:

pip3 install --upgrade homeassistant

In caso si stia eseguendo Python in ambiente virtuale, i comandi sono i seguenti:

cd homeassistant
Scriptsactivate.bat
py -m pip install --upgrade homeassistant

Python/Venv su macOSmacos logo

[ qui la guida d’installazione in questa modalità ]

Su MAC (tramite terminale) il comando è il seguente:

pip3 install --upgrade homeassistant

Su Docker su Raspberry Pi OSDocker Logo

[ qui la guida d’installazione in questa modalità ]

Per aggiornare un’istanza di Home Assistant Core installata come container su Docker a sua volta in esecuzione su sistema operativo Raspberry Pi OS di Raspberry Pi, la procedura prevede semplicemente di fermare il container, rimuoverlo, scaricare con una pull la nuova versione, ricreare il container con gli stessi parametri coi quali era stato creato precedentemente.

Usando “docker run”

Collegarsi via SSH (oppure utilizzando il terminale nell’ambiente desktop di Raspberry Pi OS) utilizzando l’utenza “pi” ed eseguire i comandi:

docker stop home-assistant
docker rm home-assistant
docker pull ghcr.io/home-assistant/home-assistant:stable

Se il comando restituisce “output Image is up to date” vorrà dire che non ci sono aggiornamenti e che quindi è inutile continuare con gli step successivi, i quali eventualmente sono:

docker run -d --name="home-assistant" -e "TZ=Europe/Rome" -v "~/homeassistant:/config" -v "/run/dbus:/run/dbus:ro" --net=host --restart=always ghcr.io/home-assistant/home-assistant:stable

N.b. Ovviamente il comando è generico: se la propria istanza prevede qualche parametro aggiuntivo specifico o diverso, adeguare il comando in modo opportuno.

Usando docker COMPOSE

Ovviamente con Docker Compose la cosa è ancora più semplice. Per aggiornare e istanziare nuovamente il container, usare i seguenti comandi (da eseguire trovandosi nella stessa cartella contenente il proprio file docker-compose.yaml).

docker compose pull home-assistant
docker compose up -d home-assistant 
docker image prune -f

In presenza di una nuova immagine disponibile per l’aggiornamento, essa verrà scaricata e istanziata.

N.b. Si assume che il servizio definito su Docker Compose si chiami home-assistant; diversamente, personalizzare i comandi col nome corretto.

N.b. In caso il comando “docker compose” dovesse dare errore, verificare di non aver installata la versione applicativa di Docker Compose anzichè la versione plug-in alla quale il comando sopra fa riferimento. In tal caso, adeguare il comando da “docker compose” a “docker-compose” (col trattino in mezzo).

Su Docker su Linux Debian (o generico)Docker Logo

[ qui la guida d’installazione in questa modalità ]

Per aggiornare un’istanza di Home Assistant Core installata come container su Docker a sua volta in esecuzione su sistema operativo Linux Debian (o generico), la procedura prevede semplicemente di fermare il container, rimuoverlo, scaricare con una pull la nuova versione, ricreare il container con gli stessi parametri coi quali era stato creato precedentemente. 

Usando “docker run”

Collegarsi via SSH (oppure utilizzando il terminale nell’ambiente desktop di Raspberry Pi OS) utilizzando un’utenza appartenente ai sudoers eseguire i seguenti comandi:

sudo docker stop home-assistant
sudo docker rm home-assistant
sudo docker pull ghcr.io/home-assistant/home-assistant:stable

Se il comando restituisce “output Image is up to date” vorrà dire che non ci sono aggiornamenti e che quindi è inutile continuare con gli step successivi, i quali eventualmente sono:

sudo docker run -d --name="home-assistant" -e "TZ=Europe/Rome" -v "~/homeassistant:/config" -v "/run/dbus:/run/dbus:ro" --net=host --restart=always ghcr.io/home-assistant/home-assistant:stable

N.b. Ovviamente il comando è generico: se la propria istanza prevede qualche parametro aggiuntivo specifico o diverso, adeguare il comando in modo opportuno.

Usando docker COMPOSE

Ovviamente con Docker Compose la cosa è ancora più semplice. Per aggiornare e istanziare nuovamente il container, usare i seguenti comandi (da eseguire trovandosi nella stessa cartella contenente il proprio file docker-compose.yaml).

docker compose pull home-assistant
docker compose up -d home-assistant 
docker image prune -f

In presenza di una nuova immagine disponibile per l’aggiornamento, essa verrà scaricata e istanziata.

N.b. Si assume che il servizio definito su Docker Compose si chiami home-assistant; diversamente, personalizzare i comandi col nome corretto.

N.b. In caso il comando “docker compose” dovesse dare errore, verificare di non aver installata la versione applicativa di Docker Compose anzichè la versione plug-in alla quale il comando sopra fa riferimento. In tal caso, adeguare il comando da “docker compose” a “docker-compose” (col trattino in mezzo).

Su Docker su Sonoff iHost

Docker Logo

[ qui la guida d’installazione in questa modalità ]

Per aggiornare un’istanza di Home Assistant Core installata come container su Docker a sua volta in esecuzione su Sonoff iHost, la procedura prevede semplicemente di recarsi sulla scheda di dettaglio del container e cliccare su “Nuova versione rilevata“:

Home Assistant su Sonoff iHost via Docker - aggiornamento - 1

seguito poi da “Scarica e installa” nella box seguente:

Home Assistant su Sonoff iHost via Docker - aggiornamento - 2

Al termine della procedura automatica, Home Assistant Core sarà stato aggiornato.

Su Docker su WindowsDocker Logo

[ qui la guida d’installazione in questa modalità ]

Per aggiornare un’istanza di Home Assistant Core installata come container su Docker a sua volta in esecuzione su sistema operativo Microsoft Windows, la procedura prevede semplicemente di fermare il container, rimuoverlo, scaricare con una pull la nuova versione, ricreare il container con gli stessi parametri coi quali era stato creato precedentemente. 

Quindi, aprire prompt dei comandi ed eseguire i seguenti comandi:

sudo docker stop home-assistant
sudo docker rm home-assistant
sudo docker pull ghcr.io/home-assistant/home-assistant:stable
docker run -d --name="home-assistant" -e "TZ=Europe/Rome" -v //c/Users/NOME_UTENTE/homeassistant:/config -p 8123:8123 ghcr.io/home-assistant/home-assistant:stable

Su Docker su macOSDocker Logo

[ qui la guida d’installazione in questa modalità ]

Per aggiornare un’istanza di Home Assistant Core installata come container su Docker a sua volta in esecuzione su sistema operativo Apple macOS, la procedura prevede semplicemente di fermare il container, rimuoverlo, scaricare con una pull la nuova versione, ricreare il container con gli stessi parametri coi quali era stato creato precedentemente. 

Quindi, aprire terminale ed eseguire i seguenti comandi:

sudo docker stop home-assistant
sudo docker rm home-assistant
sudo docker pull ghcr.io/home-assistant/home-assistant:stable
docker run -d --name="home-assistant" -e "TZ=Europe/Rome" -v /PERCORSO_DELLA_PROPRIA_CONFIGURAZIONE:/config -p 8123:8123 ghcr.io/home-assistant/home-assistant:stable

Su Docker su ContainerStation di QNAPDocker Logo

[ qui la guida d’installazione in questa modalità ]

Per aggiornare Home Assistant Core implementato come container Docker su ContainerStation è sufficiente rimuovere il container per poi crearlo nuovamente.

QNAP Container Station - Rimozione container

Ovviamente, è necessario conoscere prima le modalità con cui era stato creato. Se si è seguita la nostra guida, è sufficiente rimuoverlo e rifare la procedura; differentemente, assicurarsi prima di avere tutte le coordinate necessarie. Comunque sia è difficile “far danni”: la cartella contenente la configurazione non viene toccata dalla rimozione del container, quindi è facile ricrearlo puntando ad essa e ritrovare perfettamente funzionante il proprio HUB.

Home Assistant OS/SupervisedHASSIO

[ varie guide ]

Prima di procedere si consiglia, come sempre, di effettuare un backup della propria configurazione.

Come sempre, su Home Assistant OS le cose sono molto facilitate: per effettuare l’aggiornamento, accedere all’interfaccia web e poi, presso il menu “Configurazione” > “Sistema” e cliccare su “Aggiornamenti” presso la voce che segnala la disponibilità di un aggiornamento per Home Assistant Core (o per altre componenti).

Attendere il completamento della procedura, la quale potrebbe necessitare anche svariati minuti nonché di un auto-riavvio dell’HUB.

Ultimi 10 aggiornamenti

⚠️ 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.