[SHELLY] IllegalArgumentException: ID segment '3152cdw series'

Hello @markus7017,

everytime i’m switching on the LaserPrinter Brother 3152cdw then there is an exception:

using openhab 2.5.7 release version and the included default SHELLY bindung.

> 2020-08-23 17:52:42.382 [ERROR] [y.mdns.internal.MDNSDiscoveryService] - Participant 'org.openhab.binding.shelly.internal.discovery.ShellyDiscoveryParticipant' threw an exception
> java.lang.IllegalArgumentException: ID segment '3152cdw series' 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.ThingUID.<init>(ThingUID.java:43) ~[bundleFile:?]
>         at org.openhab.binding.shelly.internal.discovery.ShellyThingCreator.getThingUID(ShellyThingCreator.java:32) ~[?:?]
>         at org.openhab.binding.shelly.internal.discovery.ShellyDiscoveryParticipant.getThingUID(ShellyDiscoveryParticipant.java:205) ~[?:?]
>         at org.eclipse.smarthome.config.discovery.mdns.internal.MDNSDiscoveryService.serviceRemoved(MDNSDiscoveryService.java:241) [bundleFile:?]
>         at javax.jmdns.impl.ListenerStatus$ServiceListenerStatus.serviceRemoved(ListenerStatus.java:81) [bundleFile:3.5.5]
>         at javax.jmdns.impl.JmDNSImpl$5.run(JmDNSImpl.java:1322) [bundleFile:3.5.5]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_201]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_201]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_201]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_201]
>         at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

should not happen, right?

Viele Grüße,

please try the latest DEV build, I just made a change today to exclude non-Shelly devices from processing

Latest DEV build - README - Installation - Firmware Index - Firmware Archive - API Doc

installed the dev-drop
issue seems to be solved - no exception anymore

however, i have found two little flaws:

typo in shelly binding listing in PaperUI

but no credentials have been configuraed.

i had before set special account and password in the shelly binding config (HTTP)
but now there is printed:
Status: OFFLINE - CONFIGURATION_ERROR Device is password protected, but no credentials have been configuraed.

for 10 shellys

somehow the binding credentials are not used for all already added things

workaround: i entered account and password on each Thing



fixed, I’ll upload a new build later today

What is the name of your devices? I’m 99% sure that this works, but you need to set the credentials in the binding config BEFORE you discover the devices. Check if it makes a difference when you change the credentials and set it back to the original value.

Please switch to the “standard community thread” so all users participate from our discussion.