Configureer de cache van Home Assistant door eerst vast te stellen welke gegevens wegwerpbaar zijn; verplaats nooit het volledige pad met permanente configuratie naar tijdelijke opslag.
‘Cache’ kan verwijzen naar frontend-assets van de browser, TTS-uitvoer, tijdelijke bestanden die specifiek zijn voor een integratie, de /tmp van een container, de paginacache van het besturingssysteem of werkruimte voor de database. Deze lagen hebben verschillende beheerders en herstelgedrag. Bewaar gebruikers, registers, configuratie, de status van Recorder en andere gezaghebbende bestanden op duurzame opslag. Gebruik tmpfs of RAM-gebaseerde opslag alleen voor een gedocumenteerd wegwerppad waarvan je het verlies en geheugengebruik na een herstart hebt getest.
Classificeer de cache voordat je een pad verplaatst
Begin met het vastleggen van de eigenaar, het pad, de maximaal verwachte grootte, de methode om de gegevens opnieuw op te bouwen en wat er gebeurt als de gegevens verdwijnen. De browsercache bevindt zich op de client; de permanente applicatiestatus van Home Assistant staat onder het geconfigureerde gegevenspad; integratiecaches verschillen; tijdelijke containerbestanden kunnen bij een herstart verdwijnen. Deze problemen los je niet op met één globale instelling voor een ‘cachemap’.
Een TTS-geval in Home Assistant laat een beperkt voorbeeld zien waarbij gegenereerde audio onder een specifiek cachepad bewust naar een RAM-gebaseerde locatie werd omgeleid. De belangrijke grens bij het verplaatsen van een wegwerpcache voor TTS is dat de gebruiker één opnieuw op te bouwen map selecteerde, niet de volledige configuratiestructuur.
Als je niet kunt aantonen dat een bestand kan verdwijnen zonder verlies van identiteit, geschiedenis, instellingen, dashboards of integratieregistratie, classificeer het dan als permanent. De veiligste standaard is duurzame opslag. Optimalisatie komt pas nadat duidelijk is wie verantwoordelijk is voor het herstel.
Bewaar de permanente status van Home Assistant en Recorder op duurzame opslag
De configuratiekoppeling is geen cache alleen omdat deze enkele gegenereerde bestanden bevat. Ze kan authenticatie, registers van entiteiten en apparaten, de status van automatiseringen, configuratie, aangepaste componenten en de standaarddatabase van Recorder bevatten. Als je het volledige pad op tmpfs zet, verandert een herstart in gegevensverlies en worden back-ups afhankelijk van geheugeninhoud die nooit als gezaghebbend bedoeld was.
De uitleg van ZimaSpace over de rollen van permanente gegevens in Home Assistant is het juiste eerste filter: scheid gezaghebbende status van opnieuw op te bouwen cache en tijdelijke werkgegevens voordat je opslaglagen toewijst.
Gebruik een SSD of een ander betrouwbaar duurzaam bestandssysteem voor de applicatiestatus en reserveer voldoende vrije ruimte voor databasegroei, upgrades en onderhoud. Het verplaatsen van een kleine wegwerpcache naar RAM compenseert geen te klein of defect permanent volume.
Gebruik tmpfs alleen voor expliciet wegwerpbare paden met een geheugenlimiet
Tmpfs kan schrijfbewerkingen verminderen en een zeer lage latentie bieden, maar gebruikt RAM van de host en verdwijnt wanneer de container of host stopt. Daardoor is het geschikt voor begrensde tijdelijke gegevens, niet voor iets wat na een herstart nodig is. De koppeling moet bovendien zo worden ingesteld dat een tijdelijke belasting niet het geheugen kan opgebruiken dat Home Assistant Core en aangrenzende services nodig hebben.
Een actuele Docker Compose-handleiding legt uit dat tmpfs-gebruik meetelt voor de geheugencapaciteit en kan leiden tot meldingen over onvoldoende ruimte of OOM-fouten wanneer het te groot of onbeperkt is ten opzichte van het containerbudget.
Stel een maximale grootte in, houd het piekgebruik in de gaten en herstart de container bewust. Het pad moet automatisch opnieuw worden gevuld, terwijl gebruikers, instellingen, geschiedenis en integraties ongewijzigd blijven. Als de applicatie de map niet opnieuw kan opbouwen of de afwezigheid ervan als beschadiging beschouwt, zet je deze terug op duurzame opslag.
Behandel frontendcache als een clientprobleem, niet als serveropslag
Een verouderde Home Assistant-pagina in één browser kan blijven bestaan terwijl de server gezond is, omdat frontendbronnen door de browser of app worden gecachet. Het wissen van tijdelijke bestanden aan de serverzijde lost die clientstatus niet op. Omgekeerd vermindert het wissen van de browsercache de I/O-belasting van Recorder niet en maakt het de Home Assistant-database niet kleiner.
Gebruikers van Home Assistant onderscheiden expliciet frontendcache als browsercache. Daarom moet het oplossen van cacheproblemen beginnen met vaststellen of het symptoom op één client of op de hele server voorkomt.
Gebruik een schone browser of een privéprofiel als controlemiddel. Als de nieuwe client goed werkt, houd de oplossing dan aan de frontendkant. Als elke client dezelfde ontbrekende gegevens of serverfout toont, blijf dan niet de lokale caches wissen; ga verder met het onderzoeken van Home Assistant-logs, opslag, integraties of de database.
Test tijdelijke opslag met herstarts, belasting en vrije ruimte
Meet na het wijzigen van een cache- of tmpfs-pad de normale en maximale grootte, het beschikbare geheugen op de host, de geheugendruk van de container, de vrije ruimte op het permanente volume en het gedrag na een herstart. Voer vervolgens de belasting uit die de cache aanmaakt—TTS, media, verwerking door een aangepaste integratie of een andere bekende producent—en controleer of het opruimen verloopt zoals verwacht.
Houd ruimte vrij op duurzame opslag voor bewerkingen die tijdelijke werkruimte nodig hebben, zelfs als de dagelijkse database comfortabel past. Vul het permanente volume niet omdat een RAM-cache normale schrijfbewerkingen kleiner deed lijken; upgrades, databaseonderhoud, back-ups en pieken in logbestanden kunnen heel andere eisen aan tijdelijke ruimte stellen.
De test is geslaagd wanneer elk wegwerppad kan verdwijnen en opnieuw kan worden opgebouwd, de permanente status een herstart van de container en host overleeft, het piekgebruik van tmpfs binnen het geheugenbudget blijft en Home Assistant voldoende vrije ruimte op duurzame opslag behoudt. Als een vereiste instelling of geschiedenis na de test verdwenen is, was het pad verkeerd geclassificeerd en moet het vóór verdere afstemming worden teruggezet naar permanente opslag.
Ondersteuning & Tips
Meer om te lezen

Kan Home Assistant een GPU of accelerator delen met een andere container?
GPU-deling hangt af van de werklast: containers kunnen vaak rendernodes delen, terwijl passthrough van een volledig apparaat naar een VM doorgaans de grens verlegt.

Hoe je kunt bepalen of een Home Assistant-fout afkomstig is van de client of de server
Fouten bij één client wijzen op de status van de client; fouten bij meerdere clients wijzen op de server of een gedeelde proxy-, netwerk-...

Zo voorkom je dat back-ups van Home Assistant een inconsistente databasestatus vastleggen
Gebruik back-ups die rekening houden met Home Assistant voor actieve systemen; als je onbewerkte bestandskopieën maakt, breng dan de database tot rust en controleer...

