Un article XDA de la semaine dernière racontait une maison intelligente qui s’est effondrée en une soirée. Le propriétaire a rangé les noms de ses appareils, appuyé sur enregistrer, et chaque automatisation qui référençait les anciens ID s’est tue. Les lumières ont cessé de réagir aux mouvements. La routine matinale a sauté la moitié de ses étapes. Le tableau de bord s’est rempli de points d’exclamation rouges. Rien dans Home Assistant ne l’avait averti avant le changement ; rien ne l’avait annulé après.
Cette histoire est assez courante pour que la nomenclature des entités Home Assistant mérite son propre ensemble d’outils, pas juste un renommage par un après-midi pluvieux. Les sept applications de bureau ci-dessous couvrent tout ce dont vous avez besoin avant de toucher un seul ID : des refactorisations à blanc, de la vérification YAML, une recherche inter-fichiers, des alias qui séparent le nom convivial de la clé machine, des flux de renommage Zigbee et Z-Wave qui se resynchronisent avec les entités, et un contrôle de version pour que les erreurs soient annulables en quelques secondes.
Ce qu’il faut rechercher dans une configuration de nomenclature d’entités
- Refactorisation à blanc. Un renommage doit prévisualiser chaque automatisation, script, scène, tableau de bord et référence de plan avant de valider quoi que ce soit.
- Vérification YAML. Une indentation cassée ou un
entity_id:qui dépasse doit échouer dans votre éditeur, pas dans votre routine matinale. - Recherche d’ID d’entité dans les automatisations, scripts et scènes. Un raccourci pour trouver chaque endroit où
light.living_room_lampapparaît, y compris à l’intérieur des modèles. - Prise en charge des alias. Les noms conviviaux doivent être libres de changer sans toucher à l’ID d’entité sous-jacent dont dépendent les automatisations.
- Renommage des appareils Zigbee et Z-Wave qui se resynchronise avec les entités. Renommer un appareil dans l’interface ZHA ou Z-Wave JS doit se propager à chaque entité qu’expose cet appareil, pas laisser d’orphelins.
- Configuration contrôlée en version. Git ou équivalent pour qu’une mauvaise refactorisation soit à un
git revertde la guérison.
Comparaison rapide
| Application | Meilleur pour | Gère les références de renommage | Coût |
|---|---|---|---|
| Home Assistant | La boîte de dialogue de renommage principale | Oui, natif | Gratuit |
| Studio Code Server | Édition et recherche YAML | Oui, via recherche dans les fichiers | Gratuit |
| HACS | Installation du reste de cette liste | Non, prérequis | Gratuit |
| ESPHome | Matériel DIY, source unique de vérité | Oui, à la compilation | Gratuit |
| Node-RED | Automatisations visuelles complexes | Partiel, par flux | Gratuit |
| Automation Editor | Édition d’une seule automatisation en UI | Oui, natif | Gratuit |
| Custom Brand Icons | Audit visuel des conventions de nomenclature | Non, détecte la dérive visuellement | Gratuit |
Les applications
1. Home Assistant
Télécharger: Home Assistant
Commencez ici, car le cœur s’est beaucoup amélioré là-dessus. Depuis la version 2023.4, la boîte de dialogue des paramètres d’entité contient un outil “Entity ID rename” qui recherche les automatisations, scripts, scènes, tableaux de bord et plans pour les références à l’ancien ID et offre de les mettre à jour en une seule passe. Il s’exécute d’abord en aperçu, énumérant chaque correspondance avec son fichier et sa ligne, et ne valide que si confirmé.
Cet aperçu est le filet de sécurité le plus utile de la pile. Il capture les références modélisées à l’intérieur de Jinja qu’une recherche textuelle simple manquerait, et signale les cas où un ID apparaît à l’intérieur d’une ancre YAML ou d’un fichier de paquet que l’interface ne toucherait pas autrement. Quand il ne peut pas résoudre automatiquement une référence (un ID d’entité construit à l’exécution à partir d’une variable, par exemple), il le dit au lieu de passer silencieusement.
Le hic : il ne connaît que les sources qu’il peut voir. Les intégrations personnalisées qui stockent les ID d’entité dans leurs propres fichiers JSON, ou les flux NodeRED enregistrés en dehors de .storage, nécessitent une deuxième passe avec les outils plus bas dans cette liste.
2. Studio Code Server
Télécharger: Studio Code Server
L’add-on installé par HACS qui met un VS Code complet dans un onglet du navigateur, pointé directement sur /config. La vérification YAML est activée par défaut, l’extension Home Assistant est préinstallée, et Ctrl+Shift+F effectue une recherche dans le projet entier qui respecte .gitignore.
Pour la nomenclature d’entités, c’est ici que se déroule l’audit de deuxième passe. Après l’exécution de la boîte de dialogue de renommage principale, ouvrez Studio Code Server, recherchez l’ancien ID et confirmez qu’il y a zéro correspondances. S’il y en a d’autres, elles se trouvent généralement dans des fichiers que la boîte de dialogue ne peut pas examiner : définitions de commandes shell, URL de capteurs REST ou capteurs de modèle construits avec state_attr(). Corrigez-les là, validez, rechargez.
L’autocomplétion mérite sa propre mention. Tapez entity_id: et il suggère le registre en direct, les fautes de frappe ne survivent donc jamais à l’exécution. Renommez un appareil demain et les suggestions se rafraîchiront au prochain rechargement.
3. HACS (Home Assistant Community Store)
Télécharger: HACS
Pas un outil de nomenclature, mais un prérequis. HACS est le gestionnaire de paquets communautaire qui installe Studio Code Server, Custom Brand Icons et quelques intégrations de qualité de vie qui rendent possible le reste du flux de travail. La configuration est unique : activez le mode avancé dans votre profil, déposez l’intégration HACS via une commande shell, redémarrez et ajoutez l’intégration.
Deux habitudes qui valent la peine d’être adoptées une fois que HACS est en place. Premièrement, épinglez les versions plutôt que de suivre main sur tout ce qui touche les entités, car une rupture surprenante lors d’une refactorisation de renommage est le pire moment possible. Deuxièmement, utilisez la vue du journal des modifications intégrée de HACS avant chaque mise à jour. C’est souvent le seul endroit où le comportement de rupture de renommage est signalé d’avance.
4. ESPHome
Télécharger: ESPHome
Pour tout sur du matériel ESP32 ou ESP8266, ESPHome est la couche de nomenclature. Réglez name: living-room-lamp une fois dans le YAML de l’appareil et chaque entité qui flash sur cette carte (light.living_room_lamp, sensor.living_room_lamp_temperature, quoi que ce soit) obtient un ID correspondant. Modifiez le champ name:, reflash, et Home Assistant voit les nouveaux ID au prochain démarrage.
Cette source unique de vérité est ce qui empêche le type de dérive que l’article XDA décrivait. L’ancien schéma était : renommez l’appareil dans Home Assistant, renommez-le à nouveau dans ESPHome, espérez que les deux côtés sont d’accord. Le schéma actuel est : renommez-le dans ESPHome, laissez Home Assistant suivre. C’est une surface plus petite à maintenir cohérente, et les fichiers .yaml contrôlés en version signifient que chaque renommage est une différence dans un dépôt.
Associez-le à la boîte de dialogue de renommage principale pour le changement initial. ESPHome crée les nouveaux ID au premier démarrage ; la boîte de dialogue réécrit les références aux anciens. Deux passes, pas d’orphelins.
5. Node-RED
Télécharger: Node-RED
Quand les automatisations dépassent une vingtaine ou une trentaine et que l’éditeur YAML commence à se sentir étroit, l’éditeur de flux visuel de Node-RED est l’étape suivante habituelle. Les ID d’entités deviennent des citoyens de première classe sur le canevas : chaque nœud qui en touche un l’affiche dans l’étiquette, et la barre latérale a une recherche de registre en direct pour que les ID mal saisis soient impossibles à enregistrer.
Pour la nomenclature d’entités spécifiquement, la recherche par flux de Node-RED est l’outil. Ouvrez un flux, appuyez sur Ctrl+F, tapez l’ancien ID, et chaque nœud qui le référence s’éclaire. Renommez en masse via les panneaux de configuration des nœuds, déployez, terminé. Les flux s’exportent en JSON, ils vivent donc heureux dans le même dépôt git que le reste de la configuration.
Le compromis : Node-RED s’exécute aux côtés du moteur d’automatisation de Home Assistant plutôt que de le remplacer, donc un renommage d’ID d’entité doit maintenant être appliqué à deux endroits. Gardez une liste de contrôle.
6. Automation Editor (intégré)
Télécharger: Automation Editor (fourni avec Home Assistant)
L’éditeur d’interface utilisateur standard est souvent sous-estimé. Pour l’édition d’une seule automatisation, il traite les ID d’entité comme des références consultables : modifiez le sélecteur d’entité du déclencheur et les champs de condition et d’action correspondants se mettent à jour au même enregistrement. Aucune édition YAML manuelle, aucun risque de virgule égarée.
Où il gagne sa place dans cette liste est l’invite “Rename” qui apparaît quand vous modifiez un appareil ou une entité que l’automatisation référence. Il offre le même aperçu des références de mise à jour dans la configuration que le fait la boîte de dialogue principale, limité à l’automatisation que vous avez ouverte. Pour le cas courant, éditez une seule automatisation, remarquez que l’entité liée a obtenu un ID plus convivial, acceptez le renommage, enregistrez et continuez.
Pour tout ce qui s’étend sur plusieurs automatisations, utilisez plutôt la boîte de dialogue de renommage principale. Celle-ci est pour les changements de fichier unique chirurgicaux.
7. Custom Brand Icons
Télécharger: Custom Brand Icons
Le différent, et celui qui se paie lui-même le plus rapidement. Custom Brand Icons est une intégration HACS qui vous permet d’attacher des icônes de fournisseur et de produit aux entités selon un motif. Donnez à chaque entité light.living_* la même icône de lampe, à chaque sensor.*_battery la même icône de batterie, à chaque switch.plug_* la même icône de prise.
L’avantage de la refactorisation de la nomenclature est visuel. Ouvrez le tableau de bord après un renommage et toute entité qui est tombée en dehors du motif (une faute de frappe, un alias obsolète, un appareil renommé mais pas l’assistant lié) affiche l’icône de secours par défaut au lieu de l’icône familiale. Un renommage incorrect apparaît comme une valeur aberrante visuelle avant d’apparaître comme une automatisation cassée.
Réglez les motifs une fois par rapport à votre convention de nomenclature, conservez-les dans configuration.yaml, et chaque renommage futur correspond soit au motif, soit s’annonce lui-même.
Comment choisir la bonne pile
La couche de base, pour chaque configuration : Home Assistant plus HACS plus Studio Code Server plus git. Cette combinaison vous donne la boîte de dialogue de renommage principale, la recherche de deuxième passe, le canal de paquets communautaire pour le reste, et le bouton Annuler.
Ajoutez ESPHome si l’une de vos entités provient de matériel DIY. Cela déplace la source de vérité de ces noms hors de l’interface Home Assistant et dans un YAML contrôlé en version, et supprime toute une classe de bugs de dérive.
Ajoutez Node-RED si vous avez plus de quelques douzaines d’automatisations ou si l’une d’elles s’étend sur plus de trois ou quatre étapes. L’éditeur visuel est plus facile à vérifier à grande échelle, et la recherche par flux est la façon dont vous attrapez les ID orphelins dans les flux complexes.
Ajoutez Custom Brand Icons tôt plutôt que tard. Définir les motifs avant un renommage signifie que le tableau de bord devient un outil de détection de changement, pas seulement un affichage.
L’Automation Editor est toujours disponible et vaut la peine d’être utilisé pour les éditions de fichier unique. Ce n’est pas un remplacement pour la boîte de dialogue de renommage principal quand un changement touche plusieurs automatisations, mais c’est le chemin le plus rapide pour le nettoyage quotidien.
FAQ
Renommer une entité dans Home Assistant met-il automatiquement à jour chaque automatisation qui l’utilise ?
Depuis la version 2023.4, la boîte de dialogue de renommage d’ID d’entité recherche les automatisations, scripts, scènes, tableaux de bord et plans pour les références et offre de les mettre à jour en une seule passe. Il montre un aperçu en premier. Il ne peut pas voir les références à l’intérieur des intégrations personnalisées qui stockent les ID dans leurs propres fichiers ou à l’intérieur des flux Node-RED, donc une recherche de deuxième passe dans Studio Code Server vaut toujours la peine d’exécuter après chaque renommage.
Quelle est la différence entre le nom convivial et l’ID d’entité ?
L’ID d’entité (light.living_room_lamp) est la clé machine que les automatisations, scripts et modèles utilisent pour adresser l’entité. Le nom convivial (“Living room lamp”) est l’étiquette qui apparaît dans les tableaux de bord, les assistants vocaux et les notifications. Modifiez librement le nom convivial ; l’ID d’entité reste stable et aucune automatisation ne casse. Modifiez l’ID d’entité uniquement via la boîte de dialogue de renommage pour que les références se mettent à jour.
Les appareils doivent-ils être renommés depuis l’interface d’intégration ou depuis les paramètres d’entité ?
Renommez l’appareil depuis l’interface d’intégration (ZHA, Z-Wave JS, ESPHome, etc.) quand l’objectif est de modifier chaque entité que cet appareil expose à la fois. Renommez l’entité individuelle quand seulement une des entités de l’appareil a besoin d’un ID différent. Les deux flux activent maintenant le même aperçu des références de mise à jour, donc le filet de sécurité est le même dans les deux cas.
Comment vérifiez-vous une configuration Home Assistant pour les fautes de frappe d’ID d’entité avant qu’elles ne causent des pannes ?
Studio Code Server avec l’extension Home Assistant est la vérification la plus rapide. Ouvrez une recherche dans l’ensemble du projet pour entity_id: et scannez tout ce qui n’autocompète pas avec le registre en direct. Pour une vérification scriptée, hassio ha check (l’équivalent CLI du validateur de configuration intégré) signalera les références aux entités qui n’existent pas, et un git diff après chaque changement rend l’examen une habitude d’une seule commande.
Est-il sûr de renommer les entités sur une instance Home Assistant en production ?
Plus sûr qu’auparavant, si le renommage passe par la boîte de dialogue des paramètres d’entité ou l’invite de l’éditeur d’automatisation liée. Effectuez d’abord une sauvegarde à partir de l’interface utilisateur, effectuez le renommage pendant une fenêtre calme, et rechargez l’intégration affectée ou redémarrez Home Assistant après la modification. Si quelque chose ne semble pas correct, le dépôt git que le reste de cette pile vous encourage à conserver est le moyen le plus rapide de revenir à l’état précédent.