hajo62
(Hajo)
April 10, 2019, 1:53pm
1
In my configuration.yaml file I have added:
recorder:
purge_interval: 1
purge_keep_days: 7
repack: true
When I now restart HA, I get an error stating that the configuration for is wrong:
Removing the repack: true line and the config is okay.
What would be the right syntax to automatically repack the database?
1 Like
Remove the options for purging from your config and create an automation for it.
- alias: Purge Database
initial_state: True
trigger:
platform: time
at: '02:22:22'
action:
service: recorder.purge
data:
keep_days: 7
repack: true
EDIT: You have to set purge_interval: 0
to disable HA’s default daily purge.
3 Likes
hajo62
(Hajo)
April 10, 2019, 2:55pm
3
Thanks for that. Changed my setup…
Will report in a week, if the automation works
If you set the logging for recorder to debug,
logger:
default: warn
logs:
homeassistant.components.recorder: debug
you will see what the purge does.
2019-04-10 16:22:22 DEBUG (Recorder) [homeassistant.components.recorder.purge] Purging events before 2019-04-02 14:22:22.370017+00:00
2019-04-10 16:22:24 DEBUG (Recorder) [homeassistant.components.recorder.purge] Deleted 5147 states
2019-04-10 16:22:30 DEBUG (Recorder) [homeassistant.components.recorder.purge] Deleted 5520 events
5 Likes
Makis
(Makis)
March 17, 2020, 8:54pm
5
Thank you!
You helped me a lot
*old but useful!
Hi, in /config/automations.yaml I I entered your code
- alias: Purge Database
initial_state: True
trigger:
platform: time
at: '02:22:22'
action:
service: recorder.purge
data:
keep_days: 7
repack: true
but when I save the file, this error comes out:
bad indentation of a mapping entry at line 2, column 18:
initial_state: True
^
That line and all below it need bringing back one space. The first letter of the keys should be lined up with each other, so the i of initial would be under the a of alias.
Now it work @anon43302295 , thanks.
@VDRainer Does this automation reduce the size of the db file in Kb?
Would it be possible to have on the lovelace an indicator of the last repack, the size of the db file and a button to perform the repack manually? Thanks
1 Like
The repack option should do this.
Take a look at the filesize sensor
Create a script with the action from the automation and execute it from an entities-card or with a button
1 Like
johnnysamu
(Johnny Samuelsson)
June 30, 2024, 12:34pm
10
VDRainer:
true
I get it working with the following modification. Thanks for the code.
alias: Rensa databas
description: Try to free up space on the storage space.
trigger:
platform: time
at: “02:22:00”
condition:
action:
service: recorder.purge
data:
keep_days: 7
repack: true
apply_filter: false
service: logbook.log
data:
name: Database Cleanup
message: The database has been cleaned and repackaged.
entity_id: automation.clean_database
mode: single