Ability to disable onboard_integrations

The current configuration will setup certain integrations during the onboarding process. However, some of the integrations are not necessary depending on the user and require additional work to disable them manually.

The current integrations during the onboarding process are as follow: “google_translate”,“met”,“radio_browser”,“shopping_list”. Reference: core/homeassistant/components/onboarding/views.py at e8d5ebef7e6547db72541c67927f029701f7d329 · home-assistant/core · GitHub.

I believe it would beneficial to provide an option to disable these through the configuration.yaml file. These integrations should still be set up by default unless it is explicitly set otherwise. This would be an advanced feature to shorten the onboarding process.

related issues:

This is already possible through configuration.yaml. Simply remove the defaut_config from your configuration.yaml and add the ones you do want.

The default configuration is not the same as onboarding one.

Here is the code reference: core/homeassistant/components/onboarding/views.py at e8d5ebef7e6547db72541c67927f029701f7d329 · home-assistant/core · GitHub.

I’m not much familiar with the HA codebase, but the file you reference does not seem to contain any reference to integrations that the onboarding could do without.

Your original question asks a way of deciding what integrations get loaded in cornfiguration.yaml. That is the question I answered. If you take out default_config you are fully in control over what gets loaded on the next boot. I do not think anyone would edit configuration.yaml before onboarding, nor understand what disabling default integrations would mean for future use.

You fail to explain what integrations you would want to disable and what the benefit would be of doing so. Personally, I think it is a nice feature if during onboarding all integrations that allow auto detection are loaded once.

That way you can show new users which devices are available in their home to integrate, and allows them a choice to keep the integration loaded for future times or not. I guess this is why integrations are loaded during onboarding.

Not doing so would make it very hard for users to decide which integrations could be of use to them, based on devices they already own. Showing them a list with all kinds of integrations they do not know before autodetection would not be an improvement in my book.

I think there’s some confusion in your understanding.

The original question is not asking what integrations get loaded in the configuration.yaml. It is specifying that certain integrations get set up during the onboarding process.

The feature requested here is to provide an optional feature of disabling these via the configuration.yaml such that the onboarding process doesn’t need to incur extra time to set these up.

So if I get it right the only benefit you mention is to save some time for the first boot. But what will be the integrations you want to turn off, how much time would it take to configure not loading those, and what would be the possible consequence for the onboarding if those integrations are not loaded? You still do not make a good case for the benefit i.m.h.o. If you want people to vote for it, explain how it would work and why it would be better.

I’m more curious what integrations we are talking about.
But remembering how it was to install Windows 95, that is probably not a good first impression.
You had to sit there the entire time because it would prompt you with new questions every 5 minutes such as “your name”, " computer name", “timezone” and so on.
If it defaults to something that most people use then that is probably a better experience than asking if you want to include some integrations that no new user knows what it is anyways.

Yes, I don’t disagree that it should be included by default – this should still be the case. This advanced feature would need to be explicitly set to bypass these integrations during the onboarding process.

I’m sitting here wondering why this even matters? You onboard once, these integrations are only installed & used when you onboard. Otherwise they just take up maybe a couple kb of memory.

Are they required for HA to boot up? I feel they are mostly optional unless I’m mistaken.

They are required for the onboarding process, which is the user logging in and setting up the system for the first time.

google_translate for translations
met for location & maps when selecting location

I don’t know what the other 2 integrations are for, but they are related to other onboarding questions.

Since you haven’t yet said which integrations you are talking about then it’s hard to answer your question.

He’s referring to


            # Integrations to set up when finishing onboarding
            onboard_integrations = [
                "google_translate",
                "met",
                "radio_browser",
                "shopping_list",
            ]