How to automatically reload integration on a schedule?

Is there a simple way to force an integration to reload on regular schedule, for example every night at 2 am?

Use an automation something like this (assuming it is an integration setup in the UI).

description: "Reload xxx integration @ 2am"
mode: single
trigger:
  - platform: time
    at: "02:00:00"
condition: []
action:
  - service: homeassistant.reload_config_entry
    data:
      entry_id: ad7f562e4ef537e1bf858335aae4002e

The config entry id is found in config/.storage/core.config_entries for the one you want to reload.

7 Likes

You can also get entry_id using the config_entry_id filter.

4 Likes

Thank y’all!

is this write in to automations.yaml ?

i was edit to every 3 hours instead of time

the code below correct ?

  • description: “Reload Tuya integration @ 3hours”
    mode: single
    trigger:
    • platform: time_pattern
      hours: “/3”
      condition:
      action:
    • service: homeassistant.reload_config_entry
      data:
      entry_id: 635ee76a799ddf6fb8e8a6efe0852786

i was edit to every 3 hours instead of time

the code below correct ?

- description: "Reload Tuya integration @ 3hours"
  mode: single
  trigger:
   - platform: time_pattern
     hours: "/1"
  condition: []
  action:
   - service: homeassistant.reload_config_entry
     data:
       entry_id: 635ee76a799ddf6fb8e8a6efe0852786
1 Like

It also makes sense to reload the integration in case that entity or entities from that integration become unavailable:

alias: Restart TuyaLocal integration
description: TuyaLocal integration reload in case of error.
trigger:
  - platform: state
    entity_id:
      - switch.tuyalocal_toaster
    to: unavailable
    for:
      hours: 0
      minutes: 0
      seconds: 30
condition: [ ]
action:
  - service: homeassistant.reload_config_entry
    data:
      entry_id: GUID from config/.storage/core.config_entries
mode: single

If you format your code correctly people would get even more help from your post :slight_smile:

1 Like

Folks,

Was following along in this thread, but got really lost with locating the entry_id and hope one of you kind souls can help me.

No idea where this goes… anyone?

I cannot find the config/.storage directory anywhere?

All help greatly appreciated :yum:

The following service call, to reload an integration, requires that you provide it with the integration’s entry_id.

- service: homeassistant.reload_config_entry
  data: 
    entry_id: ad7f562e4ef537e1bf858335aae4002e

There are several ways to find an integration’s entry_id. One way is to use the config_entry_id filter. As per its documentation, it requires that you supply it with the entity_id of any entity that belongs to the integration.

- service: homeassistant.reload_config_entry
  data: 
    entry_id: "{{ config_entry_id('sensor.whatever') }}"

Have you found the configuration.yaml file? The .storage directory is a hidden sub-directory of the directory containing the configuration.yaml file.

Thanks for the help, managed to find it and identified the entry id.