How can I disable the cloud component?

Here is the current list of default_config: components from manifest.json:

application_credentials:
automation:
cloud:
counter:
dhcp:
energy:
frontend:
history:
input_boolean:
input_button:
input_datetime:
input_number:
input_select:
input_text:
logbook:
map:
media_source:
mobile_app:
my:
network:
person:
scene:
script:
ssdp:
sun:
system_health:
tag:
timer:
usb:
webhook:
zeroconf:
zone:

My configuration.yaml now looks like this:

####################################################################
# Configure a default setup of Home Assistant (frontend, api, etc) #
####################################################################
#default_config:
application_credentials:
#automation:
#cloud:
counter:
dhcp:
energy:
#frontend:
history:
input_boolean:
input_button:
input_datetime:
input_number:
input_select:
#input_text:
#logbook:
map:
media_source:
mobile_app:
my:
network:
person:
#scene:
#script:
ssdp:
sun:
system_health:
tag:
timer:
usb:
#webhook:
zeroconf:
#zone:

homeassistant:
  customize: !include customize.yaml
alexa: !include alexa.yaml
api:
automation: !include automations.yaml
(etc.)

Except for cloud:, the other commented items were due to duplicate keys as they were defined later in my config.

2 Likes

In my opinion itā€™s a pitty that cloud is in the default_config.
Itā€™s okay when cloud: is in the standard configuration.yaml, but i donā€™t think many ha users want to use the cloud featureā€¦

2 Likes

Thereā€™s a lot of stuff in default_config that shouldnā€™t be in there, as far as I see it. At least for advanced users.

Iā€™m dealing with this by modifying the manifest.json, as @Aldaran mentioned. But instead of doing it manually, I run a custom post-install / post-update script that removes entries i donā€™t like from the json (and the script modifies the HA source code in various other ways too, to patch/remove things I donā€™t like). Pretty automated and hands off, unless the component json structure changes someday (unlikely but not impossible, seeing how trivially breaking changes are thrown around left and right in this project).

It would be nice if something like disable could be set:

default_config:
  exceptions:
    - cloud
15 Likes

discussed already to death. short answer: devs refuse to accept that (someone did that but it has been rejected from the release). If you want to exclude single integration you have to maintain the whole list on your own. This is devs stance

1 Like

ā€œexceptionsā€ as suggested, should be the right way to do it. Basically this is a Nag Item and itā€™s right on top of all items.

1 Like

Found a clean solution for this. It is to create a dummy custom component that overrides the default cloud integration.

  1. Go to /config/custom_components and create a folder called cloud
  2. Inside cloud create 2 files:
    Filename: __init__.py
"""Cloud."""
DOMAIN = "cloud"

def setup(hass, config):
    
    # Return boolean to indicate that initialization was successful.
    return True

Filename: manifest.json

{
  "domain": "cloud",
  "name": "Cloud",
  "codeowners": ["@yourName"],
  "version": "1.0"
}

You can do it manually or install custom repository in HACS:
https://github.com/benquan/cloud

15 Likes

I support the work by Nabu Casa and the services and support they offer, e.g. through the cloud integration. I am a paying customer.

That said, I maintain multiple HA instances and only one of those uses the cloud. Your solution is clean and will, other than the alternative workaround, introduce no unwanted side effects. Thank you! :tada:

1 Like

Did this, now it just says ā€œLoadingā€¦ā€ under Home Assistant Cloudā€¦ Am I missing something?

1 Like

I think this is intentional :).

Where is manifest.json located?

1 Like

Manifest content changes with updates, how do you update it in the configuration?
Are you checking manually?

Youā€™ll have to regularly check it. I hadnā€™t checked the manifest in a while and I was missing 2 newer (within last 6 months) items.

1 Like

What I did was wrap it up in a configurable integration that just looks at default_configs current list of dependancies and loads all of them except the ones declared in my integrations list of exclusions. Should just automatically stay in sync.

4 Likes