Pourquoi les automatisations de votre Home Assistant semblent lentes (et comment les accélérer)
Des automatisations lentes peuvent rendre votre maison intelligente insensible, ce qui peut gâcher l'expérience utilisateur. Diagnostiquer le problème peut être difficile, car il y a de nombreuses variables à prendre en compte. Voici quelques éléments par lesquels vous devriez commencer lorsque vous essayez de trouver la cause de vos problèmes.
Sommaire
Intégrations qui reposent sur des sondages cloud
Si une intégration (et toute automatisation construite autour d'elle) dépend de l'interrogation du cloud, cela signifie que Home Assistant doit vérifier activement tout changement d'état avant qu'une action ne soit entreprise. Le service sur lequel repose une telle intégration signalera uniquement son état à son propre backend, plutôt que de transmettre une mise à jour à Home Assistant.
Ergo, vous attendez peut-être qu’une automatisation se déclenche pendant que Home Assistant effectue cette vérification. Par exemple, disons que vous disposez d'un chargeur de véhicule électrique qui signale uniquement le niveau de charge actuel aux serveurs du fabricant et que vous souhaitez recevoir une notification lorsqu'un certain pourcentage de charge est atteint. Il est très possible qu'au moment où vous recevez la notification, votre véhicule électrique soit en charge depuis plus longtemps et soit déjà à un pourcentage plus élevé.
Bien que ce ne soit pas un problème dans des situations comme dans l'exemple ci-dessus, pour les notifications critiques qui dépendent du timing, c'est plutôt accablant. Vous pouvez savoir qu'une intégration dépend de l'interrogation cloud en consultant sa description et en recherchant l'icône d'interrogation cloud à côté de son nom lors de son ajout à Home Assistant.
Faible disponibilité du processeur et de la RAM
Un serveur qui fonctionne mal va naturellement se sentir lent de la même manière qu'un ordinateur ordinaire. Vous pouvez vérifier la pression exercée sur votre système via le menu Paramètres > Système > Matériel. Un redémarrage peut aider à résoudre temporairement tous les problèmes que vous pourriez rencontrer (dirigez-vous vers « Paramètres », puis cliquez sur l'icône à trois points dans le coin supérieur droit et choisissez « Redémarrer Home Assistant »).
Si des modules complémentaires Home Assistant sont installés, vous pouvez les auditer et supprimer ceux qui monopolisent vos ressources. Pour ce faire, accédez à Paramètres > Modules complémentaires, puis cliquez sur un module complémentaire pour voir son utilisation de la RAM et du CPU. Vous pouvez cliquer sur « Arrêter » à côté de tous les modules complémentaires en cours d'exécution et désactiver « Démarrer au démarrage » pour ceux dont vous n'avez pas besoin.
Vous pouvez également utiliser votre serveur Home Assistant pour d'autres tâches telles que la diffusion de contenu multimédia, le téléchargement de fichiers, l'exécution d'un serveur DNS local ou tout autre projet homelab. Faites une pause en supprimant les processus et en examinant si la réactivité du serveur s'améliore ou non. Si cela fonctionne, vous devriez envisager de déplacer ces tâches ailleurs (comme un mini PC inutilisé) ou de passer à une machine plus performante.
Par exemple, un ordinateur monocarte comme un Raspberry Pi est un point de départ idéal pour un serveur Home Assistant, mais il peut mal évoluer si vous souhaitez utiliser le même serveur pour de nombreuses tâches différentes. Dans ces cas-là, vous feriez peut-être mieux d’opter pour un mini PC moins économe en énergie mais doté de beaucoup de stockage, de RAM, d’un meilleur GPU pour un transcodage multimédia de haute qualité et d’un processeur plus performant. Vous pouvez facilement déplacer votre installation Home Assistant en créant une sauvegarde et en la restaurant ailleurs.
Enfin, si vous exécutez Home Assistant sur une machine virtuelle, vous risquez de limiter artificiellement la quantité de RAM et de cœurs de processeur disponibles. Assurez-vous de donner à votre serveur au moins 2 Go de RAM, mais envisagez de doubler ce chiffre à 4 Go si vous rencontrez des problèmes et pouvez l'épargner.
Disque de stockage défaillant
Si le lecteur sur lequel votre serveur Home Assistant est installé commence à tomber en panne, vous pourriez rencontrer des ralentissements et une absence de réponse générale. Ceci est particulièrement pertinent pour quiconque exécute un serveur Home Assistant sur un Raspberry Pi avec une carte microSD.
Les cartes microSD ne sont pas conçues pour résister au même niveau d’écriture et de lecture que celui des périphériques de stockage de bureau tels que les disques SSD et même les disques durs. Bien que le projet Home Assistant ait modifié la connexion dans le but de protéger les installations de la carte microSD Raspberry Pi, il est toujours préférable d'utiliser quelque chose comme un lecteur NVMe lorsque cela est possible.
Avoir un serveur limité en RAM peut aggraver le problème, car Home Assistant devra utiliser des fichiers d'échange pour écrire et lire constamment les données du lecteur. Si vous vous en tenez à un Raspberry Pi, envisagez plutôt de coupler un M.2 HAT+ (pour le Raspberry Pi 5 modèle B) avec un lecteur NVMe compatible.
Interférences et mauvaise réception du réseau maillé
Un signal faible et des interférences peuvent causer des problèmes avec certains types d'appareils, en particulier les réseaux maillés à faible consommation comme Zigbee, Thread et Z-Wave. La méthode de dépannage dépend en grande partie de ce que vous utilisez et de la configuration de votre réseau.
Tout d’abord, n’oubliez pas que les appareils Wi-Fi sont soumis aux mêmes problèmes que tout autre appareil utilisant votre réseau sans fil. Les zones mortes Wi-Fi peuvent entraîner des vitesses de transfert lentes ou des appareils ne fonctionnant pas du tout. Avoir trop d'appareils sur votre réseau Wi-Fi et utiliser toute votre bande passante disponible pourrait avoir un impact réaliste sur les temps de réponse des appareils intelligents (en particulier les appareils assoiffés comme les appareils photo).
Zigbee est un type de protocole maillé qui utilise la même fréquence de 2,4 GHz que les anciens appareils Wi-Fi. Dans les préférences de votre adaptateur Zigbee, vous pouvez choisir différents canaux, ce qui peut aider à éviter les interférences des réseaux Wi-Fi à proximité qui causent des problèmes. Thread utilise également la bande 2,4 GHz. Pour de meilleurs résultats, utilisez un analyseur Wi-Fi pour détecter les réseaux à proximité susceptibles d'utiliser des canaux similaires et choisissez quelque chose de différent.
Ces adaptateurs sont notoirement sensibles aux interférences des ports USB 3.0, au point qu'ils devraient idéalement être connectés aux ports USB 2.0 lorsque cela est possible. Les deux adaptateurs Zigbee propriétaires de Home Assistant, le ZBT-1 et le ZBT-2, mettent la distance entre l'antenne et le serveur à l'aide d'une extension pour cette raison précise. Cela s'applique également à Z-Wave. Si votre adaptateur ressemble à un lecteur flash suspendu à votre serveur, procurez-vous un répéteur et ajoutez un peu de distance.
Quelle que soit la technologie de réseau maillé à faible consommation que vous utilisez, ne négligez pas la portée compromise. Zigbee, Z-Wave et Thread peuvent tous utiliser des appareils alimentés tels que des prises et des interrupteurs intelligents pour agir comme prolongateurs de portée. Pensez à ajouter quelques appareils supplémentaires alimentés par le secteur entre tout appareil qui répond lentement (ou ne répond pas).
Certains protocoles sont simplement plus lents (mais en valent la peine)
Enfin, vous seriez pardonné de remarquer un léger ralentissement si vous passez de quelque chose comme le Wi-Fi à Thread, Zigbee et surtout Z-Wave. Le Wi-Fi est une technologie plus rapide, mais beaucoup plus gourmande en énergie. En comparaison, les réseaux maillés sont conçus avec une faible consommation d’énergie mais ont des taux de transfert plus lents.
Abandonner une maison remplie de prises intelligentes Wi-Fi pour Zigbee pourrait entraîner un retard légèrement plus important lors du contrôle des appareils et du déclenchement des scènes. Plus les appareils sont éloignés de votre serveur, plus la réponse sera lente. Vous ne devriez probablement pas attendre plus d'une seconde (d'après mon expérience, le temps est d'environ la moitié au maximum), mais vous seriez pardonné si les réseaux maillés semblent un peu plus lents que le Wi-Fi.
Le choix du protocole peut ici faire toute la différence. Alors que Thread et Zigbee ont un profil de vitesse similaire (250 kbps), Thread a en général une latence plus faible et est le plus rapide des deux. Zigbee est plus rapide que Z-Wave (qui ne gère lui-même que 100 kbps), mais Z-Wave a l'avantage en termes de portée.
Quelle que soit la manière dont vous le découpez, supprimer le Wi-Fi de l’équation est un gain net car il permet aux appareils de continuer à fonctionner même lorsque votre routeur ne le fait pas. Vous pouvez également faire des choses intéressantes comme lier des commutateurs à des ampoules, afin qu'ils fonctionnent même lorsque votre serveur est hors ligne.
Home Assistant est génial, mais ce n'est pas parfait. Si vous rencontrez toujours des problèmes, envisagez de rechercher et de publier sur le forum officiel de la communauté Home Assistant.
