From bea2f4971eec1cd17874f06e73bd812fbc1e7be2 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 31 Jul 2025 20:07:06 -1000 Subject: [PATCH] preen --- esphome/dashboard/web_server.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/esphome/dashboard/web_server.py b/esphome/dashboard/web_server.py index 9efd06aaca..46f09336bb 100644 --- a/esphome/dashboard/web_server.py +++ b/esphome/dashboard/web_server.py @@ -345,13 +345,19 @@ class EsphomePortCommandWebSocket(EsphomeCommandWebSocket): addresses.extend(sort_ip_addresses(address_list)) # Second priority: mDNS - if (mdns := dashboard.mdns_status) and ( - address_list := await mdns.async_resolve_host(entry.name) + if ( + (mdns := dashboard.mdns_status) + and (address_list := await mdns.async_resolve_host(entry.name)) + and ( + new_addresses := [ + addr for addr in address_list if addr not in addresses + ] + ) ): # Use the IP address if available but only # if the API is loaded and the device is online # since MQTT logging will not work otherwise - addresses.extend(sort_ip_addresses(address_list)) + addresses.extend(sort_ip_addresses(new_addresses)) device_args: list[str] = [ arg for address in addresses for arg in ("--device", address)