The problem
If you’ve ever tried to stop a chatty sensor from bloating your recorder database, you know the drill: open configuration.yaml, hand-write an exclude: block, guess at the right entity_globs, restart, and hope you didn’t typo an entity_id. And when the DB is 2 GB and you have no idea which entities are responsible — well, good luck, because that information isn’t exposed anywhere in the UI.
I got tired of doing this by hand, so I built GUI Recorder.
What it does
It adds a sidebar panel to manage your recorder configuration and database maintenance — without touching configuration.yaml.
- Per-device and per-entity toggles — turn recording on/off with a switch. No YAML.
- Database statistics — see total / current / obsolete record counts, which entities are eating the most rows, disk size, and the DB path. Finally know what is bloating your database.
- Maintenance actions — purge the DB by retention, purge the full history of excluded entities, repack (VACUUM) to reclaim disk, all from buttons.
- Orphan / obsolete cleanup — spot exclusions that no longer match any entity, and records left behind by deleted entities.
- Guided migration — if you already have a
recorder:block, it imports your existing config and walks you through switching over in 3 steps. - Manual exclusions field — for the domain/glob/event_type filters that don’t fit the per-entity model.
Install
It’s in the default HACS catalog — just search for “GUI Recorder” in HACS → Integrations, install, restart, and add the integration. No custom repository needed.
GitHub (source, screenshots, full docs): GitHub - ideaalab/gui-recorder: Home Assistant custom component: manage recorder config and DB maintenance from a sidebar GUI panel (SQLite only) · GitHub
Important caveats
- SQLite only. MariaDB/PostgreSQL are explicitly rejected during setup — the DB analysis reads the SQLite file directly, so other backends aren’t supported.
- Purges are permanent. Always take a full HA backup before using the maintenance or migration features. Deleted recorder history can’t be recovered.
It’s still pre-1.0 and actively maintained — I’ve been shipping fixes as people report things. Feedback, bug reports, and feature ideas welcome, either here or on the GitHub issue tracker. Hope it’s useful to someone else who’s been fighting their recorder config by hand.


