High-tech

Transformation d’une liseuse en tableau de bord pour maison connectée.

Construire et entretenir ses tableaux de bord sur Home Assistant requiert de le faire soi-même, carte par carte. Le projet a duré plusieurs heures et il ne s’agit pas d’un investissement matériel majeur, mais plutôt du temps consacré à décrire et corriger l’interface.

Créer ses tableaux de bord manuellement, puis les maintenir, représente le second obstacle de Home Assistant, celui qui rebute juste après l’installation. Au lieu de les coder, je les ai dictés, et j’ai investi dans un écran sur mesure.

Connecter sa maison est une chose, mais pouvoir en avoir un aperçu instantané en est une autre, et c’est justement là que ça coince. C’est précisément à ce stade que Home Assistant m’avait toujours arrêté : il faut concevoir ses tableaux de bord soi-même, carte par carte, puis s’en occuper en permanence. J’ai vu des passionnés y consacrer des week-ends entiers. Ce n’est pas pour moi. Cette fois, j’ai choisi de les décrire au lieu de les coder.

À noter que cet article fait suite à celui publié ce matin, relatant mes premières expériences avec Home Assistant, assisté par une IA. Après le premier épisode, voici le second.

Pour aller plus loin
J’ai mis dix ans à oser Home Assistant : il m’a fallu quelques heures et une IA

Cette approche n’est pas une nouveauté dans la communauté Home Assistant : réutiliser une vieille liseuse ou un Kindle comme tableau de bord toujours allumé est une idée qui a été explorée depuis longtemps par des bricoleurs, attirés par la faible consommation d’énergie et l’absence de reflets de l’e-ink. La nouveauté réside dans le fait de confier l’essentiel du travail de mise en page et de codage à un assistant IA, au lieu de tout écrire soi-même.

L’idée initiale était simple : un écran dans la cuisine, allumé en permanence. Je possédais une liseuse e-ink qui ne servait plus, une Boox de 10,3 pouces (j’accepte qu’une ancienne tablette Android aurait largement suffi), avec une définition de 1 872 par 1 404 pixels, soit 227 points par pouce, en noir et blanc, sans rétroéclairage. Elle ne fatigue pas les yeux, consomme très peu d’énergie et peut rester allumée des heures. Cependant, l’affichage de Home Assistant sur un écran e-ink s’est avéré plus compliqué que prévu : les couleurs deviennent floues, les animations laissent des résidus, et l’écran se met en veille tout seul. En somme, l’écran idéal pour la cuisine était également assez capricieux.

On a commencé par dessiner, pas par coder

Avant d’écrire la moindre ligne de code, nous avons esquissé l’apparence de l’écran sur papier : de grands chiffres, des lignes fines pour délimiter les zones, et rien d’autre. Pas de couleur, d’animation ou d’ombre. À gauche, l’heure en gros caractères et, la météo; à droite, une grille avec la température des pièces, les volets, les lumières et la consommation d’énergie. Cette maquette a servi de plan, avec l’aide de Claude Design, et le code a seulement suivi ce modèle.

blank

Pour le reste, c’est assez simple. L’écran est dessiné sur une toile avec les dimensions exactes de la liseuse, 1 872 par 1 404 pixels. Le programme lit les états de la maison dans Home Assistant, compose cette toile, puis l’étire pour remplir l’écran. Au total, deux fichiers : un pour l’apparence et un pour la logique.

La complexité est venue de la finesse de l’écran. Ma Boox affiche 227 points par pouce en noir et blanc, et à cette densité, la liseuse peine à produire des gris corrects. Elle crée des nuances de gris avec une multitude de petits points, ce qui devient flou dès qu’on superpose du texte. Nous avons donc éliminé tous les gris intermédiaires. Un noir net sur un fond blanc net, des lignes pour délimiter les sections plutôt que des fonds grisés, et tout est devenu plus lisible. Pour vérifier, l’assistant prenait une photo de l’écran à la résolution exacte de la liseuse, mesurait chaque élément, avant de déployer la mise à jour. C’est ainsi que nous avons résolu les véritables bugs : l’heure coupée en haut, le bloc énergie qui débordait, des tuiles qui s’étendaient sur deux lignes. Comme tout était trop petit au départ, un zoom ajustable a été ajouté pour agrandir l’ensemble, sauf pour l’horloge et la température, déjà très grandes. Mais ce n’était pas le seul souci.

Le casse-tête, c’est de rafraîchir l’écran

Sur un écran ordinaire, on met à jour constamment sans y penser. Sur un e-ink, c’est impossible : chaque pixel qui change nécessite un rafraîchissement lent, qui clignote et consomme la batterie. Il a donc fallu trouver un équilibre. Nous lisions la maison une seule fois, puis procédions à des mises à jour par étapes : l’horloge à chaque minute, toutes les données toutes les quinze minutes, et un rechargement complet de la page toutes les quelques heures.

blank

Deux détails sont restés que je n’aurais jamais trouvés seul. Toutes les trente minutes, l’écran réalise un bref flash, d’abord noir puis blanc, afin d’effacer les résidus d’image laissés par l’e-ink. Une autre fois, l’horloge a pris du retard, car Android désactive les minuteurs quand il pense que l’écran est inactif : l’application envoie désormais un petit signal régulièrement pour remettre l’heure à jour.

blank

Ce matin, la météo a disparu de l’écran parce que l’API Météo-France était inaccessible. Depuis, j’ai ajouté une redirection automatique vers une source de secours : si Météo-France ne répond plus, l’affichage se bascule automatiquement.

blank

Tout l’écran suit ce protocole de rafraîchissement lent, sauf un bloc : le Sonos. Car la musique est la seule chose que l’on veut voir changer à la seconde. Lorsqu’un nouveau morceau commence dans la cuisine, la couverture de l’album, le titre et l’artiste se mettent à jour immédiatement. Pour cela, cette section de l’écran est la seule à rester connectée en temps réel à Home Assistant. La couverture de l’album est convertie en nuances de gris en temps réel pour s’adapter correctement au noir et blanc. De plus, tout est tactile : je peux tapoter pour mettre en pause, avancer au morceau suivant, augmenter le volume ou lancer l’une de mes playlists, depuis l’écran, sans avoir besoin de sortir mon smartphone.

L’épreuve du réel, mesurée au pixel

blank

Son rôle est limité à quatre actions : maintenir l’interface en plein écran, empêcher la mise en veille, recharger la page en contournant le cache, et provoquer un bref flash noir et blanc pour effacer les résidus. La face visible est conçue pour le monochrome : de gros chiffres, des traits fins, aucune couleur, aucune animation. Rien de spectaculaire, mais c’est exactement ce que l’e-ink peut afficher sans baver.

Ensuite est venue l’épreuve du réel, et c’est la partie que je préfère. Trop petit sur l’écran ? Nous ajoutons un zoom en redimensionnant le canevas logique de l’interface. Ça déborde et l’heure est coupée en haut ? Nous ajustons la mise en page au pixel près. Pour vérifier, l’assistant capturait la page rendue à la résolution exacte de ma liseuse, la mesurait et comparait, avant chaque déploiement.

Une maison, quatre écrans

Une fois la cuisine finalisée, le reste a quasiment suivi tout seul. La même maison, adaptée pour une tablette couleur dans le salon, installable comme une véritable application, en plein écran, avec les pochettes d’albums Sonos en couleur cette fois.

blank
Petit aperçu des interfaces que j’ai mises en place

Ensuite, pour le smartphone, en version verticale, conçue pour le pouce, pouvant être ajoutée à l’écran d’accueil. Et enfin, une page d’accueil unique regroupant tous ces écrans, l’état de chaque service en temps réel et la feuille de route du projet.

Le tout sous une esthétique harmonieuse, avec une typographie soignée, un fond sombre, une seule ponctuation cyan, et un mot de passe pour accéder à tout.

Le fait que je souhaite souligner : je n’ai pas appris à concevoir des interfaces, mais à les décrire à une IA qui les réalise. Nous dessinons, nous imaginons, et l’outil s’occupe de fabrication, mesure et correction.

Les tableaux de bord de Home Assistant existent toujours, mais maintenant, il est possible de faire du sur-mesure. Bien sûr, il faut le bon équipement, être prêt à relire, et garder à l’esprit que l’IA a connu plusieurs erreurs. Je l’ai constaté en surveillant le processus.

Concernant le budget, le projet reste modeste : la liseuse Boox était déjà dans un tiroir, et une vieille tablette Android aurait suffi pour bien moins cher. Le véritable investissement n’est pas dans le matériel, mais dans le temps passé à décrire, relire et corriger l’interface avec l’assistant, un temps qui se compte en heures (surtout en moments de réflexion sous la douche), et non en week-ends.

Car oui, ce qui prenait autrefois des week-ends peut désormais tenir dans une simple conversation, et c’est sans doute le vrai changement, plus que les écrans soignés.

Pour aller plus loin
J’ai mis dix ans à oser Home Assistant : il m’a fallu quelques heures et une IA