Accueil / Domotique / Home Assistant révolutionne la gestion des appareils : un seul point de configuration par device, fin des fusions automatiques

Home Assistant révolutionne la gestion des appareils : un seul point de configuration par device, fin des fusions automatiques

Illustration éditoriale pour « Home Assistant révolutionne la gestion des appareils : un seul point de configuration par device, fin des fusions automatiques »

Home Assistant, l’une des plateformes de domotique les plus populaires, a récemment introduit une importante modification dans la manière dont les appareils sont gérés au sein de son écosystème. Cette mise à jour, détaillée dans un article publié sur le blog des développeurs de Home Assistant, marque une évolution majeure dans la gestion des appareils, en imposant désormais une restriction claire: chaque appareil ne peut être associé qu’à un seul point de configuration (config entry), et au plus un sous-point (subentry). Cette modification, qui entre en vigueur avec la version 2026.8 de Home Assistant Core, vise à résoudre des problèmes persistants liés à la fusion automatique d’appareils, un phénomène qui jusqu’à présent causait des conflits et des incohérences dans la gestion des données des appareils.

Avant cette mise à jour, un appareil physique pouvant être supporté par plusieurs intégrations (comme un capteur de présence et une intégration native utilisant la même adresse MAC) était fusionné en un seul appareil partagé. Cette approche reposait sur l’identification des appareils via des connexions et des identifiants globalement uniques. Cependant, cette logique entraînait des problèmes, notamment en cas de modifications des connexions ou des identifiants, qui pouvaient provoquer des doublons ou des erreurs dans le registre des appareils. De plus, il n’existait pas de source unique de vérité pour les informations sur les appareils, comme leur nom ou leur modèle, ce qui rendait la gestion des conflits complexe.

Avec la nouvelle approche, chaque appareil est désormais associé à un seul point de configuration, et au plus un sous-point. Cela signifie que les appareils ne sont plus fusionnés automatiquement entre les intégrations. Un appareil physique supporté par plusieurs intégrations est désormais représenté par un appareil distinct par point de configuration, au lieu d’un seul appareil partagé. Cette modification a pour objectif de simplifier la gestion des appareils, en évitant les conflits de données et en permettant une meilleure traçabilité des informations associées à chaque appareil.

Les changements apportés par cette mise à jour ont un impact direct sur le registre des appareils (device registry) et le registre des entités (entity registry). Le registre des entités a été mis à jour pour que les entités pointent vers le bon appareil, en fonction du nouveau schéma de configuration. La plupart des intégrations ne sont pas affectées par ces modifications, car elles n’interagissent pas directement avec le registre des appareils. Cependant, certaines intégrations, notamment celles qui gèrent des appareils composites ou des appareils synthétisés, devront s’adapter à cette nouvelle logique de gestion.

L’une des principales conséquences de cette modification est la dépréciation de certaines fonctionnalités existantes. Par exemple, la propriété DeviceEntry.config_entries, qui permettait de consulter les points de configuration associés à un appareil, est désormais dépréciée. À la place, on utilisera la propriété DeviceEntry.config_entry_id, qui renvoie l’identifiant du seul point de configuration associé à l’appareil. De même, la propriété DeviceEntry.config_entries_subentries est dépréciée, et on utilisera plutôt DeviceEntry.config_subentry_id ou DeviceEntry.primary_config_entry pour obtenir les informations sur le sous-point de configuration.

Cette modification a également des implications sur la manière dont les identifiants et les connexions sont gérés. Auparavant, les identifiants et les connexions étaient uniques à l’échelle globale, ce qui permettait de localiser un appareil de manière inambiguë. Avec la nouvelle approche, les identifiants et les connexions sont uniquement uniques par point de configuration, ce qui signifie qu’un couple d’identifiants ne peut plus identifier de manière inambiguë un seul appareil. Cela a pour conséquence de rendre obsolètes les paramètres qui permettaient de supprimer un sous-point de configuration (remove_config_subentry_id), qui sont désormais dépréciés.

Les intégrations qui souhaitent ajouter un appareil à un point de configuration doivent désormais utiliser une nouvelle méthode, qui permet de déplacer un appareil d’un point de configuration à un autre, ou de le supprimer. Cette méthode consiste à ajouter l’appareil au nouveau point de configuration et à le supprimer du point de configuration précédent. Si l’appareil ne change que de sous-point de configuration au sein du même point de configuration, une opération distincte est nécessaire. Cette modification simplifie la gestion des appareils, en évitant les opérations redondantes et en rendant le processus plus clair.

En outre, le registre des appareils a été mis à jour pour gérer les cas où un appareil est déplacé vers un point de configuration activé. Dans ce cas, le registre efface automatiquement le statut de désactivation, ce qui évite de devoir porter le drapeau de désactivation contre l’état du point de configuration propriétaire. Cela réduit la complexité des intégrations, en leur permettant de se concentrer sur la gestion des appareils plutôt que sur la gestion des états de désactivation.

Les intégrations principales ont été mises à jour pour refléter ces changements, en supprimant les appareils de manière cohérente avec la nouvelle logique. Les intégrations d’aide, qui ne devraient pas ajouter leur point de configuration à un appareil appartenant à une autre intégration, doivent désormais lier leurs entités à l’appareil plutôt que d’ajouter leur point de configuration. Cela découle directement de la modification introduite, qui impose que chaque appareil appartienne à un seul point de configuration.

En résumé, cette mise à jour de Home Assistant représente une évolution majeure dans la gestion des appareils, en imposant une restriction claire sur le nombre de points de configuration associés à chaque appareil. Cette modification vise à résoudre des problèmes persistants liés à la fusion automatique d’appareils, en simplifiant la gestion des données et en améliorant la traçabilité des informations associées à chaque appareil. Bien que certaines fonctionnalités existantes soient dépréciées, cette évolution apporte des bénéfices significatifs en termes de simplicité, de cohérence et de fiabilité dans la gestion des appareils.

Consulter la source officielle retenue.

#homeassistant #domotique #gestionappareils #configentry #deviceRegistry

Traduction