@Henry
Das antwortet Claude
Das klingt nach einem sehr hartnäckigen Problem! Die Symptome deuten auf etwas Spezifisches hin:
Was du beschreibst:
• System wird über 2-3 Tage progressiv träger
• CPU/RAM unauffällig → kein klassisches Ressourcenproblem
• MQTT-Broker wird zuerst unerreichbar
• Leere DB = sofortige Besserung
• Problem auf neuer Hardware reproduzierbar
Meine Hypothese: SQLite-Locking / Connection-Stau
Das Muster “DB-Reset hilft sofort” bei gleichzeitig unauffälliger CPU/RAM deutet stark auf SQLite WAL-Korruption oder wachsende WAL-Datei hin, nicht auf die DB-Größe selbst.
Schau mal nach diesen Dateien neben deiner home-assistant_v2.db:
• home-assistant_v2.db-wal
• home-assistant_v2.db-shm
Die WAL-Datei kann massiv anwachsen, wenn der Checkpoint-Prozess nicht sauber durchläuft – und blockiert dann zunehmend alle DB-Schreiber, darunter auch MQTT-Integrationen.
Sofortmaßnahmen zum Diagnostizieren:
- WAL-Größe beobachten – schau täglich wie groß home-assistant_v2.db-wal wird. Wenn die auf mehrere GB wächst, ist das der Täter.
- In configuration.yaml umstellen:
recorder:
commit_interval: 30 # statt default 1
db_url: sqlite:////config/home-assistant_v2.db?connection_timeout=30
- Langfristig: Auf MariaDB/PostgreSQL umsteigen – SQLite ist für dauerhaften HA-Betrieb mit vielen Sensoren eigentlich nicht ideal. MariaDB als LXC auf Proxmox wäre die saubere Lösung.
Warum zuerst MQTT?
MQTT-Integration läuft über den Event-Bus und schreibt bei jedem State-Change in die DB. Wenn SQLite anfängt zu blocken, ist MQTT als einer der schreibfreudigsten Dienste der erste, der hängt.
Kannst du mal schauen, wie groß die WAL-Datei aktuell ist und ob sie wächst?