Hello All,
This take me quite some time today to understand why my Upnpcontrol addons what not working anymore on my Dev environment.
After looking to it, I want to make this post if someone experience the same issue.
The symptom is that UpnpControlHandlerFactory does not initialized because of dependency unsatisfied. The dependency in question is UpnpService coming from the org.jupnp package.
I first think of course of a missing bundle in the Run Requirements / Run Bundles.
But everything was there : io.transport.upnp, discovery.upnp, and of course org.jupnp
Enabling dependency tracing, I see that UpnpServiceImpl can not be start because of another missing dependencies:
19:53:50.458 [DEBUG] [org.jupnp.UpnpServiceImpl ] - bundle org.jupnp:3.0.3 (176)[org.jupnp.UpnpServiceImpl(326)] : Dependency not satisfied: UpnpServiceConfiguration
I’ve also notice this line:
19:53:50.453 [INFO ] [.OSGiUpnpServiceConfigurationEnabler] - OSGiUpnpServiceConfiguration not enabled by class org.jupnp.OSGiUpnpServiceConfigurationEnabler
And in bundle list this strange error:
org.openhab.core.io.transport.upnp.internal.UpnpIOServiceImpl in bundle 175 (org.openhab.core.io.transport.upnp:5.1.0.202510090252) enabled, 1 instance.
Id: 324, State:UNSATISFIED REFERENCE
org.jupnp.OSGiUpnpServiceConfiguration in bundle 176 (org.jupnp:3.0.3) disabled, 0 instances.
org.jupnp.util.SpecificationViolationReporterConfig in bundle 176 (org.jupnp:3.0.3) enabled, 1 instance.
Id: 327, State:ACTIVE
The important part was OSGiUpnpServiceConfiguration in bundle 176 (org.jupnp:3.0.3) disabled
After looking the code of this class, I realize that I’ve got a configuration file in my userdata directory.
C:\eclipse\openhab-main\git\openhab-distro\launch\app\runtime\userdata\config\org\jupnp.conf
This file content was:
:org.apache.felix.configadmin.revision:=L"2"
autoEnable=“false”
service.pid=“org.jupnp”
threadPoolSize=“20”
I don’t really know why I’ve got this file, don’t see to come from the git repos.
But after setting back the value of autoEnable to true, everything work again correctly.
Laurent.