Downloader

The Downloader integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] provides an action to download files. It will raise an error and not continue to set itself up when the download directory does not exist. The directory needs to be writable for the user who is running Home Assistant.

Configuration

To add the Downloader service to your Home Assistant instance, use this My button:

Manual configuration steps

If the above My button doesn’t work, you can also perform the following steps manually:

  • Browse to your Home Assistant instance.

  • Go to Settings > Devices & services.

  • In the bottom right corner, select the Add Integration button.

  • From the list, select Downloader.

  • Follow the instructions on screen to complete the setup.

If the path is not absolute, it’s assumed to be relative to the Home Assistant configuration directory (for example, /config/downloads). So if you have a folder called /config/my_download_folder, when prompted to Select a location to get to store downloads, enter my_download_folder. Home Assistant checks if the directory exists.

List of actions

The Downloader integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] provides the following actions. Each link below opens a dedicated page with examples, parameters, and a step-by-step UI walkthrough.

  • Download file (downloader.download_file) Downloads a file to the configured download location.

For an overview of every action across all integrations, see the actions reference.

Download status events

When a download finished successfully, Home Assistant will emit a downloader_download_completed event to the event bus which you can use to write automations against. In case download failed another event downloader_download_failed is emitted to indicate that the download did not complete successfully.

Along with the event the following payload parameters are available:

Parameter Description
url The url that was requested.
filename The name of the file that was being downloaded.

Example automation:

- alias: "Download Failed Notification"
  triggers:
    - trigger: event
      event_type: downloader_download_failed
  actions:
    - action: persistent_notification.create
      data:
        message: " download failed"
        title: "Download Failed"