Une étape qui me semblait particulièrement longue vient pourtant de s'achever après... une après midi de travail !
Une des plus grandes difficultés, lorsqu'on travaille sur un projet, consiste à changer tout le code, pour le passer d'un langage de programmation à un autre.
C'est clairement le cas pour ce projet, étant donné que le code Arduino initial (en C++) devait être traduit en YAML (le langage utilisé sur Home Assistant), et ce, sans que je n'ai de grande connaissance dans ce nouveau langage.
Pourtant, et c'est bien la preuve de son efficacité, je suis parvenu à re-coder tout l'avancement du projet en YAML en l'espace d'une après midi !

Mieux encore: je l'ai amélioré !
En effet, grâce aux fonctions disponibles sur ESPHome, la récupération de l'état des autres systèmes est simplifiée. Par ailleurs, il est possible de créer des personnalisations par défaut, ce qui évite des répétitions dans le code.
Enfin, on peut personnaliser aisément certains aspects de l'affichage, comme les polices d'écriture par exemple.
Pour autant, le code actuel en YAML prend autant de lignes que l'ancien (663), mais il m'a demandé une après midi de travail, quand le précédent en avait demandé des semaines.
Voici quelques visuels de l'écran de contrôle (qui a changé, mais dont les dimensions restent les mêmes).
J'ai profité des évolutions pour intégrer une police au démarrage, très similaire à celle du jeu vidéo "Planet Coaster".
Un petit clin d'oeil à cette franchise (dont la sortie de Planet Coaster 2 est imminente) et que j'aime particulièrement.
Il sera ajouté l'image de fond de ce site web à l'écran de démarrage.
Un système d'économie d'énergie est également ajouté. Lorsque l'écran n'est pas utilisé pendant une minute, sa luminosité baisse de 50%. Puis, au bout de 2 minutes, l'écran s'éteint.
Un simple appui, ou l'usage d'un bouton sur la future console de commande suffira pour le rallumer.
Au démarrage, le système attend d'être connecté à Home Assistant avant d'afficher le bouton d'accès au menu principal.
Ceci fait, toutes les 10 secondes, il effectue une vérification des autres équipements connectés à ESPHome.
On voit ici que j'ai pu coder la vérification des manèges Jupiter (la grande roue), Jungle Train (un manège de type chenille) et Octopussy (un manège de type pieuvre).
Même si la construction de ces manèges n'a pas commencé (seule la grande roue est en cours de fabrication), les ESP qui en contrôleront les moteurs sont pré-configurés.
Les manèges qui apparaissent en bleu n'ont pas encore été implémentés dans les vérifications (j'attends de recevoir de nouveaux ESP).
Ainsi, le développement du logiciel de gestion des attraction peut dès à présent reprendre là où il s'était arrêté.
Je vous présenterais bientôt toutes les fonctionnalités préparées pour l'occasion !