Skip to content

Commit 428c996

Browse files
authored
Update Duck DNS documentation (#42165)
1 parent ee6d268 commit 428c996

File tree

1 file changed

+62
-10
lines changed

1 file changed

+62
-10
lines changed
Lines changed: 62 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Duck DNS
3-
description: Keep your computer registered with the DuckDNS dynamic DNS.
3+
description: Keep your public IP address in sync with your Duck DNS subdomain.
44
ha_category:
55
- Network
66
ha_iot_class: Cloud Polling
@@ -12,29 +12,81 @@ ha_codeowners:
1212
ha_config_flow: true
1313
---
1414

15-
The DuckDNS {% term integration %} allows you to keep your DuckDNS subdomain always in sync with your public IP address. [DuckDNS](https://www.duckdns.org) is a free service that allows you to bind your own favorite subdomain under `duckdns.org` to the public IP address in use from your router, even though such address is dynamically allocated by your internet service provider and therefore changes over time.
15+
The Duck DNS {% term integration %} keeps your Duck DNS subdomain in sync with your current public IP address.
1616

17-
{% warning %}
17+
## About Duck DNS
1818

19-
If you are running the Home Assistant DuckDNS add-on this integration is not required. The add-on will keep your IP updated with DuckDNS.
19+
[Duck DNS](https://www.duckdns.org) is a free dynamic DNS service that lets you assign a custom subdomain under `duckdns.org` to the public IP address used by your router. This is especially useful when your internet service provider assigns IP addresses dynamically, causing them to change over time. Duck DNS ensures your chosen subdomain always points to the correct IP.
2020

21-
{% endwarning %}
21+
{% note %}
22+
23+
If you are running the Home Assistant Duck DNS add-on this integration is not required. The add-on will keep your IP updated with Duck DNS.
24+
25+
{% endnote %}
26+
27+
## How You Can Use This Integration
28+
29+
- Keep your Duck DNS subdomain automatically in sync with your public IP.
30+
- Update ACME DNS-01 challenges for automated SSL certificate validation.
31+
32+
## Prerequisites
33+
34+
To set up the integration, you need your Duck DNS subdomain and token. You can find these on the [Duck DNS homepage](https://www.duckdns.org) after logging in. If you don’t have an account, sign up using your preferred method (e.g., GitHub, Google), then create a new subdomain.
2235

2336
{% include integrations/config_flow.md %}
2437

38+
### Configuration parameters
39+
2540
{% configuration_basic %}
2641
domain:
27-
description: Your duckdns subdomain (without the `.duckdns.org` suffix).
42+
description: Your Duck DNS subdomain (without the `.duckdns.org` suffix).
2843
required: true
2944
access_token:
30-
description: Your DuckDNS access token. Log in to the site to get one.
45+
description: Your Duck DNS access token. Log in to the site to get one.
3146
required: true
3247
{% endconfiguration_basic %}
3348

3449
## Action `set_txt`
3550

36-
Set the TXT record of your DuckDNS subdomain.
51+
Set the TXT record of your Duck DNS subdomain.
3752

38-
| Data attribute | Optional | Description |
53+
| Data attribute | Optional | Description |
3954
| ---------------------- | -------- | --------------------------- |
40-
| `txt` | no | Payload for the TXT record. |
55+
| `config_entry_id` | no | The Duck DNS integration ID.|
56+
| `txt` | yes | Payload for the TXT record. |
57+
58+
{% details "Example YAML configuration" %}
59+
60+
{% raw %}
61+
62+
```yaml
63+
action: duckdns.set_txt
64+
data:
65+
config_entry_id: 01234567890ABCDEF # Replace with your actual config entry ID
66+
txt: LoqXcYV8...jxAjEuX0.9jg46WB3...fm21mqTI # Replace with a valid ACME DNS-01 challenge
67+
```
68+
69+
{% endraw %}
70+
71+
{% enddetails %}
72+
73+
## Data updates
74+
75+
This integration syncs your public IP with your Duck DNS subdomain every 5 minutes.
76+
77+
## Known limitations
78+
79+
- Duck DNS errors do not clearly indicate authentication failures. If you have recreated your token, make sure to update your Duck DNS configuration entry with the new token.
80+
- The integration updates your Duck DNS subdomain periodically rather than continuously monitoring your public IP. After a long outage, the update interval is increased to reduce unnecessary requests. Once your internet connection is restored, it may take up to 30 minutes for your subdomain to reflect your current IP.
81+
82+
## Troubleshooting
83+
84+
The **Duck DNS** integration relies on an active internet connection to update the DNS record of your subdomain. If you encounter issues, verify that your network connection is stable and the Duck DNS service is reachable. Additionally, the Duck DNS service itself may experience downtime, whether unexpected or due to scheduled maintenance.
85+
86+
In any case, when reporting an issue, please enable [debug logging](/docs/configuration/troubleshooting/#debug-logs-and-diagnostics), restart the integration, and as soon as the issue reoccurs, stop the debug logging again (*download of debug log file will start automatically*).
87+
88+
## Removing the integration
89+
90+
This integration can be removed by following these steps:
91+
92+
{% include integrations/remove_device_service.md %}

0 commit comments

Comments
 (0)