From 105ce627e7100a0c7408e4dd2769a8aacdb53bff Mon Sep 17 00:00:00 2001 From: lsiepel Date: Sun, 31 Dec 2023 11:55:41 +0100 Subject: [PATCH] Initial fix (#16141) Signed-off-by: Leo Siepel --- .../openhab/binding/sonos/internal/SonosBindingConstants.java | 2 ++ .../internal/discovery/ZonePlayerDiscoveryParticipant.java | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java index 6035a9bb5f..728ce5f166 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java @@ -75,6 +75,8 @@ public class SonosBindingConstants { MOVE2_THING_TYPE_UID, ROAM_THING_TYPE_UID, ROAM_SL_THING_TYPE_UID, ERA_100_THING_TYPE_UID, ERA_300_THING_TYPE_UID); + public static final Set UNSUPPORTED_KNOWN_IDS = Set.of("sub", "sonos sub mini"); + public static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet<>(SUPPORTED_KNOWN_THING_TYPES_UIDS); static { SUPPORTED_THING_TYPES_UIDS.add(ZONEPLAYER_THING_TYPE_UID); diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/discovery/ZonePlayerDiscoveryParticipant.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/discovery/ZonePlayerDiscoveryParticipant.java index dc56162932..f52b89b2d1 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/discovery/ZonePlayerDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/discovery/ZonePlayerDiscoveryParticipant.java @@ -83,7 +83,8 @@ public class ZonePlayerDiscoveryParticipant implements UpnpDiscoveryParticipant String id = SonosXMLParser .buildThingTypeIdFromModelName(device.getDetails().getModelDetails().getModelName()); String udn = device.getIdentity().getUdn().getIdentifierString(); - if (!id.isEmpty() && !"Sub".equalsIgnoreCase(id) && !udn.isEmpty()) { + if (!id.isEmpty() && !SonosBindingConstants.UNSUPPORTED_KNOWN_IDS.contains(id.toLowerCase()) + && !udn.isEmpty()) { ThingTypeUID thingTypeUID = new ThingTypeUID(SonosBindingConstants.BINDING_ID, id); if (!SonosBindingConstants.SUPPORTED_KNOWN_THING_TYPES_UIDS.contains(thingTypeUID)) { // Try with the model name all in uppercase -- 2.47.3