How can I disable default integrations?

Hi. Is there a way to disable all of the integrations that I don’t use? In my log I see things like:

[homeassistant.loader] Loaded sonos from homeassistant.components.sonos

Since I don’t have or use these, I’d rather not have them all there using up resources “just in case”.

I don’t quite understand your question- it’s slightly above my rank.

Generally, if you don’t want something to show up on Home Assistant, just remove it from the configuration.yaml file. If I understand Home Assistant correctly, only the top “core” group is required for Home Assistant to work.

You might also try ignore:

 # Discover some devices automatically ("New Devices Discovered")
 discovery:
   ignore:
     - plex_mediaserver
     - google_cast

Hope this helps

Thanks for the reply Steve.

These are things that are not in the configuration file - they’re integrations that HA has added (fairly recently) by default. They don’t show up as entities since I don’t use them, but I want to make it so that HA doesn’t even try to load them.

Are you confusing the list of AVAILABLE under set up a new integration or is it showing in the Configured section?

If it’s not in configured at the top then it’s not loaded

lindsayward, I was correct- I didn’t understand the question.

Thanks @DavidFW1960 - I might be, but my log shows as in my first post… loaded - so I presume that means… HA actually “loaded” something, therefore taking up resources including the time to load and print/write the log.

The default integrations are loaded by the line default_config: in configuration.yaml.

The entries added there are listed under Default Config in the docs. Several of the integrations, like Cloud, specifically discuss adding that integration manually if default_config: isn’t there.

There’s no guarantee that a future version of Home Assistant won’t add new defaults, so you’d have to keep up with that.

(I know this is late, but I think it should have an answer. Mods, maybe make this post a wiki and people can improve it?)

Thanks for commenting Matthew, but that’s not what I meant by “default”.
I mean everything that’s loaded that I didn’t ask for, like Philips Hue and Norwegian Weather and Sonos and…
I had hoped that it was possible to turn ALL of these off to save resources and reduce startup time.
It’s unrelated to the default_config setting.

Ah, I see. Well, I think you have two options there:

  1. Make a directory with the same name in custom_components, with a minimal manifest. You’ll need to add a version string (0.0.0 should do?) (And maybe disabled = "I don't want this" or something.) This should override the built-in component.
  2. Just remove it from the components directory in the installation tree. Depending on your install method, this may be more or less simple (or permanent).

I’d be curious to see what reduction in startup time you get from actually doing this (and comparing the two methods).

@ lindsayward - I am also interested in your results. Don’t leave us hanging, other people may have the same question.

I’m going to leave you hanging, @stevemann - this is above my pay grade :slight_smile:
It seems that loading everything is just what HA does.
@mattdm , thanks for offering help! I’m not looking to change the core of HA every time I upgrade, so I’ll just leave it as-is.