Why the heck is default_config so difficult to customize?

As it is if you want to remove a single integration from default_config: (History, Map, logbook, etc), you need to remove default_config: and manually add every other included integration EXCEPT the one you would like to get rid of.

The most obvious solution to me would be to add the option to exclude entries from default_config: in the configuration.

Example:

default_config:
  exclude:
    - Map

But knowing how default_config works, that’s not really viable. I suggest we go back to the way things used to be before default_config existed. Each entry was added to configuration.yaml individually, and users could modify/remove items as needed. Lumping everything together doesn’t make very much sense to me.

There’s a Feature Request for the ability to exclude (ignore) options from default_config.

The principle argument against it is that default_config contains all the options the development team believes every user needs. It’s meant to simplify things by just specifying default_config and not having to list all the options it represents. In addition, they reserve the right to include more options within default_config so that, after an upgrade, you automatically get the additional options.

This all seems like a fair argument except it overlooks the fact that it’s actually inconvenient for anyone who needs only 90% of what default_config provides. For example, I don’t want updater (because it sends telemetry). As a result, I have to list the balance of all the other options (~17?) just because I don’t want one of them.

The counter-argument is that’s just a minor inconvenience that you only have to suffer once: list the other 17 options and you’re done. Not quite. In the next upgrade, default_config may contain an additional option or two (it’s happened). If you missed that little detail in the release notes, then your config, with its 17 options, is missing the new ones and your system may behave a bit strangely (I experienced this myself).

The convenience of using default_config would be greatly enhanced for everyone by simply allowing for this:

default_config:
  exclude:
    - updater

Done! Now if I upgrade and default-config contains new options, they are automatically included and only updater continues to be excluded.

5 Likes

That post is now at 18 votes. I wonder how many votes it takes before the dev team starts looking into it.

YES!!! 10000x THIS

doesnt matter how many votes it gets. read the disclaimer about WTH

"Is everything reported going to be fixed/addressed?"

There is no guarantee that will happen. The goal is to lower the barrier to
reporting things for one month. Home Assistant still relies on contributors
to address or improve the project. However, we do think collecting feedback
this way can tremendously help with the upcoming
Hacktoberfest .

Well, turns out that many years ago I was a programmer by trade. I do still program from time to time so I might take a jab at it some time.

2 Likes

Please do! They can always use more help, even for small stuff (bug fixes, or minor improvements like what are contained in this or the feature request forum).

UP! Any update on this?