Add AdGuard Home filter list
adguard_add_filterAdds a filter list URL to AdGuard Home and waits up to 180 seconds for download and parsing, so large blocklists complete when Home Assistant's 10-second service call times out.
Instructions
Add a filter list URL to AdGuard Home, waiting up to 180 s for AdGuard to download and parse it.
Reads filtering/status and, if the URL is not on either list yet,
sends POST /control/filtering/add_url {name, url, whitelist}; AdGuard
downloads and parses the list inside that request and enables it. Then
re-reads filtering/status.
Use when: adding a filter list, especially a large one — HA's
adguard.add_url service gives up after 10 s and then adds nothing.
Not for: refreshing lists — use the HA adguard.refresh service;
removing or toggling a list — use adguard_remove_filter or
adguard_set_filter_enabled.
Returns: {"added": true, "addon_slug", "list", "filter": {name, url, enabled, rules_count, last_updated}, "total_rules"}; total_rules sums
the enabled lists of the same kind.
Errors: invalid_name, invalid_url (no I/O), already_exists (with
list and filter, nothing sent), HTTP <status> with AdGuard's
detail, timeout, and the add-on lookup errors of adguard_get_config.
Limits: after a timeout AdGuard may still finish adding the list.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | https:// URL of the rule list, e.g. `https://adguardteam.github.io/HostlistsRegistry/assets/filter_1.txt`; http:// and local file paths are rejected. | |
| name | Yes | Display name of the list in AdGuard, e.g. `HaGeZi TIF medium`; must not be empty. | |
| allowlist | No | True adds it as an allowlist (AdGuard `whitelist`); false (default) as a blocklist. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||