WTH lovelace configurations can't be modified with file system in addition of UI?

Hey,

It was a huge WTH whan I started to use Home assistant.

Home assistant use a lot of YAML, got it ! You can configure a lot of things throw YAML files that you can edit directly with your favorite code editor / IDE thanks to a simple samba share OR use the terminal / SSH module to edit them, fine.

Personaly, I do love to use my own code editor when it come to edit config files, it’s really more convenient for a lot of things : indentations, autocomplete, git tools etc.

But when you need to edit your dashboards on lovelace, the only option I found is using the web interface.
That make sense in a way, because of all the click & configure everywhere, you do not really need to edit pure YAML at first.

But time after time, your lovelace configurations grow up and it became more and more difficult to edit them and I encounter more and more issues :

  • I can’t follow the history of modifications. If it was in the filesystem, I would just save them with a git repository.
  • I can’t get back to the previous version when I made a mistake. If I delete a wrong part? Well, too late to get it back. If it was in the filesystem, I could just use CTRL+Z from my code editor or get it back with Git.
  • It can be really hard to fix and indentation / word issue when using web interface. If it was the filesystem, it would be easy to find and fix it with a code editor ;
  • Using web interface have sometimes a poor syntaxic coloration where everything become blue and it become hard to read it. If it was the filesystem, using a code editor would perfectly show code colors ;

So yeah I can copy / paste the content of the file to my code editor to help me editing it. Yeah I can copy / paste regulary the content of all the configuration to custom local files and commit them to my git repository for saving them. Yeah I can do a “test” dashbord that is a dupplicata of my main dashbord, then I will do all my work on it then copy / paste his content to the current dashboard when all is working fine.

I can do all of that but could it not be more simple?

Why can we just have theses configurations files availables under the file system in addition of the web interface?

What you think guys?

Edit : I found out that there is way to switch to only YAML files for lovelace dashboard, but then you can’t use web interface. The perfect world would be to use one without loosing the feature of the other? I have edited the title in consequence.

Don’t forget… it could all work gracefully if it just used file based notifications, sending a message that it has been reloaded or could not reload.