Imagine:
You’re working on your Automations, and change several Entries with Entities and Conditions.
Only to find out after a couple of hours, something went terrible wrong, and first of all, you need to “undo” your editings
By now, this isn’t easy possible:
- In Case you did a manual Backup, you could restore that. But that takes a Lot of Time, and you gonna loose all your History
- In Case you dare, you can try to extract the corresponding yamls from the tar.gz, inject, reboot and cross Fingers
- And, of course, you never take a Backup every Time you edit a different e.g. Automation
- And of course, you gonna loose your obviously messed-up work, and can’t take a look later, what probably went wrong
Wouldn’t it be awesome, if you could just navigate to Developer->YAML->Editing History, and find an editing History sorted by Time, where you can choose to restore an automatically taken Snapshot?
Easiest way to achieve that, would be probably before saving the Editing, an automatic Backup of that *.yaml gets greated with a preleading Timestamp. User chooses the Backup he/she wants to restore.
There could be a simple Retention-Policy to delete those Backups older than xx Days
It might look like this:
2023-02-19 08:23 Automation
2023-02-19 08:21 Automation
2023-02-19 08:17 Helper
2023-02-19 08:23 Automation
Probably a bit more complex, but awesome User Experience, would be an Editing-History, just like you have it in Adobe Products. The User sees a Timeline with all Editings in all *.yamls made, and can always choose the Point to jump to. It might look like this:
2023-02-19 08:23 Edited | Automation "Downstairs Lights"
2023-02-19 08:21 Created | Automation "Downstairs Lights Remote"
2023-02-19 08:17 Created | Helper "Downstairs Lights Remote"
2023-02-19 08:23 Edited | Automation "Downstairs Lights"
I guess almost everybody here had several Times such “for-fu****-sake” Moments. I think it would be a significant improvement, and drastically increase the Happiness-Factor.
Just imagine you’re editing a picture in Photoshop, without having undo