Please keep Home Assistant configurable through YAML files

Hi there,

I have noticed that @balloob started making the entity registry editable through the UI-only. (See PR).

I am a little worried about this because on the interview with Open Sourcecraft last year he also said that he’d like everything to be configurable through the UI.

I personally chose Home Assitant because everything is easily changeable through configuration files. This makes Home Assistant unique from other projects and products (such as OpenHAB, which is a pain in the butt to manage without the UI). I understand that noobs might be more comfortable with the UI, but what speaks against having the choice between the UI and configuration files?

I am quite sad that the entity registry cannot be edited through the YAML file any more. I sometimes need to change entity ids (e.g. when I rededicate the usage of a ZigBee plug) and before HASS 0.77 I could simply change the entity id in the YAML file to represent the new use-case of an entity. Ideally through a simple “sed” command in the config directory. Now I am supposed to open a browser for that?

So dear developers, I would really appreciate if you could please think of the people who manage their Home Assistant through configuration files instead of the UI. Please don’t take away the command line and YAML files from us.

BTW: This is not meant to be overly critical. I am just a concerned user who loves to play with Home Assistant. And I love the command line :slight_smile:

I’m with you. I think that it is simpler with configuration files (after understanding YAML).
For example, I’ve tried several times to use the UI for automations and scripts but never had success. Moved to yaml in configuration files and no issues!

I would also support this.

Some of the changes might touch several yaml files and sed does it without any problem. Sometimes you just want to change the entity naming convention since your system is growing. Writing a simple script with sed is much simpler then doing each entity separately in UI.

UI can support only the most typical scenarios, it is impossible to foresee all possible situations.

Yep definitely, don’t mind it being editable through the UI, but ultimately would like to keep all functionality through the config files. Makes migrating and backups so easy.

Listening to Paulus talk on the home assistant podcast recently, he has mentioned that moving forward he envisions HA to be configurable from the UI, especially to make it more accessible to new/basic users. However, he also said that HA will remain based on yaml so that power users will have the ability to do the more advanced things that attracted them to HA in the first place.

:+1:t4:

Edit:
I believe it was episode 23.

3 Likes

The entity registry is still a file, it can now be found in .storage. The difference between YAML files and the JSON stored in .storage, is that Home Assistant won’t validate the format for the files in .storage but assumes it’s right. With YAML we always had to validate that the user was following the expected format.

configuration.yaml will not go away, but just solely relying on it is preventing new features of being built. That’s why for newer integrations, we read them and then convert them to config entries which are stored in .storage. This allows us to store all auth in one place and give it a unique ID, which is then connected with both the entity and device registries. Expect a nice UI to see how config relates to devices and entities in a future release :slight_smile:

9 Likes

Thanks for the heads up, Paulus. It’s good to know that people are not actively working on replacing the config system. It still makes me nervous, though.

The commit log regarding the entity registry sounded like it won’t be supported to edit this file manually any more. I’ll believe what Paulus said and hope that this is just a wrong interpretation from me.

But I found yet another example where config file features might be dropped soon: I just love the Lovelace UI (who doesn’t?) and I have already built a huge UI with it. And of course I have split my Lovelace config into separete files. Now the docs say about this:

Split configuration is currently possible directly in Lovelace, but it is expected to be removed in the near future due to fact that Home Assistant will be writing directly to the ui-lovelace.yaml file.

This sounds like another “GUI configuration preferred” thing. And this would mean that a very powerful part of the config system (which is splitting up files) will be going away. :frowning:

2 Likes

What do you mean by the command line? Is there a CLI for Home Assistant?

1 Like

You’re the bees knees! Can’t wait to try this out.