community italiana di domotica personale
 
Installare e configurare Home Assistant Supervised con Docker su Mini PC/Intel NUC/computer con Linux Debian

Installare e configurare Home Assistant Supervised con Docker su Mini PC/Intel NUC/computer con Linux Debian

SCOPI DELLA GUIDA:
  • Installare e configurare Home Assistant in modalità Supervised su Docker, quindi dotarsi di tale HUB personale senza perdere le funzionalità offerte dal sistema operativo Linux Debian
  • Livello di difficoltà: basso
CONCETTI AFFRONTATI:
  • installazione e configurazione software
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed 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;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In presenza di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat.
Revisione guida: 2.0

Home Assistant SUPERVISED + Docker su Debian

😊  QUESTA GUIDA È PARTE DEL NOSTRO PERCORSO GUIDATO ALL’INSTALLAZIONE E CONFIGURAZIONE
di HOME ASSISTANT su Mini PC/Intel NUC.

Abstract

Come spiegato in altre schede, Home Assistant è il uno tra gli HUB personali gratuiti 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 Mini PC/Intel NUC (e non solo) una modalità spesso caldeggiata dagli sviluppatori è la modalità “Home Assistant OS”, ovvero una modalità sì completamente automatica, “chiavi in mano”, la quale prevede però di dedicare l’host all’uso esclusivo di Home Assistant, delle sue componenti e delle eventuali funzioni accessorie pur da lui sempre gestite. Questa modalità (la più facile e purtroppo più adottata) è descritta in questa guida specifica.

Purtroppo la distribuzione Home Assistant OS ha un rovescio della medaglia, ovvero le basse prestazioni a causa dell’inutile spreco di risorse previsto, dato che la componente cardinale (che alla fine è l’unica che interessa all’utente), ovvero Home Assistant Core, in questo ambito viene eseguito in un container di virtualizzazione e viene affiancato da tanti altri container quanti sono gli add-on (imprescindibili e di altro tipo) che vengono installati tramite un ulteriore strato di gestione, ovvero il cosiddetto “Supervisor“. Tutta questa stratificazione affossa le prestazioni. L’installazione di Home Assistant OS ha però il vantaggio di fornire all’utente, nell’uso ordinario, un elemento assente in altre tipologie di installazione: “l’add-on store“, ovvero il gestore delle componenti gestite dal “Supervisor” di cui sopra. Si tratta, in sostanza, di un elenco di componenti aggiuntive (MQTT, Samba, SSH, Node-RED e molti, molti altri) istanziabili e configurabili direttamente dall’interfaccia di Home Assistant, rendendo molto più semplice la personalizzazione dell’HUB e le funzioni da esso gestite.

L’alternativa è solitamente quella di installare Home Assistant Core su Docker, ovvero la modalità da noi in assoluto preferita – la quale, però, è più complessa da configurare e da amministrare, specie in presenza di ulteriori strumenti accessori. Inoltre, Core a se stante non prevede quella che per molti è una grande utilità, ovvero “l’add-on store” illustrato sopra, oppure per esempio la possibilità di effettuare backup in modo semplice ed altro.

Una vita di mezzo esiste: installare Home Assistant in modalità Supervised.

Banalizzando, si tratta di installare il Mini PC/Intel NUC (o computer tradizionale) in modalità convenzionale con Linux Debian aggiungendovi sopra una serie di contenitori (“container“) dentro i quali eseguire per l’appunto lo stack di Home Assistant Supervised – ovvero la porzione applicativa presente sul sopracitato Home Assistant OS – inclusi “Supervisor“, il suo “add-on store“, la possibilità di eseguire backup in modo semplice, eccetera.

N.b. La scelta tra Home Assistant OS/Supervisor e Home Assistant Core è forse la cosa più complessa da comprendere quando ci si avvicina alla domotica gestita con Home Assistant. Oltre alle spiegazioni qui sopra, abbiamo dedicato una scheda ad hoc che spiega tutti gli aspetti diretti e indiretti legati a tale scelta.

Una lista delle possibili alternative per l’installazione di Home Assistant su Mini PC/Intel NUC è disponibile qui.

Procedimento

Assunti

Questa guida è dedicata a chi abbia già un mini-computer o un computer in uso con sistema operativo Linux Debian a 64bit. Per coloro che non abbiano ancora provveduto e si trovino ad avere un Mini PC/Intel NUC 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 Linux Debian.

La guida da seguire è questa.

Una volta terminata la configurazione di Linux Debian (inclusa la possibilità di collegarvisi tramite SSH e avendone perfezionato la configurazione) è possibile procedere nella presente guida.

Hardware supportato

La presente guida è ufficialmente supportata su queste tipologie di HW:

  • generic-x86-64
  • odroid-c2
  • odroid-n2
  • odroid-xu
  • qemuarm
  • qemuarm-64
  • qemux86
  • qemux86-64
  • raspberrypi
  • raspberrypi2
  • raspberrypi3
  • raspberrypi4
  • raspberrypi3-64
  • raspberrypi4-64
  • tinker
  • khadas-vim3

Prerequisiti

Colleghiamoci via SSH al nostro host e diventiamo superuser:

sudo -i

e lanciamo l’installazione di alcuni pacchetti necessari:

apt-get install apparmor jq wget curl udisks2 libglib2.0-bin network-manager dbus systemd-journal-remote -y

Ciò fatto, è necessario verificare di avere installati i seguenti pacchetti con le relative versioni minime:

  • Systemd v. 239
  • NetworkManager v. 1.14.6
  • udisks2 v. 2.8
  • Debian Linux Debian v. 11 (Bullseye)

Mentre è necessario avere la versione 2.13.x di AppArmor.

Per effettuare le verifiche, eseguire il seguente comando:

apt list systemd network-manager udisdks2 apparmor

e verificare le singole versioni.

N.b. Se i pacchetti non dovessero essere presenti e/o non installati/installabili o la versione dovessere essere inferiore a quella indicata, sconsigliamo di proseguire in quanto l’installazione di Home Assistant Supervised sarebbe sì, magari funzionante, ma certamente non ufficialmente supportata, il che potrebbe dare non pochi problemi in seguito.

A questo punto è necessario installare il pacchetto os-agent scaricando il pacchetto “.deb” relativo all’architettura hardware del proprio computer target. Per verificarla lanciare il seguente comando:

uname -m

Le release del pacchetto relativa al proprio hardware è possibile trovarle a questo indirizzo: se ad esempio si utilizza un Mini PC, quasi sicuramente l’architettura sarà x86_64; andrà quindi scaricata la versione “os-agent_X.Y.Z_linux_x86_64.deb“, con il comando (personalizzato in fondo):

wget https://github.com/home-assistant/os-agent/releases/download/1.4.1/os-agent_1.4.1_linux_x86_64.deb

Installare Docker

Installare Docker su Linux Debian è piuttosto semplice, esiste una procedura completamente automatica. Tale procedura è illustrata in dettaglio in questa breve guida.

Se si ha già provveduto all’installazione di Docker, va da sé che questo passaggio possa essere saltato.

vetrina indomus

Istanziare Supervised su Docker

Avviamo finalmente l’istanziamento di Home Assistant Supervised su Docker:

wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
dpkg -i homeassistant-supervised.deb

A questo punto prendiamoci una pausa: l’attività che segue potrebbe metterci fino a 5-10 minuti, dipendentemente dalla velocità della vostra connessione Internet e dalle prestazioni del computer.

Un’indicazione di corretto avanzamento è senz’altro la voce di log:

[info] Install supervisor startup scripts

Al termine – se tutto andrà a buon fine –  il terminale riporterà la seguente voce di log:

[info] Within a few minutes you will be able to reach Home Assistant at:
[info] http://homeassistant.local:8123 or using the IP address of your
[info] machine: http://192.168.1.50:8123
[warn] A reboot is required to apply changes to grub.

la quale identifica il completamento dell’attività.

Infine, riavviamo l’host:

shutdown -r now

Primo accesso su Home Assistant

Ora il container Docker appena installato avvierà la fase automatica di prima installazione interna di Home Assistant Core, la quale impiegherà qualche minuto (anche una ventina). La procedura iniziale sarà di fatto completa quando ci si riuscirà a collegare, tramite il proprio browser sul computer di appoggio, al seguente indirizzo:

http://homeassistant.local:8123

N.b. In caso non ci si riesca a collegare, 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_SERVER:8123, dove l’indirizzo IP è quello assegnato dal router al computer server.

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

ip a

il quale elencherà gli IP associati al server.

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_SERVER:8123

Al termine del completamento dell’installazione dovrebbe apparire un sito analogo a questo:

Home Assistant - onboarding - creazione utente

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

Complimenti! Home Assistant è in esecuzione.

Accesso ai log

A prescindere dai log propri di Home Assistant (consultabili da dentro l’ambiente, che ci si colleghi all’host Home Assistant OS via SSH o via interfaccia), è possibile ovviamente consultare real-time i log del container Home Assistant OS in esecuzione su Docker, a sua volta in esecuzione su Linux Debian.

Il comando – ovviamente dal terminale di Linux Debian – è il seguente:

sudo docker logs hassio_supervisor

Rifinitura

A questo punto Home Assistant è sì pronto, ma ci sono alcuni perfezionamenti, i quali derivano dall’installazione delle componenti aggiuntive che consideriamo “imprescindibili, da attuare.

A prescindere, rimane sempre utile consultare la scheda che illustra tutte le cose da fare dopo questa prima installazione.

Aggiornamento

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

Utilità: come aggiornare Home Assistant

 

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

Dicci la tua o poni la tua domanda nei commenti qui sotto!

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. Se ti sei perso, a tua disposizione c'è la mappa.
Telegram News Channel