Temporarily disable integrations in the UI

With more integrations being configured through UI/Config Flow now and a requirement that new ones support it, it’s become much more cumbersome to triage issues by disabling built-in integrations or custom components without losing their configuration. The typical strategy in the past for debugging issues was to comment out suspect integrations in configuration.yaml, which could be done without losing any of the config in YAML, but there’s no equivalent with integrations configured via the UI beyond removing the integration entirely. With integrations that have complicated, multi-page config flows, it’s quite a hassle to remove an integration temporarily just for testing.

Evidently you can hack this by changing the domain: line in .storage/core.config_entries to “xxx-disabled” (or similar), and we already have a list of integrations in the Configuration->Info and in Configuration->Integrations where such an enable/disable option could be located. It would be helpful for users and for folks in the forum/Discord helping other users to be able to easy enable/disable integrations via the UI.

I love this idea… It would be very helpful to have a way in the GUI to turn integrations on and off for troubleshooting just like we could with YAML # … :slight_smile:

This capability was added in 2021.3:

Woohoo!

Is there a way in config.yaml to disable an integration (in my case Rachio, who’s API calls are being rate limited by the number of apps I have cross linked) on a regular schedule? i.e. off at 12AM and back on at 9AM, I’m sure I’m missing a super simple config! I know this is not for UI, but I’m hoping that it’s topical enough for this thread of disabling integrations.

I see nothing in the REST API that looks like it would do that: https://developers.home-assistant.io/docs/api/rest/. So I think not.

Thanks Rob! Figured it wouldn’t, but you sometimes never know!

How do I re-enable a disabled integration? Can’t seem to find it anywhere.

Edit: Found it

2 Likes

How could one call this without UI?

You can’t, as far as I know. You can use the hack that I mentioned in the original post, but you’re on your own hacking around in the files in .storage.

1 Like

You say it was added in 2021.3, which is great … but it seems to work only for integrations that are shown in the configuration screen.

I have an urgent need to frequently disable and then re-enable again a heating system integration (EQ3 Max!) which is not shown in the screen. The reason is that while the integration is running I am unable to access the associated hardware to configure it. How do I go about that? Right now the only option I seem to have is to every time modify the config YAML and restart the the entire HA, then do my config change in the other software, then modify the config YAML again, and then restart the HA again. Quite a hassle.

That’s a very atypical use case and there’s no easy way to do it.

:cry: but thanks for the quick response Rob!

Is there a way to get the integration onto the GUI to be able to stop and start it?

No, it would have to be written to support Config Flow in addition to or in place of YAML config.

Is there still no solution for this, I have the same issue. There must be an easy way to stop the integration connecting to the cube. Maybe the solution is in the integration, a service to stop and start the connection fi? Can someone inform me on how I can create that?