Screenshots From the README of hiSweid/last_changed_keeper.
About
Last Changed Keeper restores the real last changed time of entities after a Home Assistant restart. Normally that value resets to the restart time, so the integration reads the true start of each entity's current value from the recorder and writes it back directly on the entity, without extra sensors. It only backdates entities whose value did not change across the restart, and it leaves entities alone once they are no longer fresh. Selection can cover all entities, or specific domains, labels, areas and individual entities, with an exclusion list, and it can also restore last updated and the last triggered time of automations and scripts. It adds a restore now button, a sensor for restored entities, and a verify action that compares live values with stored ones without changing anything. It runs locally and is set up in the UI.
Automatic summary of the README and code of hiSweid/last_changed_keeper. Something wrong, or are you the maintainer and want your own text here? Get in touch
Supports
Works locally Talks to your devices on your own network. No vendor cloud in between.
From the Marketplace Installed through the Marketplace, formerly HACS.
Actively maintained Its author released or pushed a change in the last six months.
Provides
- Sensors
Setting it up
Install it from the Marketplace and restart Home Assistant, then add it under Settings, Devices and services.
Last Changed Keeper
- Track all entities (ignores domains/entities/labels/areas below)
- Domains
- Additional individual entities
- Labels
- Areas
- Excluded entities
- Only patch if last_changed is younger than (seconds)
- Periodic snapshot every (seconds, 0 = off)
- Also restore last_updated
- Also restore automation/script last_triggered
- Self-check a few minutes after boot (logs mismatches)
- Retry delays in seconds (comma-separated)
- Bulk history query batch size (entities per query)
Also asked when changing the connection.
After setup
- Track all entities (ignores domains/entities/labels/areas below)
- Domains
- Additional individual entities
- Labels
- Areas
- Excluded entities
- Only patch if last_changed is younger than (seconds)
- Periodic snapshot every (seconds, 0 = off)
- Also restore last_updated
- Also restore automation/script last_triggered
- Self-check a few minutes after boot (logs mismatches)
- Retry delays in seconds (comma-separated)
- Bulk history query batch size (entities per query)
Texts from the code of hiSweid/last_changed_keeper.
Entities
- ButtonsRestore now
- SensorsRestored entities
Actions
- Restore nowRuns a restore pass immediately and writes back the real last_changed for all currently fresh entities.
- VerifyCompares the live last_changed of every currently watched entity against the value derived from the recorder/store, without patching anything. Returns any mismatches found - useful for diagnosing "the value looks wrong" reports.
Troubleshooting
- DiagnosticsDownloads a diagnostics file to attach to a bug report.
- Repair noticesNotices it can show in Settings, Repairs:Last Changed Keeper: incompatible HA version
From the README
Keeps the real "last changed" time of your entities after a Home Assistant restart. Normally last_changed jumps to the restart time ("2 seconds ago" instead of "17 minutes ago"); this integration restores the true time from the recorder — directly on the entity, no extra sensors.
Shows in Vulpo
Button card, Chart card, Apple Watch.Information
- Installs
- 63 sharing analytics
- GitHub stars
- 29
- Connection
- Works locally
- Upkeep
- Updated in the last 6 months
- Version
- v0.9.16,
- Category
- Sensors
- Kind
- Marketplace integration
- Needs
- Needs the Marketplace (HACS on 2026.10 and older)
- Domain
last_changed_keeper- Issues
- Report an issue












