Installazione di HASS.IO su un miniPC con Ubuntu e Docker

Installazione di HASS.IO su un miniPC con Ubuntu e Docker

di Luigi Duchi

21 Aprile 2020

Home Assistant

Luigi Duchi

Sembra ieri che ho iniziato ad utilizzare Home Assistant per la gestione del mio appartamento, invece sono passati ben 4 anni...

All'inizio era più la voglia di gestire i miei dispositivi Xiaomi (all'epoca avevo iniziato con i loro prodotti) direttamente con un'interfaccia gestibile dal desktop del mio computer.

Cercando in rete conobbi Home Assistant e me ne innamorai (come nelle migliori storie d'amore - NdR).

Oggi esistono diversi modi per usare ed installare Home Assistant.

Quando iniziai esisteva solamente l'installazione in finestra virtuale (oggi chiamata HOMEA ASSISTANT CORE)  

Poco dopo iniziarono ad uscire le prime versioni di HASS.IO, ma all'inizio era veramente molto limitate rispetto ad Home Assistant Core.

In principio ad esempio HASS.IO era installabile solo tramite immagine di fatto impedendo l'utilizzo del dispositivo che lo ospitava.

Motivo per cui, per molto tempo, ho utilizzato la prima modalità di installazione.

Con il passare del tempo HASS.IO è cresciuto molto e ha aggiunto molte possibilità e molte funzioni difficilmente replicabili in Home Assistant Core.

La situazione è ulteriormente cambiata con DOCKER ed è proprio in quest'articolo che ne parleremo.

Logo Docker

... ma prima chiariamo qualche punto vista la materia abbastanza complessa e in continua evoluzione.

In rete si sentono citare tantissimi nomi, cosa che può portare l'utente a fare confusione.

  • HOME ASSISTANT CORE
  • HASS.IO
  • HASSOS
  • HASSBIAN

Facciamo una rapida panoramica del significato delle varie nomenclature.

- HOME ASSISTANT CORE:

questo è il programma nudo e crudo scritto in python, è un software open source e permette di essere installato praticamente su qualsiasi piattaforma supportata da python. Non ha accesso a nessun tipo di add-ons ed ogni aggiunta andrà fatta manualmente mediante riga di comando da terminale.

richiede una buona conoscenza e dimestichezza della riga di comando ed è quindi sconsigliato a chi si affaccia per la prima volta a questo mondo.

- HASSBIAN:

Avrete notato l'assonanza con il nome dato al famosissimo sistema operativo basato su linux specifico per Raspberry, Raspbian. Hassbian è o meglio era, dato che adesso non è più supportato e aggiornato, una versione di Raspbian modificata con a bordo preinstallato Home Assistant.

Questa configurazione prevedeva l'installazione di Home Assistant in finestra virtuale. Non ha più senso utilizzare questo sistema dato che non riceverà aggiornamenti futuri.

- HASSOS:

Questo è un sistema operativo dedicato a svolgere una sola funzione ovvero l'utilizzo di HASS.IO, comprensivo quindi di add-ons. Con questo sistema la vostra macchina diventerà ad uso esclusivo di Home Assistant non potendo utilizzarla in alcun altro modo.

Esiste anche la possibilità di avere un'immagine direttamente flashabile su di una sd che, una volta inserita ad esempio in un Raspberry, vi darà immediatamente accesso all'istanza Home Assistant.

Mi sento di consigliare questa soluzione solo nel caso in cui la installiate su una macchina virtuale in modo da poter comunque utilizzare le risorse della macchina Host.

- HASS.IO:

É un prodotto molto interessante ed è proprio quello che andremo ad installare in questa guida.

HASS.IO rappresenta la fusione tra il programma base Home Assistant e altri strumenti come Hassio Supervisor.

Quest'ultimo prevede una serie di aggiunte importanti come la possibilità di aggiornare Home Assistant direttamente da interfaccia grafica, gestire gli add-on e creare dei backup chiamati snapshot che permettono il salvataggio completo di tutta la nostra configurazione attraverso il tab “SUPERVISOR” presente nel nel pannello a sinistra dell’interfaccia grafica.

Home Assistant supervisor

Tab che non è presente in Home Assistant Core.

Hass.io viene installato tramite container Docker: Home Assistant, e quindi anche hassio-supervisor e i vari add-on, vengono eseguiti ognuno in un container diverso. 

Ma cos'è Docker?

Docker è un progetto open source, la sua funzione è quella di creare uno o più processi che potremmo chiamare per comodità "pacchetti", isolati dal sistema operativo.

Al suo interno sono presenti tutti i file necessari a utilizzare tali processi.

Docker si potrebbe paragonare ad una macchina virtuale ma, mentre in una macchina virtuale il software emula in tutto e per tutto il sistema operativo, in Docker condivide solo il Kernel (Linux) tra i vari pacchetti rendendolo di fatto la soluzione meno complessa (e meno esosa) di una macchina virtuale. 

So che queste nozioni possono essere considerate troppo tecniche per i neofiti, ma è necessario avere una panoramica completa di questo ecosistema.

In passato vi ho mostrato come installare HOME ASSISTANT CORE su di un Raspberry con sistema operativo Raspbian.

Oggi vi mostrerò come installare HASSIO in docker su di un INTEL NUC con sistema operativo Ubuntu (LINUX).

Un mini PC tipo questo:

https://amzn.to/2KhtiaY

Qui mi fermerò nuovamente per rispondere ad alcune domande che sicuramente vi sarete posti leggendo l'ultima frase.

- Devo sostituire per forza il mio Raspberry con un Intel NUC o comunque con un mini pc?

- La risposta è no, è possibile installare questa configurazione anche su di un semplice Raspberry con Raspbian come sistema operativo. A dire il vero essendo Docker compatibile con varie piattaforme, con questa modalità si potrà installare anche su altre tipologie di device ad esempio mini pc e alcuni nas vedi Qnap e Sinology che supportano Docker.

Devo per forza aver installato LINUX UBUNTU sul mio Intel NUC/mini pc nel caso decidessi di cambiare hardware?

- anche qui la risposta è negativa si può installare anche un altra distribuzione Linux come ad esempio Debian ma visto che Vincenzo Caputo ha scritto un'ottima guida per installare UBUNTU (che potrete trovare QUI) non vedo perchè non sfruttarla ;-)

Installazione di HASS.IO su un miniPC - prepariamolo con Ubuntu

Dopo questa lunghissima prefazione arriviamo al cuore dell'articolo.

COME INSTALLARE HASSIO IN DOCKER

Partiamo dal desktop di Ubuntu...

desktop Ubuntu

per prima cosa dovrete aprire il terminale, dato che spesso vi capiterà di utilizzarlo vi consiglio di metterlo nei preferiti, vediamo come fare:

Desktop linux - utilità

Cliccare l'icona composta da tanti piccoli quadratini in basso a sinistra (quella cerchiata di rosso).

Successivamente cliccate sulla cartella utilità.

icona terminale

Posizionate il cursore sull'applicazione terminale e, cliccando con il tasto destro del mouse, selezionare AGGIUNGI AI PREFERITI

Noterete nel desktop principale apparire l'icona del terminale nella barra di sinistra come nella prima foto.

Torniamo a noi.

APRITE IL TERMINALE

se avete installato Ubuntu, digitate questo comando e cliccate invio, diversamente passate direttamente al passaggio successivo:

sudo add-apt-repository universe

ecco questi comandi invece vanno digitati tutti indipendentemente dalla versione linux che state usando.

Ad ogni comando premete invio per conferma.

I comandi potrete copiarli da qui e incollarli direttamente nel vostro terminale.

sudo -i
apt-get update
apt-get install -y software-properties-common apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat
systemctl disable ModemManager
systemctl stop ModemManager
curl -fsSL get.docker.com | sh

###########################################################################################################AGGIORNAMENTO###############################################################################################################

Nel caso abbiate l'ultima versione di ubuntu la 20.04 e i comandi sopra vi dovessero restituire un errore seguite i passaggi qua sotto e successivamente proseguite lanciando il comando che installa homeassistant.

se invece è andato tutto a buon fine saltate pure la parte ua sotto.

############################################################################################################################################################

Aggiornare eventuali pacchetti con il seguente comando:

sudo apt update

Installare alcuni pacchetti necessari che consentono a apt di utilizzare i pacchetti su HTTPS:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Aggiungere la chiave GPG per il repository Docker ufficiale:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Aggiungi il repository Docker:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

Successivamente, aggiornare il database con repository appena aggiunto:

sudo apt update

Assicurati che sia installato dal repository Docker invece del repository predefinito di Ubuntu:

 

apt-cache policy docker-ce

Dovreste visualizzare un messaggio di output simile al seguente:

docker-ce: Installed: (none) Candidate: 5:19.03.8~3-0~ubuntu-bionic Version table: 5:19.03.8~3-0~ubuntu-bionic 500 500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages 5:19.03.7~3-0~ubuntu-bionic 500 500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages 5:19.03.6~3-0~ubuntu-bionic 500 500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages 5:19.03.5~3-0~ubuntu-bionic 500...

infine installa docker:

 

sudo apt install docker-ce

Questo comando opzionale lo puoi usare per determinare lo stato di docker:

 

sudo systemctl status docker

Dovresti trovare un risultato del genere

● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-05-01 19:55:55 CEST; 1min 16s agoTriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 19751 (dockerd) Tasks: 8 Memory: 39.1M CGroup: /system.slice/docker.service └─19751 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Docker è installato passa a digitare lo script che installa home assistant.

############################################################################################################################################################

Adesso che avete preparato il sistema non vi rimane che lanciare il comando per l'installazione vera e propria di Home Assistant.

stringa installazione

Il comando da lanciare sarebbe questo, tuttavia alcune macchine necessitano di un'aggiunta al comando per l'installazione: nel caso del mio... 

INTEL NUC il comando è questo:

curl -sL "https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh" | bash -s -- -m intel-nuc

se avessi avuto un RASPBERRY PI4 il comando sarebbe stato questo

curl -sL "https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh" | bash -s -- -m raspberrypi4

In caso di altre tipologie di macchine basta sostituire l'ultima parte con il dispositivo corrispondente.

Ecco una lista di quelle disponibili al momento del rilascio della guida.

elenco macchine disponibili

Per un elenco aggiornato potete fare riferimento alla pagina GitHub del programma di installazione.

Se non riesci a trovare il tuo tipo di macchina nell'elenco, dovresti scegliere la qemuversione, ovvero qemux86-64 per una normale distribuzione Linux a 64 bit o qemuarm-64 per la maggior parte dei moderni target basati su ARM come cloni di Raspberry Pi o TV box.

Una volta al termine della procedura potrete raggiungere la vostra istanza Home Assistant semplicemente digitando da qualsiasi BROWSER il seguente indirizzo.

http://vostroindirizzoip:8123

dove vostroindirizzoip è l'indirizzo ip della macchina su cui avrete installato Home Assistant ad esempio:

http://192.168.1.25:8123

Ne approfitterò, dato che ho reinstallato tutto, per creare nuove guide passo passo da pubblicare nel prossimo futuro.

Stay tuned!

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Luigi Duchi

Luigi Duchi

Nato a Grosseto il 24 Dicembre 1982 perito elettrotecnico che lavora nel mondo della domotica e installazione di impianti elettrici, impianti di allarmi, videosorveglianza e automazioni in genere. Appassionato da sempre di tecnologia e aperto alla conoscenza di nuove soluzioni.

Disqus loading...