Par défaut, Home Assistant utilise une base de données SQLite pour stocker les configurations de même que les données sur les capteurs.
Cette base de données est contenue dans le fichier /mnt/data/supervisor/homeassistant/home-assistant_v2.db.
Remarquez qu'il est possible de configurer Home Assistant pour qu'il utilise un autre système de gestion de bases de données, par exemple MySQL ou PostgreSQL.
Dans cette fiche :
Pour explorer facilement votre base de données SQLite, vous pouvez installer le module complémentaire SQLite Web.


Il est possible d'explorer la base de données Home Assistant directement dans le Terminal HassOS.
# cd /mnt/data/supervisor/homeassistant/
# sqlite3 home-assistant_v2.db
SQLite version 3.48.0 2025-01-14 11:05:00
Enter ".help" for usage hints.
sqlite>
Utilisez la commande .tables pour obtenir la liste des tables de cette base de données.
sqlite> .tables
event_data schema_changes statistics_meta
event_types state_attributes statistics_runs
events states statistics_short_term
migration_changes states_meta
recorder_runs statistics
Pour connaître la structure d'une table, vous ne pouvez pas utiliser la commande SHOW CREATE TABLE bien connue sous MySQL.
Plutôt, vous devez faire ceci :
.schema nomtable
sqlite> .schema statistics
CREATE TABLE statistics (
id INTEGER NOT NULL,
created CHAR(0),
created_ts FLOAT,
metadata_id INTEGER,
start CHAR(0),
start_ts FLOAT,
mean FLOAT,
mean_weight FLOAT,
min FLOAT,
max FLOAT,
last_reset CHAR(0),
last_reset_ts FLOAT,
state FLOAT,
sum FLOAT,
PRIMARY KEY (id),
FOREIGN KEY(metadata_id) REFERENCES statistics_meta (id) ON DELETE CASCADE
);
CREATE INDEX ix_statistics_start_ts ON statistics (start_ts);
CREATE UNIQUE INDEX ix_statistics_statistic_id_start_ts ON statistics (metadata_id, start_ts);
sqlite>
Pour connaître la structure de toutes les tables :
SELECT sql FROM sqlite_master;
Je vous présente la structure des tables sous forme graphique.
Pour produire ce diagramme, j'ai ouvert la base de données dans Valentina Studio après l'avoir téléversée sur mon poste de travail.

À partir d'ici, il est possible d'afficher le contenu des différentes tables. Mais avant, il est intéressant d'effectuer deux petites configurations pour améliorer le rendu.
.mode column
.headers on
Et pour voir le contenu d'une table :
sqlite> SELECT * FROM statistics_meta;
id statistic_id source unit_of_measurement has_mean has_sum
-- -------------------------------------------- -------- ------------------- -------- -------
1 sensor.node_14_battery_level recorder % 1 0
2 sensor.dome_door_window_sensor_battery_level recorder % 1 0
3 sensor.neo_capteur_5_en_1_illuminance recorder Lux 1 0
4 sensor.porte_dentree_battery_level recorder % 1 0
5 sensor.node_16_humidity recorder % 1 0
6 sensor.node_16_air_temperature recorder °C 1 0
Si vous préférez, vous pouvez remplacer .mode column par :
.mode box
Cette fois, les données appararaîtront dans un tableau.
sqlite> SELECT * FROM statistics_meta;
┌────┬──────────────────────────────────────────────┬──────────┬─────────────────────┬──────────┬─────────┐
│ id │ statistic_id │ source │ unit_of_measurement │ has_mean │ has_sum │
├────┼──────────────────────────────────────────────┼──────────┼─────────────────────┼──────────┼─────────┤
│ 1 │ sensor.node_14_battery_level │ recorder │ % │ 1 │ 0 │
│ 2 │ sensor.dome_door_window_sensor_battery_level │ recorder │ % │ 1 │ 0 │
│ 3 │ sensor.neo_capteur_5_en_1_illuminance │ recorder │ Lux │ 1 │ 0 │
│ 4 │ sensor.porte_dentree_battery_level │ recorder │ % │ 1 │ 0 │
│ 5 │ sensor.node_16_humidity │ recorder │ % │ 1 │ 0 │
│ 6 │ sensor.node_16_air_temperature │ recorder │ °C │ 1 │ 0 │
└────┴──────────────────────────────────────────────┴──────────┴─────────────────────┴──────────┴─────────┘
Si vous préférez, il est possible de l'explorer dans la fenêtre Terminal de votre ordinateur. Vous devrez pour cela en télécharger une copie.
Je vous propose deux techniques pour y arriver :
scp -O -P 22222 root@192.168.1.145:/mnt/data/supervisor/homeassistant/home-assistant_v2.db /chemin/local

Sur votre poste de travail, assurez-vous que SQLite soit installé.
Dans une fenêtre Terminal, entrez la commande sqlite3 suivie du chemin complet de la base de données (là où vous l'avez téléchargée).
sqlite3 chemin/home-assistant_v2.db
monnom@MacBook-Pro-de-MonNom ~ %sqlite3 /Users/monnom/Downloads/home-assistant_v2.db
SQLite version 3.43.2 2023-10-10 13:08:14
Enter ".help" for usage hints.
sqlite>
À partir d'ici, vous pouvez effectuer les mêmes opérations que démontré plus haut.
« Database ». Home Assistant. https://www.home-assistant.io/docs/backend/database/
« Data ». Home assistant. https://data.home-assistant.io/docs/data
▼Publicité