community italiana di domotica personale
 
Home Assistant OS, Supervised o Core: quale installazione fa al caso mio?

Home Assistant OS, Supervised o Core: quale installazione fa al caso mio?

Ambienti Home Assistant HassOS-Supervised-Core

Uno dei problemi più tipici che i nuovi utenti si trovano ad affrontare all’atto di adottare per la propria domotica personale l’HUB Home Assistant è quello di sceglierne la tipologia di installazione.

Prima, però, hai letto la rapida scheda sui concetti principali di Home Assistant?

La difficoltà nasce dal fatto che spesso e volentieri non è facile capire quali siano le possibilità e le varie alternative. Su inDomus ci siamo già spesi nello spiegare quali siano i primi passi con Home Assistant e quindi dove partire; in questo FOCUS ci concentriamo maggiormente sul bivio più importante, quello relativo alla scelta tra Home Assistant OS (in breve HassOS, o come chiamato un tempo HASSIO), Home Assistant Supervised e Home Assistant Core.

Ciò che dev’essere chiaro a chiunque si avvicini a questo mondo è cosa sia un HUB personale: Home Assistant (quale sia la modalità di installazione) rientra nella cerchia di queste potenti soluzioni software & hardware. Capito questo si può prendere il toro per le corna e affrontare il dilemma dei dilemmi: cosa installare?

Le differenze

Tanto per essere chiari una volta per tutte, l’HUB è uno e uno solo, e il suo nome è “Home Assistant Core“.
Le sue funzionalità proprie sono identiche per qualsiasi installazione si decida di adottare. Non c’è quindi il rischio di installare l’HUB in un modo o nell’altro e non trovarsi a disposizione delle piattaforme di integrazione, la possibilità di definire automazioni e tutto ciò che tipicamente definisce questo stupendo pezzo di software.

In buona sostanza, quindi, per dotarsi di questo HUB è necessario installare l’Home Assistant Core, il quale sostanzialmente è un applicativo software basato su linguaggio Python.

Installare Home Assistant Core è abbastanza semplice. Può essere fatto piuttosto rapidamente in diversi modi. Si tratta di una modalità sicuramente più orientata verso chi ha una maggiore dimestichezza coi sistemi operativi e con l’informatica in genere: tutto ciò che gravita attorno all’HUB (configurazione dei certificati per la connessione sicura, modifica della configurazione, installazione pacchetti aggiuntivi e molto altro avviene completamente in modo manuale). La distribuzione mondiale delle installazioni, se siete curiosi, è disponibile qui.


Per tutti coloro che invece non abbiano grande dimestichezza interviene quello che un tempo si chiamava HASSIO e che ora, per una scelta che consideriamo un filo fuori di senso (ma tant’è), è stato rinominato semplicemente “Home Assistant” (causando così una grande confusione). Viene anche chiamato Home Assistant OS (o HassOS).

Home Assistant OS è da considerarsi un’appliance, in questo caso un binomio hardware+software concepito in ottica “chiavi in mano”: lo accendi e tutto funziona. Questo per sommi capi: in sostanza di tratta di installare un’immagine preconfezionata sul disco di avvio del computer che lo utilizzerà e questo è sufficiente per dotarsi di un sistema composto da:

  • Home Assistant OS, ovvero il necessario sistema operativo (abbreviazione di Home Assistant Operating System), il quale è una derivazione di Alpine Linux;
  • Home Assistant Core (l’HUB vero e proprio);
  • Home Assistant Supervisor e altri container di servizio.

Supervisor e i sui container di servizio sono ciò che differenzia realmente queste installazioni da quelle “Core”. Si tratta infatti di un elemento che dota l’interfaccia dell’HUB di una sorta di vetrina virtuale dalla quale installare e configurare (tutto via interfaccia grafica) molto rapidamente ed efficacemente funzioni e servizi accessori (ma importanti, come per esempio i già citati certificati per la connessione sicura) evitando le sicuramente più laboriose operazioni manuali previste con Core.

Home Assistant OS può venire installato su molti sistemi hardware diversi: tipicamente viene installato su Mini PC/Intel NUC oppure Raspberry Pi, i quali, a fronte di un costo di acquisto assolutamente limitato, consente di utilizzarlo alla grande. Teoricamente si può installare anche su Sonoff iHost, ma è una cosa sconsigliabile per diversi motivi, tant’è che in questo caso si predilige Core.

Home Assistant Supervised, invece, è sì più o meno la stessa cosa, ma invece di installare sul sistema un’immagine “completa” (sistema operativo + docker + supervisor + core + altro) l’utente provvede a installare da sé il sistema operativo e Docker, dopodiché provvede a istanziare su Docker l’insieme di container presenti su Home Assistant OS, ovvero Supervisor + quelli di servizio.

Anche l’installazione Home Assistant Core (tipicamente su Docker) può essere ospitata sui medesimi sistemi e prevede di installare da sé il sistema operativo + Docker, dopodiché l’utente provvede a istanziare il solo container di Home Assistant Core e nient’altro. Questo ovviamente ottimizza grandemente le performance, ma tutto quello che viene solitamente offerto dallo “store” di add-on di Home Assistant OS/Supervised andrà però poi installato manualmente da sé (per esempio, ulteriori container propri per la gestione di altri servizi).

Home Assistant - le varie installazioni
i vari stack possibili.

Lo schema qui sopra illustra le tre modalità (OS/Supervised/Core). I riquadri arancioni rappresentano le distribuzioni “a pacchetto”, ovvero quelle che vengono installate in un’unica soluzione: ciò che è in essi contenuto viene installato ed eseguito senza che l’utente “debba metterci mano”. Per esempio, nel secondo caso l’utente ha in carico la gestione del sistema operativo e di Docker, ma non dei container della distribuzione “Supervised”). Nel terzo, è tutto in carico all’utente.

N.b. In realtà “Core” può anche essere installato in altre modalità diverse dall’istanziamento Docker, come per esempio quale applicativo “venv” su Raspberry Pi. Si tratta però di modalità sempre meno usate per una questione di praticità di gestione e manutenzione, tant’è che su inDomus abbiamo cessato di documentarle.

Home Assistant OS su Proxmox

Paragrafo a se va dedicato – per lo più per convincervi a non farlo – all’eventualità di implementare Home Assistant OS su ambiente Proxmox Virtual Enviroment, cosa purtroppo spesso fatta su Mini PC/Intel NUC “perché è comodo“, “perchè si ripristina con facilità“, “perché è più semplice“.

Proxmox VE è un ottimo software di virtualizzazione, il quale permette di creare delle macchine virtuali sulle quali installare i più disparati sistemi operativi. Ha senso adottarlo quando c’è comprovata necessità di creare una o più macchine virtuali basate su diversi sistemi operativi. Dato che Home Assistant OS è composto da un sistema operativo Linux Alpine + Home Assistant Core + Supervisor e accessori, anch’esso può venire installato su Proxmox.

Funziona, ma ha senso farlo?
No.

I motivi sono squisitamente tecnici (ma non solo). In primis, Proxmox prevede di allocare delle risorse hardware dedicandole alla macchina virtuale stessa, come per esempio la RAM (salvo utilizzare configurazioni dinamiche). In parte, lo stesso dicasi per CPU e storage. Questo comporta spreco di risorse. Non solo: a volte risulta complicato “far vedere” l’hardware alla macchina virtuale, in quanto prima esso deve venire preso in carico da Proxmox e poi esposto alla macchina virtuale (coi soliti eventuali problemi di performance, tra l’altro).

A prescindere, è proprio quel che si sta realizzando a fare pietà – e non certo per Proxmox, che è un ottimo ambiente di virtualizzazione. La realtà è che così facendo si crea una matrioska dove vengono stratificate le virtualizzazioni, con un risultante sarchiapone dalle prestazioni pachidermiche:

HassOS su Proxmox
il sarchiapone.

Come si capisce dallo schema sopra, in pratica sul proprio host si installa un sistema operativo (quello incluso in Proxmox) con dentro un applicativo di virtualizzazione (Proxmox stesso) sul quale si istanzia una macchina virtuale sulla quale è installato il sistema operativo Alpine Linux sul quale è in esecuzione Docker sul quale sono istanziate le applicazioni virtualizzate dello stack previsto da Home Assistant OS.  Che al mercato mio padre comprò.

Bisogna inoltre tenere in considerazione un altro aspetto importante. Va infatti considerato che ogni oggetto software che si implementa aumenta il livello di complessità del proprio stack, in quanto ognuno va conosciuto sufficientemente bene per poterlo dominare e far sì che tutto funzioni correttamente. GIà Home Assistant Core, in sé, presenta delle insidie: se cominciamo a implementarlo usando Home Assistant OS, ne aumentiamo la complessità, se poi lo virtualizziamo anche, dobbiamo anche conoscere bene Proxmox. Insomma: chi è alle prime armi, paradossalmente, farà meglio a scegliere Core, liscio, bello così come mamma l’ha fatto. 

Ecco perché su inDomus non trovate e non troverete guide specifiche per istanziare Home Assistant OS in questo modo: ci teniamo a divulgare cose fatte con criterio, sopratutto perché le alternative ci sono e sono archietturalmente assai più valide.

Memento: il fatto che milioni di mosche mangino quel che mangino, non significa che abbiano ragione nel farlo.

N.b. Abbiamo effettuato anche alcuni test comparativi (empirici, ben inteso) sui vari scenari di implementazione.
Vetrina - Offerte del giorno

Quale scegliere

Sicuramente Home Assistant (quale sia l’installazione) viene eseguito su ambienti hardware a basso consumo energetico, in quanto tipicamente dev’essere in esecuzione h24 (la domotica non dorme mai – e meno male). Va da sé che solitamente, come detto, viene installato su sistemi come Raspberry Pi, Mini PC o altri.

Il nostro consiglio, sempre, è quello di utilizzare Home Assistant Core, quando possibile. Il motivo è semplice: l’installazione Home Assistant OS è sì apparentemente più pratica, ma nasconde essa stessa delle insidie, oltre ad essere meno performante se paragonato a Core installato da solo. Proprio perché orientata verso un pubblico meno tecnico, quando eventualmente si presentano dei problemi diventa più difficile riuscire a diagnosticarli, perché l’utente è meno abituato a “smanettare”, trovandosi così in difficoltà. Adottare la Supervised ha poi poco senso: se si è in grado di gestire un sistema operativo, allora si è anche in grado di gestire il solo Core su Docker, piuttosto che. installare l’intero stack Supervisor, il quale inficia le prestazioni.

Home Assistant Core ha una curva di adozione sicuramente più ripida, perché è sicuramente più difficile riuscire (se non si è abbastanza tecnici) ad installarlo e domarlo, almeno all’inizio. D’altro canto, una volta prese le misure molto difficilmente ci si trova in difficoltà, proprio perché l’utente non solo acquisisce competenza, ma tale competenza riesce di conseguenza ad utilizzarla per risolvere eventuali problemi. Complessivamente, Core installato “da solo” è nettamente più prestazionale rispetto alle installazioni OS/Supervised.

CONCLUDENDO

In poche parole? Se potete, usate Core.
Se proprio non riuscite ad usarlo, allora provate con Home Assistant OS

HassOS su Proxmox oppure Home Assistant Supervised lasciateli ad altri, a meno che proprio non ne possiate fare a meno (cosa tutta da dimostrare).

Primi passi con Home Assistant: da dove cominciare

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