Les appareils fantômes hantent votre serveur Home Assistant : voici comment les nettoyer
Votre serveur Home Assistant est peut-être hanté. Pas par de véritables fantômes, mais par des appareils et entités fantômes qui apparaissent dans Home Assistant même après la suppression de l'appareil ou de l'intégration. La bonne nouvelle est que vous pouvez éliminer ces fantômes sans avoir besoin de porter un accélérateur nucléaire sans licence sur votre dos.
Sommaire
Comment les appareils fantômes se produisent en premier lieu
Lorsque vous débutez avec Home Assistant, il est facile de vous enthousiasmer et de commencer à ajouter tous les appareils possibles. Home Assistant identifiera souvent automatiquement les appareils domestiques intelligents sur votre réseau et vous suggérera de les connecter. Avant de vous en rendre compte, vous pouvez avoir des centaines d’appareils et d’entités.
Au fil du temps, vous pouvez commencer à supprimer les appareils domestiques intelligents que vous n'utilisez pas ou les intégrations Home Assistant dont vous n'avez plus besoin. Au cours du processus, vous risquez de ne pas parvenir à supprimer certains appareils et entités indésirables, qui subsistent même s'ils ne sont plus liés à aucune intégration ou automatisation.
Les appareils et entités fantômes peuvent également provenir de l’utilisation d’un courtier MQTT. Si un appareil publie des données avec l'indicateur de conservation activé, le courtier conservera la dernière charge utile et la renverra après la reconnexion de Home Assistant. Si vous avez depuis supprimé l'appareil, ces données obsolètes peuvent donner l'impression que l'appareil existe toujours.
D'autres sources potentielles d'appareils fantômes sont des problèmes tels que l'échec des couplages Z-Wave. Lorsque le couplage échoue, le contrôleur Z-Wave peut toujours enregistrer un nœud dans sa base de données interne que Home Assistant affiche alors comme appareil indisponible. Ils peuvent également être causés par le partage d'appareils Matter entre des systèmes, tels qu'Amazon Alexa et Home Assistant. Dans certaines configurations partagées, la suppression d'un appareil d'un contrôleur ne le supprime pas toujours partout, de sorte que les appareils peuvent toujours hanter votre instance Home Assistant.
Trouver des appareils et des entités fantômes
Le premier endroit où rechercher les appareils et entités fantômes se trouve dans la section « Appareils et services » des paramètres de Home Assistant. Vous pouvez utiliser les filtres pour vous aider à repérer les entités qui ne semblent appartenir à rien que vous utilisez encore dans Home Assistant.
Accédez à Paramètres > Appareils et services et cliquez sur l'onglet « Entités » en haut de l'écran. Cliquez sur l'icône de filtre, sélectionnez « Statut » et cochez les cases « Indisponible », « Ingérable » et « Non fourni ».
Recherchez dans les résultats les entités que vous ne reconnaissez pas ou qui sont liées aux intégrations que vous avez supprimées. Tous les résultats ne seront pas des entités fantômes ; certains peuvent simplement avoir perdu la connexion ou nécessiter une nouvelle autorisation de l’intégration. Vous pouvez également voir quelle intégration a créé les entités.
Si vous repérez des entités que vous ne reconnaissez pas et pensez qu'il s'agit peut-être de fantômes, ne les supprimez pas immédiatement. Notez-les tous, ainsi que les intégrations qui les ont créés, avant de faire preuve de diligence raisonnable.
Faites un audit de sécurité avant de supprimer quoi que ce soit
Nettoyer les appareils et entités fantômes est une bonne idée car ils ne servent à rien d'autre que d'obstruer votre instance Home Assistant. Avant de commencer à supprimer tout ce que vous pouvez trouver, vous devez prendre quelques précautions.
Tout d’abord, effectuez une sauvegarde de l’état actuel afin que si les choses cessent de fonctionner, vous puissiez revenir à un état de fonctionnement. Notez tout ce que vous envisagez de supprimer afin de pouvoir restaurer à partir de votre sauvegarde et laissez certains périphériques et entités en place en cas de problème.
Recherchez tout ce qui peut dépendre des entités que vous avez l'intention de supprimer, comme les automatisations et les scripts. Jetez un œil à tous les tableaux de bord qui peuvent également faire référence à ces entités.
Consultez l'historique des appareils fantômes potentiels pour voir la dernière fois que quelque chose a changé ou mis à jour. S'il a été mis à jour récemment, ce n'est peut-être pas un fantôme après tout ; il se peut simplement qu'il soit temporairement inaccessible. Si vous n'êtes pas sûr, vous pouvez toujours choisir de désactiver les appareils plutôt que de les supprimer, pour voir ce qui se casse.
Il est temps d'éliminer quelques fantômes
Une fois que vous êtes certain d'avoir trouvé des fantômes, vous pouvez essayer de les supprimer. Le meilleur point de départ est par les intégrations indésirables ; leur suppression devrait supprimer tous les périphériques et entités associés, bien que cela ne soit pas toujours le cas. Vous pouvez supprimer les intégrations indésirables en accédant à Paramètres > Appareils et services, en sélectionnant l'intégration, en cliquant sur l'icône à trois points et en sélectionnant « Supprimer ».
L'étape suivante consiste à supprimer tous les appareils problématiques que vous avez notés et qui apparaissent toujours. Cela devrait supprimer le périphérique et toutes les entités associées. Accédez à Paramètres > Appareils et services et cliquez sur « Appareils » en haut de l'écran. Cliquez sur l'icône du mode de sélection et sélectionnez les appareils que vous souhaitez supprimer. Cliquez sur l'icône à trois points et cliquez sur « Supprimer la sélection ».
Vous constaterez peut-être que l’option « Supprimer la sélection » est grisée. Cela peut se produire si l'intégration parent est toujours active ou si votre appareil est codé en dur dans votre fichier configuration.yaml. Certaines intégrations peuvent nécessiter que vous supprimiez l'appareil de l'application du fournisseur avant de pouvoir le supprimer dans Home Assistant.
Enfin, supprimez toutes les entités fantômes de la même manière. Accédez à Paramètres > Appareils et services et cliquez sur l'onglet « Entités ». Cliquez sur l'icône du mode de sélection et sélectionnez les entités que vous souhaitez supprimer. Cliquez sur l'icône à trois points et sélectionnez « Supprimer la sélection ». Vos entités fantômes devraient disparaître comme une apparition de vapeur sur tout le torse aspirée dans un piège de confinement.
Bustin' fantômes en toute simplicité
Si tout cela vous semble demander beaucoup de travail, vous n’êtes pas la seule personne à ressentir cela. Tout comme Frenck (Franck Nijhof), l'un des contributeurs de Home Assistant. Il a écrit l'intégration personnalisée Spook qui peut, entre autres choses, identifier les appareils et entités fantômes et vous en avertir de manière proactive. Vous pouvez trouver des informations sur les entités orphelines trouvées par Spook en accédant à Paramètres > Système > Réparations.
Il existe même une action Spook que vous pouvez utiliser pour supprimer automatiquement toutes les entités orphelines, ce qui supprime instantanément chaque entité qui n'est plus revendiquée par une intégration parent. Vous pouvez installer Spook via HACS, bien qu'il ne s'agisse pas d'une intégration officielle de Home Assistant, et vous l'utilisez à vos propres risques.
Plus vous utilisez Home Assistant longtemps, plus il est probable que vous vous retrouviez avec des appareils et des entités fantômes hantant votre système. Les nettoyer peut être très satisfaisant, car après tout : le fait de les casser me fait du bien.
