WTH is there no "reload integration" service?

This doesn’t work for the Onkyo integration. Calling

service: homeassistant.reload_config_entry
target: 
  entity_id: media_player.receiver
data: {}

Creates following log entry:

Logger: homeassistant.helpers.script.websocket_api_script
Source: components/homeassistant/__init__.py:268
First occurred: 12. März 2023, 16:44:19 (8 occurrences)
Last logged: 17:46:19

websocket_api script: Error executing script. Unexpected error for call_service at pos 1: There were no matching config entries to reload
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 451, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1808, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1845, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 762, in admin_handler
    await result
  File "/usr/src/homeassistant/homeassistant/components/homeassistant/__init__.py", line 268, in async_handle_reload_config_entry
    raise ValueError("There were no matching config entries to reload")
ValueError: There were no matching config entries to reload

This solution neither works for integrations that create no entities, nor for integrations that create no unique IDs (I guess).

1 Like

The “entry_id” is in the diagnostics file of the integration page.

What does this mean? I have no idea to get that information from the Integrations page.

1 Like

My usecase is that of an Axis IP camera which I only turn on when alarm is enabled. I ended up doing a script that powers the camera on using a smart socket, waits 40s and then calls the reload_config_entry service.

While using the reload_config_entry works (on the device entity), the notification warning in the UI does not go away (I wish it did, because if the service does exactly the same as clicking the reload button then it should probably disappear). Is that expected ?

Did anyone ever figure out how to reload a yaml integration???

Also hoping someone finally figured out how to reload a yaml integration

@m00str One man’s pain may be another’s pleasure or at least in my case, my GOAL.

I’d LOVE to be rid of the 2 EXTRA and bogus Zones the Onkyo integration generated!

Btw if you haven’t looked yet you might want to consider moving to the HACS version of the Onkyo integration. He added async support that and HOPEFULLY will eventually generate unique IDs.

—T

here is what worked for me:

Go to:

  • Settings:
    image

  • Devices & Services
    image

  • Click on the integration you want to restart, in my case it was Tuya
    image

  • Click on the right top 3 dots and then Download diagnostics
    image

  • This will download a JSON file and the file name contains the entry_id.
    In this example, it is dabdb61cd4818b4fcdf5aab4066f51e5
    image

  • another way to get his entry_id is by clicking on the devices or entities link in the integration screen:
    image

  • this will lead you to the devices page with a URL containing the config_entry parameter, like this:
    image

  • then you can do a call like this:

service: homeassistant.reload_config_entry
data:
  entry_id: dabdb61cd4818b4fcdf5aab4066f51e5

I hope it helps!

2 Likes

Sorry for the late answer, but i tried out two different HACS integrations.
This One seems to be just a revamp of the old configuration.yaml based integration but with the new async backend but
This one additionally has the config flow added, which means you can now set it up through the UI, it generates unique IDs so you can just deactivate the entities of zone2 and zone3. This HACS integration is probably the best for you, since you dont want those additional zones.
The second one has a few quirks regarding zone2 / zone3 but if you dont use those, it shouldnt bother you!