Home Assistant custom integration for Strato DynDNS. Monitors your public IPv4 (and optionally IPv6) address and automatically updates all configured domains at Strato when the IP changes.
Features
- Multiple Strato accounts configurable in parallel
- Public IP determined via redundant providers (ipify.org, AWS, ident.me) with automatic fallback
- Optional IPv6 support (AAAA records, separate public IPv6 detection)
- Smart update trigger โ Strato is only called when necessary (see Update Logic)
- Error backoff per domain to prevent
abuseblocks from Strato - Configurable polling interval (min. 10 seconds)
- Optional persistent notifications for IP mismatches and update errors
- Fully configured through the HA UI, no YAML required
- Supports main domain + up to 10 subdomains per account
Installation via HACS
- Open HACS โ Integrations โ Menu (โฎ) โ Custom repositories
- Enter URL:
https://github.com/LuckyTriple7/ha-strato-dyndns - Category: Integration โ Add
- Search for Strato DynDNS โ Download
- Restart Home Assistant
Configuration
- Settings โ Devices & Services โ Add Integration โ Strato DynDNS
- Step 1: Enter account name, username and password
- Step 2: Enter domains, set the polling interval and optional features
The first field is the main domain (e.g. example.de), followed by up to 10 subdomains (e.g. home.example.de). None of the fields are mandatory โ use only what you need.
To configure multiple Strato accounts, simply add the integration again.
Entities
The integration creates one HA device per account and one device per domain. Domain devices are linked to their account device.
Account device (<account>):
| Entity | Type | Description |
|---|---|---|
sensor.<account>_public_ipv4 |
Sensor ยท Diagnostic | Currently detected public IPv4 address |
sensor.<account>_public_ipv6 |
Sensor ยท Diagnostic | Currently detected public IPv6 address (when IPv6 enabled) |
binary_sensor.<account>_problem |
Problem sensor | on when any domain's DNS-resolved IP differs from the public IP |
button.<account>_update_now |
Button | Force immediate update of all domains, bypassing backoff |
Domain device (<domain>, e.g. website.de):
| Entity | Type | Description |
|---|---|---|
sensor.<domain>_resolved_ip |
Sensor ยท Diagnostic | DNS-resolved IPv4 of the domain (via 1.1.1.1 / 8.8.8.8) |
sensor.<domain>_resolved_ipv6 |
Sensor ยท Diagnostic | DNS-resolved IPv6 of the domain (when IPv6 enabled) |
sensor.<domain>_last_update |
Sensor | Timestamp of last successful Strato update |
binary_sensor.<domain>_ip_mismatch |
Problem sensor | on when DNS IPv4 โ public IPv4 |
binary_sensor.<domain>_ipv6_mismatch |
Problem sensor | on when DNS IPv6 โ public IPv6 (when IPv6 enabled) |
Diagnostic entities are shown under the Diagnostics tab in the integration overview, keeping the main view focused on what matters.
Update Logic
The integration uses a two-stage trigger to avoid unnecessary Strato API calls:
On HA start / after restart โ no prior state is available, so the DNS-resolved IP is compared with the public IP:
- DNS IP = public IP โ no update (IP hasn't changed)
- DNS IP โ public IP โ update sent to Strato
During a running session โ after a successful update, the sent IP is remembered per domain:
- Public IP unchanged since last send โ no update, even if DNS is still propagating the previous change
- Public IP changed โ update sent to Strato
This prevents duplicate API calls during DNS propagation delay (which can take several minutes) while still reacting immediately to any IP change.
Additionally, a per-domain error backoff prevents rapid retries after a Strato error (abuse โ 15 min, badauth / notfqdn โ 30 min, dnserr / badsys / 911 โ 5 min, other โ 2 min). The "Update Now" button bypasses the backoff for an immediate retry.
Setting up Strato DynDNS
DynDNS must be enabled for each domain/subdomain in the Strato control panel:
Domains โ Manage domain โ DynDNS
The username for the DynDNS API is the full domain (e.g. example.de), the password is set separately in Strato.
Comments (0)
No comments yet โ be the first.