Openweathermap duplicate channels error

Since I upgraded to 4.3.5 I’m getting this duplicate channel error in openweathermap. It may or may not be related to the upgrade - could be a coincidence. How can I solve this? Maybe I should remove and re-add the Thing? Any other ideas?

I see only 1 forecastHourly#visibility channel and it’s not linked to anything.

2025-04-30 08:36:27.338 [ERROR] [core.thing.internal.ThingManagerImpl] - Registration resp. initialization of child 'openweathermap:onecall:PL-Account:PineLake' of bridge 'openweathermap:weather-api:PL-Account' has been failed: Duplicate channels openweathermap:onecall:PL-Account:PineLake:forecastHourly#visibility
java.lang.IllegalArgumentException: Duplicate channels openweathermap:onecall:PL-Account:PineLake:forecastHourly#visibility
        at org.openhab.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:135) ~[?:?]
        at org.openhab.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:127) ~[?:?]
        at org.openhab.core.thing.util.ThingHelper.ensureUniqueChannels(ThingHelper.java:123) ~[?:?]
        at org.openhab.core.thing.binding.builder.ThingBuilder.withChannel(ThingBuilder.java:123) ~[?:?]
        at org.openhab.core.thing.internal.update.UpdateChannelInstructionImpl.doChannel(UpdateChannelInstructionImpl.java:140) ~[?:?]
        at org.openhab.core.thing.internal.update.UpdateChannelInstructionImpl.lambda$0(UpdateChannelInstructionImpl.java:101) ~[?:?]
        at java.util.Arrays$ArrayList.forEach(Arrays.java:4204) ~[?:?]
        at org.openhab.core.thing.internal.update.UpdateChannelInstructionImpl.perform(UpdateChannelInstructionImpl.java:101) ~[?:?]
        at org.openhab.core.thing.internal.ThingManagerImpl.lambda$17(ThingManagerImpl.java:1095) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
        at org.openhab.core.thing.internal.ThingManagerImpl.checkAndPerformUpdate(ThingManagerImpl.java:1095) ~[?:?]
        at org.openhab.core.thing.internal.ThingManagerImpl.registerAndInitializeHandler(ThingManagerImpl.java:918) ~[?:?]
        at org.openhab.core.thing.internal.ThingManagerImpl.lambda$2(ThingManagerImpl.java:551) ~[?:?]
        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) [?:?]

I don’t have the exact same error pattern, but since the update to 4.3.5, the OpenWeatherBridge no longer comes online.

I’ve already tried uninstalling and reinstalling the binding – without success.

I also tried creating a new bridge – it does come online, but the second thing remains “Not yet ready” even after switching to the new bridge.

I tried removing the Thing and readding, but that didn’t seem to work. It’s not 100% clear if it was completely removed. I removed again, uninstalled the binding, reinstalled, made sure the account Thing was online, then readded the bridge Thing. Now it works. And I can see that the thingTypeVersion went from 2 to 3.

See OpenWeatherMap Binding Bug in 4.3.4: Forecast Visibility Channels Receive Cloudiness % Instead of Distance - #6 by boehan

Hi, thanks to this topic I found out that I have the same problem. My current (no longer working) thing is a

openweathermap:onecall:

thing. I created a new

openweathermap:onecall

Thing and that one went online. Now I just have to relink the items to the channels of the new thing.

I checked the code changes and found the following changes in openhab-addons/bundles/org.openhab.binding.openweathermap/src/main/resources/OH-INF/update/instructions.xml at 7fe840abc89781ed0eb40c5216e04948b48d0c6b · openhab/openhab-addons · GitHub from @boehan (starting with line 160):

		<instruction-set targetVersion="3">
			<remove-channel id="visbility" groupIds="forecastHourly"/>
			<add-channel id="visibility" groupIds="forecastHourly">
				<type>openweathermap:visibility</type>
			</add-channel>
		</instruction-set>

I’m not completely sure, but could it be that this change is related to the error we see?

1 Like

Thx - also solved it for me