Mascotte di HectorziN
Blog di HectorziN

Ho trasformato questo M5Stack Dial nel telecomando perfetto per Home Assistant usando ESPHome

Se usi Home Assistant e hai mai pensato che i progetti con ESP32 o ESPHome fossero troppo complicati, questo articolo probabilmente ti farà cambiare idea. Quando vediamo dispositivi personalizzati online, è facile pensare che dietro ci siano centinaia di righe di codice e competenze avanzate di programmazione. In realtà, le cose sono molto diverse. Oggi esistono progetti open source molto completi che permettono di partire da una base già funzionante e adattarla poco a poco alle nostre esigenze. In questo articolo ti mostrerò come ho trasformato un M5Stack Dial in un controller fisico per Home Assistant, usando ESPHome, partendo da progetti già esistenti e apportando solo le modifiche necessarie per adattarlo al mio modo di usare la domotica.

Su YouTube condivido altri tutorial, prove pratiche e progetti reali di smart home. Iscriviti su YouTube

Ho trasformato questo M5Stack Dial nel telecomando perfetto per Home Assistant usando ESPHome

Video correlato su YouTube

Video

Cos'è il M5Stack Dial?

Il M5Stack Dial è un dispositivo basato su un ESP32-S3 che combina diversi elementi davvero interessanti in un formato estremamente compatto:

  • Schermo touch circolare da 1,28 pollici.
  • Encoder rotativo.
  • Pulsante integrato.
  • WiFi.
  • Lettore RFID.
  • Pin GPIO di espansione.
  • Alimentazione tramite USB o direttamente dal retro.

Proprio questa combinazione lo rende un candidato perfetto per diventare un telecomando fisico per controllare Home Assistant.

Invece di tirare fuori continuamente il telefono, puoi avere un controller sempre a portata di mano, appoggiato su un tavolo oppure installato a parete.

Perché usare un controller fisico?

Anche se Home Assistant ha un'interfaccia eccellente, ci sono azioni che facciamo di continuo.

Per esempio:

  • Accendere o spegnere le luci.
  • Cambiare la luminosità.
  • Alzare o abbassare il volume della musica.
  • Modificare la temperatura del climatizzatore.
  • Aprire o chiudere le tapparelle.

Tutte queste azioni richiedono di prendere il telefono, sbloccarlo, aprire Home Assistant e toccare più volte lo schermo.

Con un controller fisico basta girare una rotella o premere un pulsante.

Può sembrare una differenza minima, ma dopo qualche giorno di utilizzo ci si abitua in fretta e poi diventa difficile tornare indietro.

Primo passo: verificare che l'hardware funzioni

Prima di installare qualsiasi firmware personalizzato ho deciso di usare il firmware di esempio fornito da ESPHome Device Builder.

La sua funzione è molto semplice:

  • verificare che lo schermo funzioni;
  • controllare che l'encoder risponda correttamente;
  • assicurarsi che il pulsante funzioni;
  • confermare che il dispositivo possa comunicare con Home Assistant.

Non ha un'interfaccia spettacolare né pretende di controllare la casa.

Serve semplicemente a farci assicurare che l'hardware sia configurato correttamente prima di iniziare a modificare qualcosa.

È un passaggio molto consigliabile perché elimina molti dubbi quando in seguito installiamo un firmware più complesso.

Il primo firmware davvero utile

Componente personalizzato M5Stack Dial per ESPHome

Il repository completo si trova su github dell'autore e YouTuber SmartHome yourself

Una volta verificato il funzionamento del Dial, arriva il momento di installare un firmware pensato per Home Assistant.

Questo progetto permette di controllare diversi tipi di entità semplicemente modificando poche righe del file di configurazione.

Per esempio, possiamo aggiungere:

  • Luci.
  • Climatizzazione.
  • Tapparelle.
  • Lettori multimediali.
  • Ventilatori.
  • Ingressi numerici (inpup_numbers)
  • Serrature
  • sensori numerici (number).
  • Interruttori.
  • Timer (timer).

La cosa interessante è che non stiamo programmando un'applicazione da zero.

Nella maggior parte dei casi ci limitiamo a indicare quale entità di Home Assistant vogliamo controllare.

Per esempio:

  • una luce;
  • un climatizzatore;
  • un lettore multimediale.

Una volta configurato, il Dial mostra automaticamente l'interfaccia corrispondente e possiamo usare l'encoder per modificare luminosità, volume o temperatura a seconda del dispositivo selezionato.

È proprio qui che molte persone scoprono che lavorare con ESPHome è molto più semplice di quanto immaginassero.

Il mio firmware personalizzato

Smart Home Button. A Circular HMI for Home Assistant by Jason

Questo si basa sul fantastico progetto di Jason.

Dopo aver usato quel firmware per qualche giorno mi sono reso conto che funzionava davvero bene.

Tuttavia, volevo un'interfaccia più curata dal punto di vista visivo e un'esperienza d'uso più piacevole.

Cercando diversi progetti ho trovato un firmware sviluppato inizialmente per un altro obiettivo.

Quel progetto era pensato principalmente per controllare una striscia LED utilizzando i GPIO del M5Stack Dial.

Invece di usarlo così com'era, ho deciso di fare un fork e adattarlo completamente per Home Assistant.

Il risultato è il firmware che uso attualmente.

Non è stato scritto da zero.

Parte del lavoro era già stata fatta grazie al progetto originale, ma è stata modificata per adattarla a un utilizzo completamente diverso.

Il repository modificato si trova nel mio github.

Tra le altre cose include:

  • un'interfaccia più pulita;
  • animazioni più curate;
  • schermate ottimizzate per l'uso quotidiano;
  • integrazione con Home Assistant.

Attualmente permette di controllare diverse luci, la climatizzazione e altri dispositivi compatibili.

Come qualsiasi progetto open source, continuerà a evolversi nel tempo.

Alimentazione senza usare l'USB

Uno dei dettagli che mi piace di più del M5Stack Dial è che non siamo obbligati a lasciare collegato il cavo USB.

Una volta configurato possiamo alimentarlo direttamente dal retro utilizzando solo due cavi.

Questo facilita moltissimo un'installazione permanente.

Per esempio:

  • posizionato su un supporto stampato in 3D;
  • installato a parete;
  • integrato all'interno di un mobile.

Il risultato è molto più pulito e dà la sensazione di un dispositivo completamente finito.

Molto più di uno schermo

Un altro aspetto molto interessante del Dial è che dispone di pin GPIO accessibili dal retro.

Questo significa che possiamo collegare hardware aggiuntivo come:

  • sensori;
  • relè;
  • strisce LED;
  • pulsanti;
  • altri dispositivi compatibili con ESP32.

Questo apre la porta a progetti molto più completi.

Anche se in questo articolo ci siamo concentrati su Home Assistant, l'hardware permette di sviluppare molte altre idee.

Serve saper programmare?

Probabilmente questa è la domanda più comune.

La risposta è che dipende da quanto vuoi arrivare lontano.

Se vuoi semplicemente usare uno dei progetti esistenti, non servono grandi conoscenze di programmazione.

La maggior parte del lavoro consiste in:

  • modificare alcune entità;
  • cambiare i nomi;
  • adattare piccoli parametri;
  • compilare il firmware.

Tutto partendo da una base completamente funzionante.

L'IA può aiutarti anche qui

Un altro vantaggio che abbiamo oggi è che gli strumenti basati sull'intelligenza artificiale possono aiutarci a capire progetti che fino a qualche anno fa sembravano inaccessibili.

Se trovi una parte del codice che non capisci, puoi chiedere una spiegazione o persino aiuto per apportare una modifica specifica.

Questo non significa che tutto funzioni automaticamente.

Bisognerà sempre provare, compilare e correggere gli errori.

Ma riduce moltissimo la barriera d'ingresso per chi sta iniziando.

Risorse utilizzate

Firmware M5 dial for ESPHome

https://github.com/SmartHome-yourself/m5-dial-for-esphome

Progetto originale

https://www.hackster.io/JasonFang/smart-home-button-a-circular-hmi-for-home-assistant-872133

Il mio fork adattato per Home Assistant

https://github.com/hectorzin/m5stack-dial-home-assistant

Dove acquistarlo

Se ti interessa M5Stack Dial v1.1, ecco le opzioni di acquisto disponibili:

Conclusione

Dopo aver usato questo progetto per un po' di tempo, credo che la conclusione più importante non sia che il M5Stack Dial sia un buon dispositivo.

La cosa davvero interessante è constatare che iniziare con ESPHome è molto più alla portata di quanto sembri.

Non serve sviluppare un progetto da zero.

Puoi partire da un firmware già funzionante, capire poco a poco come è costruito, modificare piccole parti e adattarlo esattamente alle tue esigenze.

È così che impara la maggior parte della community.

E, probabilmente, è anche il modo più semplice per iniziare se vuoi fare il salto da Home Assistant al mondo degli ESP32.

Domande frequenti

È compatibile con Home Assistant?

Sì. Sia il firmware di esempio sia i progetti utilizzati in questo articolo sono pensati per integrarsi con Home Assistant tramite ESPHome.

Devo saper programmare?

Non necessariamente. Puoi iniziare usando progetti già creati e apportare solo piccole modifiche.

Si può alimentare senza il cavo USB?

Sì. Una volta configurato, il M5Stack Dial può essere alimentato tramite il connettore posteriore utilizzando due cavi.

Quali dispositivi posso controllare?

Luci, climatizzazione, tapparelle, lettori multimediali e praticamente qualsiasi entità compatibile con Home Assistant.

Posso modificare il firmware?

Sì. Sia il progetto originale sia il mio fork sono open source e possono essere adattati per aggiungere nuove funzioni o modificare l'interfaccia in base alle tue esigenze.

Video correlato

COUPON ALIEXPRESS