diff --git a/bundles/org.openhab.core.config.discovery.addon.ip/src/main/java/org/openhab/core/config/discovery/addon/ip/IpAddonFinder.java b/bundles/org.openhab.core.config.discovery.addon.ip/src/main/java/org/openhab/core/config/discovery/addon/ip/IpAddonFinder.java index 0ac963370c6..1f658db18d5 100644 --- a/bundles/org.openhab.core.config.discovery.addon.ip/src/main/java/org/openhab/core/config/discovery/addon/ip/IpAddonFinder.java +++ b/bundles/org.openhab.core.config.discovery.addon.ip/src/main/java/org/openhab/core/config/discovery/addon/ip/IpAddonFinder.java @@ -123,7 +123,8 @@ * {@code requestPlain} * description of request frame as plaintext string * dynamic replacement of variables $srcIp, $srcPort and $uuid, no others implemented yet; - * there are five XML special characters which need to be escaped: + * standard backslash sequences will be translated, and in addition to {@code \}, there are five + * XML special characters which need to be escaped: * *
{@code
  * & - &
@@ -507,7 +508,7 @@ private byte[] buildRequestArrayPlain(SocketAddress address, String request)
 
         @Nullable
         String reqUnEscaped = StringUtils.unEscapeXml(req.toString());
-        return reqUnEscaped != null ? reqUnEscaped.getBytes() : new byte[0];
+        return reqUnEscaped != null ? reqUnEscaped.translateEscapes().getBytes() : new byte[0];
     }
 
     // build from hex string