From 6401118bf5d43e1155de3d2c670ead6190ef6591 Mon Sep 17 00:00:00 2001 From: Bernd Weymann Date: Fri, 27 Mar 2026 10:45:22 +0100 Subject: [PATCH] [dirigera] Avoid permanent discovery warnings (#20404) * avoid permanent discovery warnings Signed-off-by: Bernd Weymann --- .../discovery/DirigeraMDNSDiscoveryParticipant.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bundles/org.openhab.binding.dirigera/src/main/java/org/openhab/binding/dirigera/internal/discovery/DirigeraMDNSDiscoveryParticipant.java b/bundles/org.openhab.binding.dirigera/src/main/java/org/openhab/binding/dirigera/internal/discovery/DirigeraMDNSDiscoveryParticipant.java index 587ef1bdda..f3dfa49b67 100644 --- a/bundles/org.openhab.binding.dirigera/src/main/java/org/openhab/binding/dirigera/internal/discovery/DirigeraMDNSDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.dirigera/src/main/java/org/openhab/binding/dirigera/internal/discovery/DirigeraMDNSDiscoveryParticipant.java @@ -19,6 +19,7 @@ import java.net.InetAddress; import java.util.HashMap; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import javax.jmdns.ServiceInfo; @@ -48,7 +49,7 @@ public class DirigeraMDNSDiscoveryParticipant implements MDNSDiscoveryParticipan private static final String SERVICE_TYPE = "_ihsp._tcp.local."; private final Logger logger = LoggerFactory.getLogger(DirigeraMDNSDiscoveryParticipant.class); - + private final Set unresolvedDevices = ConcurrentHashMap.newKeySet(); protected final ThingRegistry thingRegistry; @Activate @@ -81,7 +82,10 @@ public class DirigeraMDNSDiscoveryParticipant implements MDNSDiscoveryParticipan InetAddress address = InetAddress.getByName(gatewayHostName); ipAddress = address.getHostAddress(); } catch (Exception e) { - logger.warn("DIRIGERA mDNS failed to resolve IP for {} reason {}", gatewayHostName, e.getMessage()); + if (unresolvedDevices.add(gatewayHostName)) { + logger.warn("DIRIGERA mDNS failed to resolve IP for {} reason {}", gatewayHostName, + e.getMessage(), e); + } } } else if (ipAddresses.length > 0) { ipAddress = ipAddresses[0].getHostAddress();