Sonos One SL support?

I’ve got a few Sonos One SL speakers on my network which the sonos binding doesn’t find. (It does happily find the Symphonisk speaker that’s one the network.)

There’s a log extract below - essentially it seems that the One SL speakers end up with “One SL” as part of the UID, which fails the pattern check when validating the UID.

Jon

From the logs:

2019-12-27 16:44:59.877 [ERROR] [y.upnp.internal.UpnpDiscoveryService] - Participant 'org.openhab.binding.sonos.internal.discovery.ZonePlayerDiscoveryParticip
ant' threw an exception
java.lang.IllegalArgumentException: ID segment 'One SL' contains invalid characters. Each segment of the ID must match the pattern [A-Za-z0-9_-]*.
        at org.eclipse.smarthome.core.common.AbstractUID.validateSegment(AbstractUID.java:97) ~[bundleFile:?]
        at org.eclipse.smarthome.core.common.AbstractUID.<init>(AbstractUID.java:75) ~[bundleFile:?]
        at org.eclipse.smarthome.core.common.AbstractUID.<init>(AbstractUID.java:58) ~[bundleFile:?]
        at org.eclipse.smarthome.core.thing.UID.<init>(UID.java:57) ~[bundleFile:?]
        at org.eclipse.smarthome.core.thing.ThingTypeUID.<init>(ThingTypeUID.java:39) ~[bundleFile:?]
        at org.openhab.binding.sonos.internal.discovery.ZonePlayerDiscoveryParticipant.getThingUID(ZonePlayerDiscoveryParticipant.java:86) ~[?:?]
        at org.openhab.binding.sonos.internal.discovery.ZonePlayerDiscoveryParticipant.createResult(ZonePlayerDiscoveryParticipant.java:50) ~[?:?]
        at org.eclipse.smarthome.config.discovery.upnp.internal.UpnpDiscoveryService.remoteDeviceAdded(UpnpDiscoveryService.java:187) [bundleFile:?]
        at org.jupnp.registry.RemoteItems$1.run(RemoteItems.java:114) [bundleFile:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_232]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_232]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]

There is the Problem … The Space between One and SL … I think

This will requise à little update of the binding I will provide a fix later.

A fix is now proposed:

The fix is now merged.

2 Likes