First of all, THANK YOU to the creators/maintainers of this binding! It is fantastic! I have only recently purchased a HEOS product, but I have been loving the functionality this binding provides.
I am on openHAB 2.5.3 and 2.5.3 of the HEOS binding.
I have found an error that occurs when I add an Amazon Prime Station as a favorite in the HEOS app. In PaperUI, the player shows as “initializing” and is stuck there after the binding reloads with the amazon station as a favorite. Once I remove the station from favorites and reload the binding, the player initializes fine and is online.
Here is the exception listed in the log:
java.lang.IllegalArgumentException: UID segment 'catalog/stations/AYRDLXSPEZRBC/#chunk' contains invalid characters. The last segment of the channel UID must match the pattern '[\w-]*|[\w-]*#[\w-]*'.
at org.eclipse.smarthome.core.thing.ChannelUID.validateSegment(ChannelUID.java:179) ~[?:?]
at org.eclipse.smarthome.core.common.AbstractUID.<init>(AbstractUID.java:75) ~[?:?]
at org.eclipse.smarthome.core.thing.UID.<init>(UID.java:66) ~[?:?]
at org.eclipse.smarthome.core.thing.ChannelUID.<init>(ChannelUID.java:59) ~[?:?]
at org.openhab.binding.heos.internal.HeosChannelManager.generateChannelUID(HeosChannelManager.java:128) ~[?:?]
at org.openhab.binding.heos.internal.HeosChannelManager.generateFavoriteChannel(HeosChannelManager.java:113) ~[?:?]
at org.openhab.binding.heos.internal.HeosChannelManager.lambda$3(HeosChannelManager.java:108) ~[?:?]
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_242]
at org.openhab.binding.heos.internal.HeosChannelManager.addFavoriteChannels(HeosChannelManager.java:108) ~[?:?]
at org.openhab.binding.heos.handler.HeosPlayerHandler.lambda$0(HeosPlayerHandler.java:65) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_242]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_242]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_242]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_242]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_242]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_242]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
I turned on debug logging for the binding. Here is what is being returned by the player for this station:
{"container": "no", "mid": "catalog/stations/AYRDLXSPEZRBC/#chunk", "type": "station", "playable": "yes", "name": "Top Country", "image_url": "https://images-na.ssl-images-amazon.com/images/G/01/Gotham/Test_Top_Country_011419._CB1547512759_.png"}
I appreciate the help!