« L’état » de Home Assistant n’est pas une notion unique. Le processus en cours d’exécution dispose d’une machine d’état en mémoire qui représente ce que les entités signalent actuellement, tandis que la configuration persistante et les registres identifient ce qui devrait exister après un redémarrage. Recorder conserve les observations historiques, et certaines plateformes d’entités peuvent enregistrer des valeurs spécifiquement afin de les restaurer ultérieurement.
Un déploiement fiable ne cherche donc pas à sérialiser chaque objet transitoire en mémoire. Il préserve les sources de vérité durables et laisse le nouveau processus reconstruire l’état actif à partir des intégrations, des registres, des valeurs restaurées et des nouveaux rapports des appareils.
La machine d’état est une vue d’exécution du monde actuel
Home Assistant Core conserve l’état actuel des entités dans sa machine d’état et émet des événements lorsque ces états changent. Cette vue actuelle appartient au processus Core en cours d’exécution.
La documentation de l’architecture de Core décrit la machine d’état comme le composant qui suit les états actuels et déclenche les événements state_changed. Le bus d’événements, le registre des services et le minuteur sont des composants d’exécution qui l’entourent.
Après un redémarrage, la machine d’état est de nouveau alimentée. Un appareil qui ne s’est pas encore reconnecté peut donc être indisponible, même si ses anciennes observations sont conservées en toute sécurité dans Recorder.
Les registres d’entités conservent l’identité, pas la vérité actuelle des appareils
Home Assistant doit reconnaître la même entité après un redémarrage afin que les personnalisations utilisateur, les identifiants d’entité, les noms, les zones et autres paramètres ne disparaissent pas à chaque reconnexion d’une intégration.
Le registre des entités existe parce que Home Assistant a besoin d’une identité d’entité durable entre les redémarrages pour conserver les personnalisations et suivre les entités connues. Cette entrée de registre ne signifie pas que la mesure actuelle du capteur est automatiquement à jour après le démarrage.
Considérez l’identité et la valeur actuelle comme deux enregistrements distincts : le registre répond à la question « de quelle entité s’agit-il ? », tandis que l’intégration répond à la question « que signale-t-elle actuellement ? »
Certaines valeurs d’entités sont intentionnellement enregistrées pour être restaurées
Certaines entités, notamment les assistants et les entités logicielles à état, gagnent à restaurer leur valeur précédente avant qu’une nouvelle observation externe soit disponible. Home Assistant dispose d’un point de contrôle persistant dédié à ces entités.
Il s’agit d’une persistance sélective. Il ne faut pas la confondre avec le fait de considérer indéfiniment l’état de chaque appareil physique comme une source d’autorité. Une valeur restaurée peut être utile pendant le démarrage, mais une intégration doit tout de même converger vers l’état réel récent de l’appareil dès qu’il est disponible.
L’historique de Recorder conserve des observations, pas le processus en cours
Recorder stocke les changements d’état et les événements pour les vues historiques, les analyses et les statistiques. Cette base de données peut survivre à de nombreux redémarrages de Home Assistant, tandis que la machine d’état d’exécution est recréée à chaque fois.
Une requête d’historique répondant à la question « quelle était la température à 15 heures ? » relève de la persistance historique. Une automatisation active demandant « la porte est-elle ouverte maintenant ? » dépend de l’état d’exécution actuel et du chemin d’intégration.
Cette distinction explique pourquoi la suppression ou la corruption de Recorder peut effacer l’historique sans nécessairement supprimer les automatisations, les utilisateurs et la configuration des intégrations, tandis que la perte du répertoire de configuration peut détruire l’identité et la configuration, même si une ancienne base de données d’historique existe toujours.
Le déploiement doit conserver les fichiers qui recréent ces couches
Home Assistant conteneurisé ajoute une limite supplémentaire : l’image d’exécution peut être remplacée, tandis que le point de montage de configuration et les dépendances externes doivent survivre en dehors de celle-ci. Le point de montage doit conserver la configuration de Home Assistant, le stockage des registres, les références aux secrets et la base de données si Recorder est local.
L’article de ZimaSpace sur les rôles des données persistantes de Home Assistant décrit le périmètre de récupération. La distinction entre exécution et persistance explique pourquoi ces fichiers sont importants : ce sont les données à partir desquelles le processus suivant reconstruit le foyer.
Utilisez la couche de persistance correspondant au rôle de l’état
| Rôle de l’état | Emplacement | Ce qui se passe après un redémarrage |
|---|---|---|
| État actuel de l’entité | Machine d’état d’exécution | Reconstruit à partir des intégrations et de la restauration |
| Identité et personnalisation de l’entité | Registre/configuration persistants | Rechargées |
| Valeurs sélectionnées pouvant être restaurées | Point de contrôle d’état persistant | Restaurées jusqu’à leur actualisation |
| Historique/statistiques | Base de données Recorder | Restent des données historiques |
| Connexions des intégrations/objets d’exécution | Mémoire du processus | Recréés et reconnectés |
| Image/conteneur d’exécution | Couche de déploiement remplaçable | Peut être recréé autour des données persistantes |
La règle de sécurité consiste à conserver l’identité, la configuration, les données de récupération et les états que Home Assistant considère intentionnellement comme durables. Laissez l’état d’exécution transitoire être reconstruit. Vous obtenez ainsi un modèle de redémarrage plus clair que si vous supposiez que chaque valeur en mémoire devait survivre sans modification.
Centre Tech & IA
Plus à lire

Comment Home Assistant authentifie-t-il les sessions locales et distantes ?
Les sessions Home Assistant locales et distantes utilisent le même modèle d’identité côté serveur ; l’accès à distance modifie le chemin et la limite...

Pourquoi les requêtes d’historique de Home Assistant peuvent-elles ralentir à mesure que les données de l’enregistreur augmentent ?
L’augmentation du nombre d’enregistrements peut accroître le coût des requêtes d’historique lorsque la plage demandée concerne davantage de lignes, que les défauts de cache...

Pourquoi Home Assistant reconstruit-il un état différent après le redémarrage d’un conteneur ?
Le redémarrage du conteneur n’entraîne pas la perte de l’état : Home Assistant reconstruit l’état d’exécution à partir de la configuration persistante, des intégrations,...

