Downloader
The Downloader integration集成将 Home Assistant 与您的设备、服务等连接和集成。 [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.
配置
要将 Downloader integration 添加到您的 Home Assistant 实例中,请使用此 My 按钮:
手动配置步骤
如果上述 My 按钮不起作用,您也可以手动执行以下步骤:
-
浏览到您的 Home Assistant 实例。
-
转到
设置 > 设备与服务。 -
在右下角,选择
Add Integration 按钮。 -
从列表中选择 Downloader。
-
按照屏幕上的说明完成设置。
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.
Use the action
Go to the “Developer Tools”, then to “Actions”, and choose downloader.download_file
from the list of available actions. Fill the “data” field as shown in the example below and select “Perform action”.
{"url":"http://domain.tld/path/to/file"}
This will download the file from the given URL.
Data attribute | Optional | Description |
---|---|---|
url |
no | The URL of the file to download. |
subdir |
yes | Download into subdirectory of download_dir |
filename |
yes | Determine the filename. |
overwrite |
yes | Whether to overwrite the file or not, defaults to false . |
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"