Réparer une base de données corrompue sur raspberry pi

Suite du sujet Base de données corrompue :

Bonjour

Pour récupérer une base de données corrompue sur un raspberry pi :

  • Commencer par une sauvegarde de l’automate au cas où ça tounerait mal
  • Télécharger sur un PC le fichier corrompu par exemple avec Filezilla ou depuis une sauvegarde externe.
  • Installer sur le PC la version console de sqlite3
  • Se placer avec la console dans le dossier où est le fichier corrompu
  • Dans la console taper (en adaptant avec le nom de votre fichier corrompu)
    sqlite3 ./home-assistant_v2.db.corrupt.2026-04-09 .recover | sqlite3 ./home-assistant_v2.db.fix
    et ignorer les erreurs.
    si vous avez installé DB browser pour sqlite, vérifier qu’il lit le fichier .db.fix qui vient d’être créé
  • Arrêter l’automate. récupérer la carte SD

Sur une machine linux (un raspberry pi peut sans doute suffire avec un adaptateur usb-carteSD)

  • insérer la carte SD
  • aller dans le dossier : hassos-data/supervisor/homeassistant/
  • Détruire les 3 fichiers : home-assistant_v2.db, home-assistant_v2.db-wal, home-assistant_v2.db-shm
  • copier sur la carte SD le fichier réparé : home-assistant_v2.db.fix
  • le re-nomer en : home-assistant_v2.db
  • remettre la carte SD dans l’automate et redémarrer.
  • on voit réapparaître les stats avant que ça plante :

C’est quoi un automate dans ce contexte ?

Bonjour
Ok c’est un peu impropre, ici l’automate désigne le Raspberry Pi qui fait tourner Home Assistant.
Remarques :

  • Le même raspberry, avec une autre carte SD peut servir de machine linux.
  • Dans la console, le ./ (sans doute .\ sous Windows) devant un nom de fichier n’est pas nécessaire si on est dans le bon dossier.