Pas d'entity_id dans la base SQLite?

Bonjour à tous,

Ma question est plus par curiosité (et un peu d’inquiétude) qu’autre chose car tout mon systeme HA fonctionne parfaitement.

Par contre, la base est immense 9Gb, j’ai mis en place une sélection recorder: mais cela ne change rien.

J’ai lu mille témoignages sur les soucis de base de données, mais tout le monde arrive a identifier les entity_id les plus utilisés.
Quand j’execute la commande suivante dans SQLite, je n’ai aucune entity_id qui remonte :

SELECT entity_id, COUNT(*) as count FROM states GROUP BY entity_id ORDER BY count DESC LIMIT 20;

J’ai finalement pris le parti de renommer le fichier de la base et relancer, un nouveau s’est créé.
Mais, pareil, je n’ai rien dans entity_id :

C’est vraiment étrange.
Qu’en pensez vous ?

Bonjour,
essaie par SQLite Browser.

@WarC0zes
tu as quoi quand tu lances cette requête ?
J’ai toujours rien dans entity_id


Peut etre que le format de base a changé ?!

utiliser SQLite browser et tu voix que entity_id est NULL
il faut utiliser metadata_id et table states_meta

merci, je vais regarder, c’est bien GitHub - hassio-addons/addon-sqlite-web: SQLite Web - Home Assistant Community Add-ons que tu utilises ?

OK pour Sqlite web addon

Pas de haos, donc: DB Browser for SQLite (sqlitebrowser.org)

image
:+1:

J’étais comme toi avec une base > 10Go suite au test sur le Rfxcom et Rfplayer.
Du coup maintenant je purge avec recorder tout les 8 jours ! ce la depend maintenant < 3 Go
Sinon recorder en 4 jours => 1 Go

OK, donc j’ai compris, ils ont ajouté une table qui fait le lien entre states et states_meta
entity_id de states est devenu vide et c’est metadata_id qui est utilisé


Je vais réviser mes anciennes connaissances SQL pour retrouver la bonne requète qui va remplacer
SELECT entity_id, COUNT(*) as count FROM states GROUP BY entity_id ORDER BY count DESC LIMIT 20;

1 « J'aime »

Et voilà le requète :

SELECT states_meta.entity_id, COUNT(*) AS count
FROM states
JOIN states_meta ON states.metadata_id = states_meta.metadata_id
GROUP BY states_meta.entity_id
ORDER BY count DESC
LIMIT 20;

Si vous connaissez les majors de HA, proposez leur de mettre à jour cette page :

3 « J'aime »

1 « J'aime »

Je laisse la place aux anglophones :kissing_heart:

1 « J'aime »

On peut pas lancer de requête directement depuis l’interface graphique ? ou j’ai un problème aux yeux ?
:face_with_monocle: :eyes:

oui change tes lunettes ! :rofl:


c’est vrai qu’il faut sélectionner avant la table_name !

Voilà, merci, j’avais effectivement pas vu, faut entrer dans une table. Merci !!

Impec, je sais ce qu’il faut que je désactive dans recorder du coup…

Merci pour ce post, je ne comprenais pas ce qu’il se passait avec ma base…
Un autre point et peut l’objet d’une nouvelle demande d’aide:

Les données temporelles last_updated ne semblent pas mise à jour.
J’ai l’impression qu’il faille passer par last_updated_ts ?

Mais du coup, je ne vois pas comment faire simplement une requête SQLite sur le temps…