Mascotte de HectorziN
Blog de HectorziN

J’ai transformé ce M5Stack Dial en la télécommande idéale pour Home Assistant avec ESPHome

Si vous utilisez Home Assistant et que vous avez déjà pensé que les projets avec ESP32 ou ESPHome étaient trop compliqués, cet article pourrait bien vous faire changer d’avis. Quand on voit des appareils personnalisés sur Internet, on imagine facilement qu’il y a derrière des centaines de lignes de code et des compétences avancées en programmation. Pourtant, la réalité est bien différente. Aujourd’hui, il existe des projets open source très complets qui permettent de partir d’une base entièrement fonctionnelle et de l’adapter progressivement à nos besoins. Dans cet article, je vais vous montrer comment j’ai transformé un M5Stack Dial en contrôleur physique pour Home Assistant, en utilisant ESPHome, à partir de projets déjà existants et en ne réalisant que les modifications nécessaires pour l’adapter à mon usage de la domotique.

Sur YouTube, je partage plus de tutoriels, tests pratiques et projets domotiques reels. S'abonner sur YouTube

J’ai transformé ce M5Stack Dial en la télécommande idéale pour Home Assistant avec ESPHome

Video associee sur YouTube

Video

Qu’est-ce que le M5Stack Dial ?

Le M5Stack Dial est un appareil basé sur un ESP32-S3 qui combine plusieurs éléments très intéressants dans un format vraiment compact :

  • Écran tactile circulaire de 1,28 pouce.
  • Encodeur rotatif.
  • Bouton intégré.
  • WiFi.
  • Lecteur RFID.
  • Broches GPIO d’extension.
  • Alimentation via USB ou directement par l’arrière.

C’est précisément cette combinaison qui en fait un candidat idéal pour devenir une télécommande physique pour piloter Home Assistant.

Au lieu de sortir constamment le téléphone, vous pouvez avoir un contrôleur toujours disponible sur une table ou fixé au mur.

Pourquoi utiliser un contrôleur physique ?

Même si Home Assistant dispose d’une excellente interface, certaines actions reviennent sans cesse.

Par exemple :

  • Allumer ou éteindre les lumières.
  • Modifier la luminosité.
  • Augmenter ou baisser le volume de la musique.
  • Régler la température de la climatisation.
  • Ouvrir ou fermer les volets.

Toutes ces actions exigent de sortir le téléphone, le déverrouiller, ouvrir Home Assistant et appuyer plusieurs fois sur l’écran.

Avec un contrôleur physique, il suffit de tourner une molette ou d’appuyer sur un bouton.

La différence peut sembler minime, mais après quelques jours d’utilisation on s’y habitue très vite et il est difficile de revenir en arrière.

Première étape : vérifier que le matériel fonctionne

Avant d’installer un firmware personnalisé, j’ai décidé d’utiliser le firmware d’exemple fourni par ESPHome Device Builder.

Sa fonction est très simple :

  • vérifier que l’écran fonctionne ;
  • confirmer que l’encodeur répond correctement ;
  • s’assurer que le bouton fonctionne ;
  • confirmer que l’appareil peut communiquer avec Home Assistant.

Il n’a pas d’interface spectaculaire et ne prétend pas piloter toute la maison.

Il sert simplement à s’assurer que le matériel est correctement configuré avant de commencer à modifier quoi que ce soit.

C’est une étape fortement recommandée, car elle dissipe beaucoup de doutes lorsqu’on installe ensuite un firmware plus complexe.

Le premier firmware vraiment utile

M5Stack Dial custom component for ESPHome

Le dépôt complet se trouve sur le github de l’auteur et YouTuber SmartHome yourself

Une fois le fonctionnement du Dial vérifié, il est temps d’installer un firmware pensé pour Home Assistant.

Ce projet permet de contrôler différents types d’entités en modifiant simplement quelques lignes du fichier de configuration.

Par exemple, on peut ajouter :

  • Lumières.
  • Climatisation.
  • Volets.
  • Lecteurs multimédias.
  • Ventilateurs.
  • Entrées numériques (inpup_numbers)
  • Verrous
  • capteurs numériques (number).
  • Interrupteurs.
  • Minuteurs (timer).

Ce qui est intéressant, c’est que nous ne programmons pas une application depuis zéro.

Dans la plupart des cas, nous indiquons simplement quelle entité de Home Assistant nous voulons contrôler.

Par exemple :

  • une lumière ;
  • une climatisation ;
  • un lecteur multimédia.

Une fois configuré, le Dial affiche automatiquement l’interface correspondante et nous pouvons utiliser l’encodeur pour modifier la luminosité, le volume ou la température selon l’appareil sélectionné.

C’est précisément là que beaucoup de personnes découvrent que travailler avec ESPHome est bien plus simple qu’elles ne l’imaginaient.

Mon firmware personnalisé

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

Celui-ci est basé sur le formidable projet de Jason.

Après avoir utilisé ce firmware pendant quelques jours, je me suis rendu compte qu’il fonctionnait vraiment bien.

Cependant, je voulais une interface plus soignée visuellement et une expérience d’utilisation plus agréable.

En cherchant différents projets, j’ai trouvé un firmware développé à l’origine pour un autre objectif.

Ce projet était principalement pensé pour piloter une bande LED à l’aide des GPIO du M5Stack Dial.

Au lieu de l’utiliser tel quel, j’ai décidé d’en faire un fork et de l’adapter entièrement à Home Assistant.

Le résultat est le firmware que j’utilise actuellement.

Il n’a pas été écrit depuis zéro.

Une partie du travail était déjà faite grâce au projet d’origine, mais il a été modifié pour l’adapter à un usage complètement différent.

Le dépôt modifié se trouve sur mon propre github.

Entre autres choses, il intègre :

  • une interface plus épurée ;
  • des animations plus soignées ;
  • des écrans optimisés pour un usage quotidien ;
  • une intégration avec Home Assistant.

Il permet actuellement de contrôler plusieurs lumières, la climatisation et d’autres appareils compatibles.

Comme tout projet ouvert, il continuera d’évoluer avec le temps.

Alimentation sans utiliser l’USB

L’un des détails que j’apprécie le plus sur le M5Stack Dial, c’est que nous ne sommes pas obligés de laisser le câble USB branché.

Une fois configuré, nous pouvons l’alimenter directement par l’arrière en utilisant seulement deux câbles.

Cela facilite énormément une installation permanente.

Par exemple :

  • posé sur un support imprimé en 3D ;
  • installé sur un mur ;
  • intégré dans un meuble.

Le résultat est beaucoup plus propre et donne l’impression d’un appareil complètement abouti.

Bien plus qu’un écran

Un autre aspect très intéressant du Dial est qu’il dispose de broches GPIO accessibles à l’arrière.

Cela signifie que nous pouvons connecter du matériel supplémentaire comme :

  • des capteurs ;
  • des relais ;
  • des bandes LED ;
  • des boutons ;
  • d’autres appareils compatibles avec ESP32.

Cela ouvre la porte à des projets beaucoup plus complets.

Même si nous nous sommes concentrés sur Home Assistant dans cet article, le matériel permet de développer bien d’autres idées.

Faut-il savoir programmer ?

C’est probablement la question la plus fréquente.

La réponse est que cela dépend de l’objectif que vous vous fixez.

Si vous voulez simplement utiliser l’un des projets existants, vous n’avez pas besoin de grandes connaissances en programmation.

La majeure partie du travail consiste à :

  • modifier certaines entités ;
  • changer des noms ;
  • adapter de petits paramètres ;
  • compiler le firmware.

Le tout en partant d’une base entièrement fonctionnelle.

L’IA peut aussi vous aider

Un autre avantage aujourd’hui, c’est que les outils basés sur l’intelligence artificielle peuvent nous aider à comprendre des projets qui, il y a quelques années, semblaient inaccessibles.

Si vous trouvez une partie du code que vous ne comprenez pas, vous pouvez demander une explication ou même de l’aide pour réaliser une modification précise.

Cela ne veut pas dire que tout fonctionnera automatiquement.

Il faudra toujours tester, compiler et corriger les erreurs.

Mais cela réduit énormément la barrière d’entrée pour ceux qui débutent.

Ressources utilisées

Firmware M5 dial for ESPHome

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

Projet d’origine

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

Mon fork adapté à Home Assistant

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

Ou l'acheter

Si M5Stack Dial v1.1 vous interesse, voici les options d'achat disponibles :

Conclusion

Après avoir utilisé ce projet pendant un certain temps, je pense que la conclusion la plus importante n’est pas que le M5Stack Dial soit un bon appareil.

Le plus intéressant est de constater qu’il est bien plus accessible qu’on ne le pense de se lancer avec ESPHome.

Il n’est pas nécessaire de développer un projet depuis zéro.

Vous pouvez partir d’un firmware qui fonctionne déjà, comprendre peu à peu comment il est construit, modifier de petites parties et l’adapter exactement à vos besoins.

C’est ainsi que la majorité de la communauté apprend.

Et c’est probablement aussi la manière la plus simple de commencer si vous voulez passer de Home Assistant au monde des ESP32.

Questions fréquentes

Est-il compatible avec Home Assistant ?

Oui. Le firmware d’exemple comme les projets utilisés dans cet article sont conçus pour s’intégrer à Home Assistant via ESPHome.

Dois-je savoir programmer ?

Pas nécessairement. Vous pouvez commencer avec des projets déjà créés et effectuer seulement de petites modifications.

Peut-on l’alimenter sans le câble USB ?

Oui. Une fois configuré, le M5Stack Dial peut être alimenté via le connecteur arrière avec deux câbles.

Quels appareils puis-je contrôler ?

Lumières, climatisation, volets, lecteurs multimédias et pratiquement toute entité compatible avec Home Assistant.

Puis-je modifier le firmware ?

Oui. Le projet d’origine comme mon fork sont ouverts et peuvent être adaptés pour ajouter de nouvelles fonctions ou modifier l’interface selon vos besoins.

Video associee

COUPONS ALIEXPRESS