Edit: Let me say first and foremost, the DuckDNS service is OUTSTANDING and the original post below was not meant to imply anything different… I have been using it for about a year and a half now and the below was the first time I have ever had any issues with it. Below I thought would be useful just to hear people’s thoughts. (BTW, it is back up and running perfectly now…)
I use the DuckDns service and noticed as of yesterday afternoon I am unable to access my duckdns url to reach HA. I thought it was something I had done to mess up my configuration but saw online that DuckDNS was down for several hours yesterday. Then this morning before I even had a chance to investigate - the URL was working - bu only iontermittently - so it still is an issue on their end. Anyone else run into this issue? What would be a better free ddns provider that is free and works with HA and can be updated as often as every 5 minutes?
I am using dynv6 (dynv6.com) as i also wanted a ipv6 adress. You can use it with your own domain but also use one from their service (the service is free and you have to pay nothing for it).
The best thing is that you can use and update it directly from home assistant, no client you would have to use, only a few sensors and automations for checking if the ip changed.
For example two sensors of your ip and the one of your dynv6 adress (i left the most of the stuff for ipv6 out here but it should work this way for both):
command_line sensors:
- sensor:
name: ipify_myipv4
command: curl 'https://api.ipify.org?format=json'
value_template: >
{% if value_json is defined %}
{{ value_json.ip }}
{% endif %}
scan_interval: 60
command_timeout: 55
- sensor:
name: YOUR_DYNV6_NAME_ipv4
command: dig @ns1.dynv6.com YOUR_DYNV6_NAME A +short
value_template: "{{ value }}"
scan_interval: 30
- sensor:
name: ipify_myipv6
command: curl 'https://api6.ipify.org?format=json'
value_template: >
{% if value_json is defined %}
{{ value_json.ip }}
{% endif %}
scan_interval: 60
command_timeout: 55
Now you can easily check by an automation if these adresses are not the same. If not the same, you need a rest_command to update it:
You have to look in your DYNV6 Account für the HTTP-TOKEN (https://dynv6.com/keys#token) and your ZONE.
To call this from your automation you need the following action: