Estado de ejecución frente a estado persistente en Home Assistant: ¿qué debe sobrevivir al reinicio?

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

El “estado” de Home Assistant no es una sola cosa. El proceso en ejecución tiene una máquina de estados en memoria que representa lo que las entidades comunican ahora, mientras que la configuración persistente y los registros identifican lo que debería existir después de un reinicio. Recorder conserva observaciones históricas, y determinadas plataformas de entidades pueden guardar valores específicamente para restaurarlos más adelante.

Por lo tanto, una implementación fiable no intenta serializar todos los objetos transitorios de la memoria. Conserva las fuentes de verdad duraderas y permite que el nuevo proceso reconstruya el estado activo a partir de las integraciones, los registros, los valores restaurados y los informes recientes de los dispositivos.

La máquina de estados es una vista en tiempo de ejecución del mundo actual

Home Assistant Core mantiene los estados actuales de las entidades en su máquina de estados y emite eventos cuando esos estados cambian. Esta vista actual pertenece al proceso de Core en ejecución.

La documentación sobre la arquitectura de Core describe la máquina de estados como el componente que realiza el seguimiento de los estados actuales y dispara eventos state_changed. El bus de eventos, el registro de servicios y el temporizador son componentes de tiempo de ejecución que la rodean.

Después de un reinicio, la máquina de estados vuelve a poblarse. Por lo tanto, un dispositivo que aún no se ha vuelto a conectar puede aparecer como no disponible, aunque sus observaciones anteriores sigan almacenadas de forma segura en Recorder.

Los registros de entidades conservan la identidad, no la verdad actual del dispositivo

Home Assistant necesita reconocer la misma entidad entre reinicios para que las personalizaciones del usuario, los ID de entidad, los nombres, las áreas y otros ajustes no desaparezcan cada vez que una integración se vuelve a conectar.

El registro de entidades existe porque Home Assistant necesita una identidad de entidad duradera entre reinicios para conservar las personalizaciones y realizar un seguimiento de las entidades conocidas. Esa entrada del registro no significa que la lectura actual del sensor esté automáticamente actualizada después del arranque.

Piensa en la identidad y el valor actual como registros independientes: el registro responde a “¿qué entidad es esta?”, mientras que la integración responde a “¿qué está comunicando ahora?”.

Algunos valores de entidades se guardan intencionadamente para restaurarlos

Ciertas entidades —especialmente los helpers y las entidades de software con estado— se benefician de restaurar su valor anterior antes de que exista una nueva observación externa. Home Assistant cuenta con un punto de control persistente específico para esas entidades.

La acción actual para guardar estados persistentes explica que algunas entidades restauran su último valor después de un reinicio y que Home Assistant normalmente guarda esos valores en puntos de control durante el arranque, cada 15 minutos y al apagarse.

Se trata de persistencia selectiva. No debe confundirse con considerar para siempre como autoritativo el estado de todos los dispositivos físicos. Un valor restaurado puede ser útil durante el arranque, pero una integración debe converger de todos modos hacia la información actual del dispositivo cuando esté disponible.

-15% OFF

El historial de Recorder conserva observaciones, no el proceso en ejecución

Recorder almacena cambios de estado y eventos para las vistas históricas, los análisis y las estadísticas. Esa base de datos puede sobrevivir a muchos reinicios de Home Assistant, mientras que la máquina de estados de tiempo de ejecución se recrea cada vez.

Una consulta del historial que responde a “¿cuál era la temperatura a las 15:00?” pertenece a la persistencia histórica. Una automatización activa que pregunta “¿está abierta la puerta ahora?” depende del estado actual en tiempo de ejecución y de la ruta de la integración.

Esta distinción explica por qué eliminar o dañar Recorder puede borrar el historial sin necesariamente eliminar las automatizaciones, los usuarios y la configuración de las integraciones, mientras que perder el directorio de configuración puede destruir la identidad y la configuración, aunque todavía exista una base de datos de historial antigua.

La implementación debe conservar los archivos que recrean estas capas

Home Assistant en contenedores añade otro límite: la imagen de tiempo de ejecución puede sustituirse, mientras que el montaje de configuración y las dependencias externas deben sobrevivir fuera de ella. El montaje debe conservar la configuración de Home Assistant, el almacenamiento de los registros, las referencias a secretos y la base de datos si Recorder es local.

El artículo de ZimaSpace sobre los roles de datos persistentes de Home Assistant aborda el alcance de la recuperación. La distinción entre tiempo de ejecución y persistencia explica por qué esos archivos son importantes: son las entradas a partir de las cuales el siguiente proceso reconstruye el hogar.

Usa la capa de persistencia que corresponda al papel del estado

Papel del estado Dónde se encuentra Qué ocurre después de un reinicio
Estado actual de la entidad Máquina de estados en tiempo de ejecución Se reconstruye a partir de las integraciones y la restauración
Identidad y personalización de la entidad Registro/configuración persistentes Se vuelve a cargar
Valores seleccionados que se pueden restaurar Punto de control de estados persistentes Se restauran hasta que se actualizan
Historial y estadísticas Base de datos de Recorder Permanece como información histórica
Conexiones de las integraciones y objetos de tiempo de ejecución Memoria del proceso Se recrean y se vuelven a conectar
Imagen y tiempo de ejecución del contenedor Capa de implementación reemplazable Puede recrearse alrededor de los datos persistentes

La regla segura es conservar la identidad, la configuración, los datos de recuperación y el estado que Home Assistant considera intencionadamente duradero. Deja que el estado transitorio de tiempo de ejecución se reconstruya. Esto produce un modelo de reinicio más claro que asumir que todos los valores de la memoria deben sobrevivir sin cambios.

Centro de Tecnología e IA

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.