Een herstart van een Home Assistant-container kan ervoor zorgen dat het systeem er kortstondig anders uitziet, zelfs wanneer de persistente configuratie volledig intact is. De reden is dat een draaiende instantie zowel duurzame status op schijf als tijdelijke runtime-status in het geheugen bevat. Bij het herstarten van de container wordt die laatste vernietigd en moeten integraties deze opnieuw opbouwen.
Daarom kan een entiteit tijdelijk de status unknown of unavailable krijgen, kan een MQTT-apparaat weer verschijnen zodra retained berichten binnenkomen en kan een externe service ontbreken totdat een nieuwe verbindingspoging slaagt. De herstart is een gebeurtenis waarbij de status opnieuw wordt opgebouwd, niet simpelweg een pauze en hervatting van hetzelfde proces in het geheugen.
De containerruntime is vervangbaar; /config is de duurzame grens
Home Assistant Container wordt normaal gesproken beheerd door de containerimage opnieuw te maken terwijl de configuratiekoppeling behouden blijft. Het bijwerken van de image, het wijzigen van de runtime of het herstarten van het proces zou niet moeten vereisen dat je het huishouden helemaal opnieuw opbouwt, zolang het persistente pad correct gekoppeld blijft.
De huidige workflow voor Home Assistant Container maakt de container expliciet opnieuw wanneer versies worden gewijzigd. Dat model werkt omdat wordt verwacht dat de applicatiestatus buiten de wegwerpbare runtime blijft bestaan.
Alles wat alleen in het procesgeheugen bestaat, verdwijnt bij een herstart. Het volgende proces moet configuratie, registers, databases en integratie-invoer opnieuw inlezen voordat het dezelfde liveweergave kan reconstrueren.
Core start een nieuwe runtime-statusmachine
Bij elke start bouwt Home Assistant een nieuw Core-proces op met een nieuwe eventloop, statusmachine, services, timers en runtime-objecten voor integraties. Het entiteitenregister kan bekende entiteiten identificeren, maar de huidige waarde van een fysiek apparaat moet nog steeds worden hersteld, opgehaald of gemeld.
Recorder maakt ook bij elke start van Home Assistant een nieuwe recorder-run. Historische databaseregels blijven bestaan, maar het huidige proces vormt een nieuw runtime-interval en is geen voortzetting van het oude.
Dit onderscheid is belangrijk bij het vergelijken van logboeken of databasetijdstempels rond een herstart. Een geschiedenisrecord bewijst wat Home Assistant eerder heeft waargenomen; het bewijst niet automatisch dat het nieuwe proces de liveverbinding met het apparaat al opnieuw tot stand heeft gebracht.
Integraties vullen de runtime-status met verschillende snelheden opnieuw
Sommige integraties maken onmiddellijk opnieuw verbinding met een lokaal apparaat. Andere wachten op DNS, een broker, een cloud-API, een radioverbinding of een andere container. Daardoor worden hun entiteiten op verschillende momenten beschikbaar, ook al draait Home Assistant Core al.
Het huidige model voor mislukte setup van Home Assistant vereist dat tijdelijk niet-beschikbare integraties een retrytraject volgen zodat ze kunnen herstellen wanneer het apparaat of de service bereikbaar wordt. Dat betekent dat de zichtbare status na een herstart minutenlang kan veranderen zonder dat dit erop wijst dat persistente gegevens zijn gewijzigd.
Een tweede herstart nadat elke afhankelijkheid al actief is, kan veel sneller lijken dan een volledige herstart van de stack, omdat het netwerk, de broker, de database en de apparaten niet allemaal tegelijkertijd opnieuw hoeven te synchroniseren.
MQTT maakt het opnieuw opbouwen van de status bijzonder zichtbaar
MQTT is een nuttig voorbeeld, omdat de broker discovery- of statusberichten onafhankelijk van het Home Assistant-proces kan bewaren. Wanneer Home Assistant opnieuw verbinding maakt, kunnen retained gegevens opnieuw worden afgespeeld en kunnen entiteiten snel weer hun laatst gemelde waarde krijgen.
De MQTT-integratie documenteert dat ontdekte entiteiten na een herstart niet beschikbaar zijn totdat discovery is verwerkt, terwijl retained discovery- en statusberichten opnieuw kunnen worden afgespeeld wanneer abonnementen opnieuw worden opgebouwd. Home Assistant verstuurt ook een Birth-bericht dat apparaten kunnen gebruiken om discovery en actuele status opnieuw te publiceren.
Een retained waarde is nog steeds een laatst bekende melding en geen bewijs dat het fysieke apparaat momenteel bereikbaar is. Beschikbaarheidstopics en actuele telemetrie moeten afzonderlijk worden beoordeeld.
Het gedrag na een herstart hangt af van waar de bron van waarheid zich bevindt
- Persistente configuratie en registers: opnieuw ingelezen uit duurzame Home Assistant-opslag.
- Huidige apparaatstatus: vaak opnieuw opgehaald of gemeld door een integratie.
- MQTT-status: kan opnieuw worden opgebouwd uit retained berichten of nieuwe publicaties.
- Status uit de cloud: afhankelijk van verbinding met de externe API en geldige inloggegevens.
- Historische status: blijft in Recorder staan, maar is niet hetzelfde als de live-status.
- Zuivere runtime-objecten: opnieuw aangemaakt door het nieuwe Home Assistant-proces.
De uitleg van ZimaSpace over MQTT-status na een herstart toont één specifiek reconstructiepad. De bredere regel is dat het gedrag na een herstart wordt bepaald door de locatie van de bron van waarheid van elk onderdeel.
Veelgestelde vragen
Verwijdert het herstarten van de Home Assistant-container de geschiedenis?
Nee, niet wanneer de persistente configuratie en de Recorder-database correct zijn gekoppeld. Bij een herstart wordt het runtimeproces vervangen; historische gegevens blijven in de persistente database staan.
Waarom kan een entiteit direct na een herstart haar oude waarde tonen?
De waarde kan afkomstig zijn van een herstelmechanisme van Home Assistant, een cache van de integratie, een retained MQTT-status of een directe polling van het apparaat. Controleer de integratie en het beschikbaarheidspad voordat je de weergegeven waarde beschouwt als een actuele fysieke meting.
Tech & AI HUB
Meer om te lezen

Runtime-status versus persistente status in Home Assistant: wat moet een herstart overleven?
Home Assistant bewaart niet elke actuele waarde; configuratie, registers, geselecteerde herstelde statussen, geschiedenis en implementatiegegevens spelen verschillende rollen bij het herstarten.

Hoe verifieert Home Assistant lokale en externe sessies?
Lokale en externe Home Assistant-sessies gebruiken hetzelfde identiteitsmodel aan de serverzijde; externe toegang verandert de route en de TLS-grens, niet de kern van de...

Waarom kunnen geschiedenisquery's van Home Assistant trager worden naarmate de Recorder-gegevens groeien?
Groei van de recorder kan de kosten van geschiedenisquery's verhogen wanneer het aangevraagde bereik meer rijen omvat, cachemissers toenemen of opslag- en indexbewerkingen trager...

