Upnp-binding: "already exposed" and exception when using WZ WiiM Pro

I have been using the successfully for several weeks with the WZ WiiM Pro but recently, maybe with the latest release, it doesn’t work anymore.

I have set the logs to DEBUG.

  • When scanning it actually detects the same device with different unique device names (FF98F09C-14ED-12A1-269F-638AFF98F09C / FE409DE3-BE9F-B7A5-6B44-E3368DB65864). Any idea why?

  • After reinstallation IMHO the thing starts to talk to the device and receives data

  • I get quite an amount of “tried updating channel mute although the handler was already disposed” in the logs (see log below)

  • Sending “mute” results into “java.lang.IllegalArgumentException: Value must be between 0 and 100” which wasn’t the case before

  • “received variable MasterVolume with value -90 from service RenderingControl” doesn’t look healthy either.

  • basically controlling the device or receiving doesn’t work anymore as it originally did.

  • I stopped, started the thing.

  • I stopped, started the binding.

  • I reinstalled the binding but with no success.

Any ideas how to track down the issue?

Here are the logs:

2024-12-24 12:20:18.291 [DEBUG] [internal.handler.UpnpRendererHandler] - Handle command 63 for channel upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864:volume on renderer WZ WiiM Pro-C490
2024-12-24 12:20:18.293 [DEBUG] [control.internal.handler.UpnpHandler] - UPnP device WZ WiiM Pro-C490 invoke upnp action SetVolume on service RenderingControl with inputs {InstanceID=0, Channel=Master, DesiredVolume=63}
2024-12-24 12:20:18.474 [DEBUG] [internal.handler.UpnpRendererHandler] - Handle command 90 for channel upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864:volume on renderer WZ WiiM Pro-C490
2024-12-24 12:20:19.924 [DEBUG] [control.internal.handler.UpnpHandler] - UPnP device WZ WiiM Pro-C490 invoke upnp action SetVolume on service RenderingControl reply {}
2024-12-24 12:20:19.925 [DEBUG] [control.internal.handler.UpnpHandler] - UPnP device WZ WiiM Pro-C490 invoke upnp action SetVolume on service RenderingControl with inputs {InstanceID=0, Channel=Master, DesiredVolume=90}
2024-12-24 12:20:19.949 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable LastChange with value <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Volume channel="Master" val="63" />
</InstanceID></Event> from service RenderingControl
2024-12-24 12:20:19.951 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable InstanceID with value 0 from service RenderingControl
2024-12-24 12:20:19.951 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterVolume with value 63 from service RenderingControl
2024-12-24 12:20:19.952 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel volume although the handler was already disposed.
2024-12-24 12:20:19.953 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable LastChange with value <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Volume channel="Master" val="63" />
</InstanceID></Event> from service RenderingControl
2024-12-24 12:20:19.954 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable InstanceID with value 0 from service RenderingControl
2024-12-24 12:20:19.954 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterVolume with value 63 from service RenderingControl
2024-12-24 12:20:19.955 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel volume although the handler was already disposed.
2024-12-24 12:20:20.343 [DEBUG] [control.internal.handler.UpnpHandler] - UPnP device WZ WiiM Pro-C490 invoke upnp action SetVolume on service RenderingControl reply {}
2024-12-24 12:20:20.350 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable LastChange with value <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Volume channel="Master" val="90" />
</InstanceID></Event> from service RenderingControl
2024-12-24 12:20:20.352 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable InstanceID with value 0 from service RenderingControl
2024-12-24 12:20:20.353 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterVolume with value 90 from service RenderingControl
2024-12-24 12:20:20.353 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable LastChange with value <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Volume channel="Master" val="90" />
</InstanceID></Event> from service RenderingControl
2024-12-24 12:20:20.353 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel volume although the handler was already disposed.
2024-12-24 12:20:20.355 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable InstanceID with value 0 from service RenderingControl
2024-12-24 12:20:20.355 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterVolume with value 90 from service RenderingControl
2024-12-24 12:20:20.355 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel volume although the handler was already disposed.
2024-12-24 12:21:24.820 [DEBUG] [internal.handler.UpnpRendererHandler] - Handle command ON for channel upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864:mute on renderer WZ WiiM Pro-C490
2024-12-24 12:21:24.821 [DEBUG] [control.internal.handler.UpnpHandler] - UPnP device WZ WiiM Pro-C490 invoke upnp action SetMute on service RenderingControl with inputs {InstanceID=0, Channel=Master, DesiredMute=1}
2024-12-24 12:21:26.253 [DEBUG] [control.internal.handler.UpnpHandler] - UPnP device WZ WiiM Pro-C490 invoke upnp action SetMute on service RenderingControl reply {}
2024-12-24 12:21:26.319 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable LastChange with value <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Mute channel="Master" val="1" />
  <Volume channel="Master" val="-90" />
</InstanceID></Event> from service RenderingControl
2024-12-24 12:21:26.324 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable InstanceID with value 0 from service RenderingControl
2024-12-24 12:21:26.324 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable LastChange with value <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Mute channel="Master" val="1" />
  <Volume channel="Master" val="-90" />
</InstanceID></Event> from service RenderingControl
2024-12-24 12:21:26.326 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterMute with value 1 from service RenderingControl
2024-12-24 12:21:26.327 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel mute although the handler was already disposed.
2024-12-24 12:21:26.328 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterVolume with value -90 from service RenderingControl
2024-12-24 12:21:26.328 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable InstanceID with value 0 from service RenderingControl
2024-12-24 12:21:26.329 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterMute with value 1 from service RenderingControl
2024-12-24 12:21:26.330 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel mute although the handler was already disposed.
2024-12-24 12:21:26.331 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterVolume with value -90 from service RenderingControl
2024-12-24 12:21:26.330 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.IllegalArgumentException: Value must be between 0 and 100
	at org.openhab.core.library.types.PercentType.validateValue(PercentType.java:93) ~[?:?]
	at org.openhab.core.library.types.PercentType.<init>(PercentType.java:52) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedVolume(UpnpRendererHandler.java:1117) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1069) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1170) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
	at java.lang.Thread.run(Thread.java:840) [?:?]
2024-12-24 12:21:26.332 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.IllegalArgumentException: Value must be between 0 and 100
	at org.openhab.core.library.types.PercentType.validateValue(PercentType.java:93) ~[bundleFile:?]
	at org.openhab.core.library.types.PercentType.<init>(PercentType.java:52) ~[bundleFile:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedVolume(UpnpRendererHandler.java:1117) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1069) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1170) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
	at java.lang.Thread.run(Thread.java:840) [?:?]
2024-12-24 12:21:43.660 [DEBUG] [internal.handler.UpnpRendererHandler] - Handle command OFF for channel upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864:mute on renderer WZ WiiM Pro-C490
2024-12-24 12:21:43.661 [DEBUG] [control.internal.handler.UpnpHandler] - UPnP device WZ WiiM Pro-C490 invoke upnp action SetMute on service RenderingControl with inputs {InstanceID=0, Channel=Master, DesiredMute=0}
2024-12-24 12:21:44.912 [DEBUG] [control.internal.handler.UpnpHandler] - UPnP device WZ WiiM Pro-C490 invoke upnp action SetMute on service RenderingControl reply {}
2024-12-24 12:21:44.955 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable LastChange with value <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Mute channel="Master" val="0" />
  <Volume channel="Master" val="90" />
</InstanceID></Event> from service RenderingControl
2024-12-24 12:21:44.957 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable InstanceID with value 0 from service RenderingControl
2024-12-24 12:21:44.957 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable LastChange with value <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Mute channel="Master" val="0" />
  <Volume channel="Master" val="90" />
</InstanceID></Event> from service RenderingControl
2024-12-24 12:21:44.958 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterMute with value 0 from service RenderingControl
2024-12-24 12:21:44.958 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel mute although the handler was already disposed.
2024-12-24 12:21:44.959 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterVolume with value 90 from service RenderingControl
2024-12-24 12:21:44.959 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel volume although the handler was already disposed.
2024-12-24 12:21:44.960 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable InstanceID with value 0 from service RenderingControl
2024-12-24 12:21:44.960 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterMute with value 0 from service RenderingControl
2024-12-24 12:21:44.960 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel mute although the handler was already disposed.
2024-12-24 12:21:44.961 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterVolume with value 90 from service RenderingControl
2024-12-24 12:21:44.961 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel volume although the handler was already disposed.
2024-12-24 12:21:48.259 [DEBUG] [internal.handler.UpnpRendererHandler] - Handle command ON for channel upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864:mute on renderer WZ WiiM Pro-C490
2024-12-24 12:21:48.259 [DEBUG] [control.internal.handler.UpnpHandler] - UPnP device WZ WiiM Pro-C490 invoke upnp action SetMute on service RenderingControl with inputs {InstanceID=0, Channel=Master, DesiredMute=1}
2024-12-24 12:21:48.714 [DEBUG] [control.internal.handler.UpnpHandler] - UPnP device WZ WiiM Pro-C490 invoke upnp action SetMute on service RenderingControl reply {}
2024-12-24 12:21:48.754 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable LastChange with value <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Mute channel="Master" val="1" />
  <Volume channel="Master" val="-90" />
</InstanceID></Event> from service RenderingControl
2024-12-24 12:21:48.757 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable LastChange with value <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Mute channel="Master" val="1" />
  <Volume channel="Master" val="-90" />
</InstanceID></Event> from service RenderingControl
2024-12-24 12:21:48.757 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable InstanceID with value 0 from service RenderingControl
2024-12-24 12:21:48.758 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterMute with value 1 from service RenderingControl
2024-12-24 12:21:48.759 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel mute although the handler was already disposed.
2024-12-24 12:21:48.760 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterVolume with value -90 from service RenderingControl
2024-12-24 12:21:48.761 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable InstanceID with value 0 from service RenderingControl
2024-12-24 12:21:48.763 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterMute with value 1 from service RenderingControl
2024-12-24 12:21:48.763 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler UpnpRendererHandler of thing upnpcontrol:upnprenderer:FE409DE3-BE9F-B7A5-6B44-E3368DB65864 tried updating channel mute although the handler was already disposed.
2024-12-24 12:21:48.764 [DEBUG] [internal.handler.UpnpRendererHandler] - UPnP device WZ WiiM Pro-C490 II received variable MasterVolume with value -90 from service RenderingControl
2024-12-24 12:21:48.762 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.IllegalArgumentException: Value must be between 0 and 100
	at org.openhab.core.library.types.PercentType.validateValue(PercentType.java:93) ~[bundleFile:?]
	at org.openhab.core.library.types.PercentType.<init>(PercentType.java:52) ~[bundleFile:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceivedVolume(UpnpRendererHandler.java:1117) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.onValueReceived(UpnpRendererHandler.java:1069) ~[?:?]
	at org.openhab.binding.upnpcontrol.internal.handler.UpnpRendererHandler.lambda$3(UpnpRendererHandler.java:1170) ~[?:?]
``

The received volume value is very strange. According to specs, it should be an unsigned int between 0 and 100: https://upnp.org/specs/av/UPnP-av-RenderingControl-v1-Service.pdf#page15

I opened a support ticket with the vendor and I will report back what they tell me.

First of all, the support pointed out that the answer I am received isn’t the WiiM Pro, which left me a bit puzzled. How could this ever happen? The I scanned again and it turns out that the scan gives me 4 upnp devices with the same label:

You can quickly see that there is something wrong: A squeezebox is definitely not a WiiM Pro. I have no idea why the squeezebox comes up as WiiM and even further why 4 things have the same label.

I can indeed detect the right one by looking up the ipv6 addresses of the WiiM (which surprisingly are 16 in total - why does it have 16 ipv6 addresses anyway???). The only matching one is the last one starting with FF98…

I have removed the 3 above but the FE40 keeps coming back:

Weird that that ip neighbor show | grep fe40 doesn’t show anything on the server

Do you have an idea why all the other are also picked up as this device or where the label for that thing comes from?

Unfortunately I am still getting this darn message which actually seems to put the thing into OFFLINE then.

UPnP device WZ WiiM Pro-C490 II received variable LastChange with value 
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:schemas-upnp-org:metadata-1-0/RCS/ http://www.upnp.org/schemas/av/rcs-event-v1-20060531.xsd"><InstanceID val="0">
  <Brightness>
    <val></val>
  </Brightness>
  <Mute channel="Master" val="1" />
  <PresetNameList val="FactoryDefaults" />
  <Volume channel="Master" val="-90" />

even though the company says they would not send this:

This event is not reported by the WiiM device, a typical WiiM upnp event is reported as follows
<?xml version='1.0' encoding='UTF-8' ?>
<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<LastChange>
<Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/">
<InstanceID val="0">
<Volume channel="Master" val="93"/>
<Mute channel="Master" val="0"/>
<TimeStamp val="280268"/>
</InstanceID>
</Event>
</LastChange>
</e:property>
</e:propertyset>

Can we somehow find out where this is coming from and also make sure that even if a wrong value would be received that it is ignored and would not lead to an exception? How about adding this?

I have added this to the binding and deployed it to my environment and it seems to be better now (hint: never deinstall and deploy upnp while openHAB is running - just isn’t working that way - uninstall, deploy, restart worked well though ← Update: probably because I didn’t build a kar but a jar … I saw errors on the clean start of openHAB that it complained about missing core upnp which went away when deploying the kar file instead.)

The ID of the upnp device is not an ip6 address, but an UDN. Very often it matches the MAC address, but that’s not always the case. So this doesn’t say much.

I have no idea. The binding simply uses the core upnp service for discovery (registers a participant). If you run discovery while debug trace mode, you should see all upnp devices it can detect in the network in the log. Only when the device is a upnp server or renderer, it will then be shown as discovered by the binding. The log may give a hint.
It is not impossible that this player has specific functionality to also exposes itself as a chromecast device or squeezebox device, hence it would be discovered by these bindings as well. I don’t know the device.

I don’t know where it comes from, but I am not against making the binding cope better with bad data. Your proposal looks fine. Do you create a PR?

Sure, I’ll do that asap.

Here is the PR:

https://github.com/openhab/openhab-addons/pull/17991