Ciao a tutti,
oggi voglio affrontare un tema che mi sta molto a cuore e che sta diventando sempre più legato al mondo nel quale viviamo: la domotica e il mondo IoT.
Nel mondo in cui viviamo oggi la domotica in ambito domestico è ad oggi un plus, spesso chi vuole domotizzare casa deve ingaggiare aziende specializzate con costi non indifferenti. C’è inoltre da dire che una casa può essere “domotizzata” percorrendo tantissime strade differenti, se non è uno “smanettone” è spesso difficile capire quale è la soluzione migliore per il proprio contesto.
Oggi voglio raccontarvi di come ho progettato ed organizzato la domotica di casa mia (senza che questa fosse nata con una specifica predisposizione), quali scelte ho fatto e quali difficoltà ho incontrato lungo il percorso.
Premetto che non ho nessuna affiliazione con le aziende che nominerò in questo articolo, la scelta è dettata solamente dalle mie personali analisi.
Obiettivi
Tutti i progetto dovrebbero partire con il porsi degli obiettivi, in questo specifico contesto io volevo:
- Poter accendere e spegnere le luci di casa tramite app / Assistente vocale
- Poter creare delle scene in funzione di determinati eventi (es. sto per uscire di casa fa spegnere tutti le luci )
- Non legarmi a nessun brand specifico, il mio sistema deve essere indipendente
- Il sistema deve essere resiliente, devo poter essere “ripristinato” in tempi brevi e continuare ad essere operativo senza troppi sforzi
Il primo obiettivo è ovviamente il motivo per il quale la quasi totalità delle persone vorrebbe un sistema di domotica. Il secondo obiettivo, creare delle scene in funzione di determinati eventi, è un elemento che ormai tutti i sistemi di domotica commerciali ormai hanno: è possibile configurare delle scene quando si entra o si esce di casa, creare una scena relax che imposti determinati tipi di luci e così via.
Non legarsi ad un brand specifico è la prima grande sfida: non tutti i brand possono funzionare con sistemi diversi dai loro e molti non permettono integrazioni con terze parti. A mio avviso questo è un grande punto a sfavore perché ti limiterà a poter utilizzare la domotica solamente entro il perimetro costruito dal produttore: in questi casi non sarà possibile fare “tutto quello che si vuole” e si dovranno accettare dei compromessi.
Infine abbiamo la resilienza del sistema di domotica: l’elettronica è costruita per non durare, questo è un dato di fatto, cosa fare quindi se il computer che gestisce tutta la domotica si guasta? Come faccio a ripristinare tutto nel più breve tempo possibile?
Capire il contesto
Quando sono andato a vivere nella casa dove ho realizzato l’impianto domotico mi sono ritrovato con un impianto elettrico già fatto, non potevo quindi pensare ad un impianto domotico con un bus dedicato (separato dalla linea di tensione).
Un amico ha gestito l’impianto di casa sua collegando qualsiasi elemento (punti luci, prese di corrente, interruttori,..) ad un impianto di PLC racchiuso in un armadio. A livello software ha poi programmato quale luce accedere in funzione di quale pulsante premere: questo è sicuramente un impianto che ti offre una vastissima liberà di movimento ma ha un prezzo decisamente alto, senza contare che serve fisicamente un grande spazio nel punto centrale dove si convogliano tutti i cavi della casa.
Nel mio specifico contesto dovevo valutare una soluzione meno “professionale” e che si adattasse a quello che già avevo, dovevo pensare di installare dei pulsanti smart oppure un qualcosa da installare nelle scatole di corrente.
Scelta del brand e del dispositivo
Inizialmente ho valutato l’acquisto di alcuni pulsanti domotici, i quali avevano al loro interno un modulo bluetooth e che si collegavano ad un dispositivo “gateway”

Li ho scartati per due motivi: il primo era che la maggior parte dei brand che offrivano queste tipologie di pulsanti non permettevano l’integrazione con terze parti, potevi utilizzare solo la loro app ed integrarlo era difficile. Il secondo motivo invece è che dovevo pensare di acquistare circa un centinaio di pulsanti ed i costi erano davvero elevati.
Ho valutato tante altre opzioni ma alla fine la mia scelta è ricaduta sul brand Shelly.

Avevo già utilizzato questi dispositivi per fare qualche esperimento e quindi già li conoscevo mentre un altro amico li aveva utilizzati per domotizzare tutta casa (in una situazione analoga alla mia).
I vantaggi per i quali ho scelto Shelly sono:
- Indipendenza: funzionano nativamente con il cloud Shelly (quindi con la loro app) ma è possibile essere indipendenti e collegarsi ad un MQTT locale. Molti dispositivi, senza internet, non funzionano.
- Dimensioni: gli shelly sono abbastanza piccoli per essere installati direttamente nelle scatole elettriche
- Qualità: la qualità dei dispositivi è ottima, hanno anche diverse certificazioni di sicurezza
Scelta del server di domotica
Sono un amante del Raspberry Pi (❤️) e ne possiedo diversi, uno di questi è un Raspberry Pi 5 con 4GB di RAM: non ho avuto dubbi sulla sua scelta. Per come andremo a realizzare il server non è necessario un Raspberry, potremo utilizzare un qualsiasi altro PC (anche vecchio), il vantaggio è legato al fatto che consumerà molto poco.

Sistema operativo
Avendo selezionato un Raspberry mi sono diretto subito verso Raspberry PI OS, un sistema operativo basato su Debian realizzato appositamente per il nostro PC lampone. L’alternativa potrebbe essere quella di utilizzare una’altra versione di Linux (Debian, Ubuntu Server,..). il mio consiglio è di utlizzare una distro leggera, senza grafica, in modo tale da non “appesantire” il PC con un qualcosa che poi non vi servirà.

Scelta del software
Ci sono diversi software che ti permettono di integrare la domotica a casa tua, gratuiti e Open Source: HomeAssistant, CasaOS, ecc.. Io ho scelto Home Assistant poiché era quello che mi permetteva di avere più flessibilità in termini di integrazioni (sia già pronte che non). Questa soluzione ha diverse modalità di installazione e fornisce anche una versione a pagamento che ti permette di collegarti anche da fuori casa: esistono ovviamente diverse alternative per collegarsi gratuitamente ma lo vedremo dopo.

Server resiliente
Uno dei miei obiettivi era di pensare ad una soluzione che mi permettesse di essere resiliente, ma nello stesso tempo che mi fornisse la flessibilità di ripristinare l’operatività del server di domotica con pochissimo sforzo nei casi in cui il server morisse per qualche motivo. Per farlo ho gestito l’installazione di home assistant tramite Docker. Docker è un software di virtualizzazione che permette eseguire applicazioni in ambienti isolati chiamati “container” che vivono al di sopra del sistema operativo. E’ un software utilizzato tantissimo nel mondo dell’informatica e non, è quindi disponibile moltissima letteratura su come fare qualsiasi cosa!

Home Assistant può essere installato come immagine docker (la gestione di alcune cose è più complessa) oppure scaricando un sistema operativo creato ad hoc (basato su Debian) da installare su Raspberry.

La seconda opzione è offre moltissimi vantaggi in termini di semplicità, c’è un’integrazione diretta con il sistema operativo ed è possibile gestire alcune configurazioni in modo più semplice: la consiglio a chi non è un esperto o chi cerca una soluzione molto più “plug and play”.
La prima opzione però (usare Home assistant in un container Docker) offre un vantaggio fondamentale: una volta configurato il container può essere eseguito ovunque, il sistema è indipendente dal server che stiamo usando, che sia un raspberry o che sia un pc e inoltre possiamo eseguire altre applicazioni (sempre dentro dei container docker) sullo stesso server. Questo significa che se il Raspberry morisse improvvisamente mi basterebbe semplicemente spostare i container docker con la loro configurazione su un nuovo server e avviarlo (nell’altro caso dovremmo migrare dei backup effettuati regolarmente e reimportarli sul nuovo PC).
Io ho scelto l’installazione con Docker poichè sul mio Raspberry ho diverse applicazioni, non solamente Home Assistant.
Backup
Senza un backup non saremo in grado di ripristinare l’operatività del sistema. Nel mio caso ho creato uno script bash che tutte le notti si esegue e copia i container, i volumi (le cartelle con dentro i dati dell’applicazione docker) e le configurazioni delle applicazioni in una cartella separata del Raspberry e su uno storage in cloud (il provider è a vostra discrezione). Questo ultimo punto è secondo me molto importante poiché avere un backup esterno rispetto a dove risiede il nostro server è sempre una delle regole fondamentali del backup 3-2-1 (3 copie, 2 locali in posti differenti e 1 off-site). Non lo auguro a nessuno, ma se un fulmine bruciasse il vostro server e fosse l’unico posto con tutti i backup… beh perdereste tutto senza possibilità di recupero! 😥
Sicurezza
Quando parliamo di dispositivi domotici e IoT non sempre la sicurezza è la preoccupazione numero uno dei produttori. Nella mia piccola esperienza ho avuto a che fare con sistemi insicuri oltre ogni immaginazione (es. allarmi di casa o telecamere di sicurezza). Ho avuto allarmi di casa esposti in internet la cui sicurezza si basava su un pin numerico di poche cifre, inutile dire che questa è una vulnerabilità che se sfruttata permetteva di disattivare senza sforzo l’allarme. Cambiando ambito potremmo parlare delle insicurezze delle telecamere: oggi ne esistono di vari brand e modelli ma non è raro leggere che queste siano insicure o che espongano delle backdoor (es. si era parlato molto di Hikvision che esponeva delle backdroor per consentire una connessione remota).
La sicurezza deve quindi essere un aspetto da prendere in considerazione già in fase di progettazione. Per quanto riguarda le telecamere di sicurezza io ho scelto solo telecamere alimentate con cavo di rete (niente wifi!) del brand Hikvision poiché forniscono un buon prodotto, con un ottimo rapporto qualità prezzo. Per “gestire” la sicurezza di questi dispositivi (che sono potenzialmente insicuri) li ho collegati tutti ad una rete separata: le telecamere vivono in una rete a sé, non possono uscire in internet e l’unico che può accedere alle telecamere è l’nvr, in un’altra rete, protetto da regole del firewall (il mio nvr ha due schede di rete, una connessa alla mia rete e una connessa allo switch delle telecamere).
Ho inoltre escluso le telecamere wifi, sia perché sono facilmente “disattivabili” con un disturbatore di frequenze e sia perchè potrebbero essere attaccabili informaticamente (qualcuno potrebbe quindi collegarsi sfruttando qualche vulnerabilità direttamente alla camera).
Detto questo è bene ricordare una cosa: un computer sicuro è un computer non connesso in rete, non è possibile proteggere una rete al 100% poiché ci saranno sempre delle vulnerabilità più o meno note. E’ bene però cercare di limitare il perimetro di attacco.
Per quanto riguarda modem, router e switch ho utilizzato Unifi Ubiquity, un brand che ti permette di gestire in modo molto professionale la tua rete. Mi sto trovando davvero bene, prima avevo utilizzato una soluzione del brand TP-Link (che mi ha fatto dannare non poco sia per la qualità sia per la personalizzazione della rete). Ubiquity costa qualcosa in più ma vale 1000 volte tanto qualsiasi altro prodotto più di fascia bassa.
Collegarsi al server domestico da rete esterna
Abbiamo configurato e collegato il nostro server alla rete domestica, ma come facciamo a collegarci quando siamo fuori casa? La risposta non è sicuramente il port forwarding, poiché è la soluzione più veloce e meno sicura: è come se chiudessimo a chiave tutta la casa ma lasciassimo una finestra spalancata sperando che nessuno la noti per entrare.
La soluzione più sicura e corretta è quella di configurare una VPN sul nostro server. Una volta installata la dovrete configurare sui vostri dispositivi (es. telefono) in modo tale da poterla sfruttare per collegarvi quando sarete fuori casa.
E’ anche possibile configurare la VPN affinchè sia instradato solamente il traffico verso alcuni indirizzi specifici (per esempio solo l’ip statico del vostro server locale) anzichè tutto il traffico. La mia connessione di casa per esempio, ha un basso upload (20Mbps) e quindi se avessi instradato tutto il traffico avrei navigato lentamente, con questo approccio la mia VPN è sempre attiva, sono sempre connesso al server di casa ma passo dalla VPN solamente per andare verso l’indirizzo del mio server, in tutti gli altri casi utilizzo la rete normale.
Conclusioni
In questo articolo ho voluto condividere la mia esperienza nel realizzare un sistema domotico in una casa non predisposta, mostrando come sia possibile creare un impianto funzionale, flessibile ed il più possibile sicuro anche senza ricorrere a costose soluzioni professionali o riprogettare completamente l’impianto elettrico esistente.
Gli obiettivi che mi ero prefissato – controllo delle luci tramite app o assistente vocale, creazione di scene personalizzate, indipendenza dai singoli brand e resilienza del sistema – sono stati raggiunti grazie a scelte ponderate sia in termini hardware che software.
La decisione di utilizzare i dispositivi Shelly si è rivelata vincente per la loro indipendenza dal cloud, le dimensioni compatte che ne permettono l’installazione nelle scatole elettriche esistenti e l’ottima qualità costruttiva. Per quanto riguarda il server, la combinazione di Raspberry Pi 5, Docker e Home Assistant offre un sistema potente, flessibile e facilmente ripristinabile in caso di guasti.
La domotica rappresenta un settore in continua evoluzione, con tecnologie sempre più accessibili e semplici da implementare. Il mio consiglio per chi vuole intraprendere questo percorso è di partire dagli obiettivi che si vogliono raggiungere, analizzare attentamente il proprio contesto abitativo e scegliere soluzioni aperte, che non vincolino a un singolo ecosistema e che possano essere facilmente integrate tra loro.
Ricordate che la vera domotica non è solo avere una casa “smart”, ma costruire un sistema che si adatti alle vostre esigenze, che sia sicuro e che possa evolvere nel tempo insieme alle vostre necessità. La tecnologia deve essere al nostro servizio e non viceversa: quando un sistema domotico funziona davvero bene, quasi ci si dimentica della sua esistenza, perché diventa parte naturale e intuitiva della nostra vita quotidiana.
Non mancherò di approfondire tutti questi aspetti in articoli dedicati.
Buona domotica a tutti!