openHAB 4.0 Milestone discussion

How did you install it? From UI or addons.cfg? If the latter: remove it there. If UI: ignore it for now, we‘ll refine the update process later. Please open an issue in openhab-distro on GitHUB so it‘ll not be forgotten.

Watch this “movie” :slight_smile:

2 Likes

Found a video detailing steps - which I can’t find right now, but the steps were basically the following on Karaf Console:

config:edit org.openhab.addons
config:property-list
config:property-set transformation map,scale - Depends on output from previous
config:property-list
config:update

EDIT: - wborn beat me to it with the link

2 Likes

Briefly tested M1 but had to return to 3.4.2. Here is the log, I hope it helps

2023-03-12 09:31:57.520 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Time zone set to 'Europe/Lisbon'.
2023-03-12 09:31:57.533 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Location set to '40.63893315017617,-8.6490136384964'.
2023-03-12 09:31:57.535 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Locale set to 'en_PT'.
2023-03-12 09:31:57.537 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Measurement system set to 'SI'.
2023-03-12 09:32:04.778 [WARN ] [.transport.servlet.ServletController] - Can't find the request for https://192.168.130.210:52243/rest/items/prosegur_alarm_panel's Observer 
2023-03-12 09:32:05.899 [WARN ] [core.karaf.internal.FeatureInstaller] - The transformation add-on 'javascript' does not exist - ignoring it.
2023-03-12 09:32:09.405 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mapdb.persist'
2023-03-12 09:32:10.584 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Aveiro.sitemap'
2023-03-12 09:32:12.958 [ERROR] [ity.CommunityMarketplaceAddonService] - bundle org.openhab.core.addon.marketplace:4.0.0.M1 (142)[org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService(51)] : Error during instantiation of the implementation object
java.lang.reflect.InvocationTargetException: null
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
	at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
	at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:220) ~[org.eclipse.osgi-3.18.0.jar:?]
	at java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:118) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:547) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:534) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:660) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88) ~[?:?]
	at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:675) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2612) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2078) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2061) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:336) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) ~[?:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) ~[?:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) ~[?:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) ~[?:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) ~[osgi.core-8.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) ~[org.eclipse.osgi-3.18.0.jar:?]
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4988 path $.countries
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:270) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:131) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:120) ~[?:?]
	... 101 more
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4988 path $.countries
	at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:360) ~[?:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80) ~[?:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:161) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:266) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:131) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:120) ~[?:?]
	... 101 more
2023-03-12 09:32:13.039 [WARN ] [t.core.internal.addons.AddonResource] - bundle org.openhab.core.io.rest.core:4.0.0.M1 (168)[org.openhab.core.io.rest.core.internal.addons.AddonResource(165)] : Could not get service from ref {org.openhab.core.addon.AddonService}={service.id=353, service.bundleid=142, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), showUnpublished=true, component.name=org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService, service.config.label=Community Marketplace, component.id=51, service.config.factory=false, service.config.category=system, service.config.description.uri=system:marketplace, service.pid=[org.openhab.marketplace, org.openhab.marketplace]}
2023-03-12 09:32:13.043 [WARN ] [t.core.internal.addons.AddonResource] - bundle org.openhab.core.io.rest.core:4.0.0.M1 (168)[org.openhab.core.io.rest.core.internal.addons.AddonResource(165)] : DependencyManager : invokeBindMethod : Service not available from service registry for ServiceReference {org.openhab.core.addon.AddonService}={service.id=353, service.bundleid=142, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), showUnpublished=true, component.name=org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService, service.config.label=Community Marketplace, component.id=51, service.config.factory=false, service.config.category=system, service.config.description.uri=system:marketplace, service.pid=[org.openhab.marketplace, org.openhab.marketplace]} for reference AddonService
2023-03-12 09:32:13.057 [ERROR] [ity.CommunityMarketplaceAddonService] - bundle org.openhab.core.addon.marketplace:4.0.0.M1 (142)[org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService(51)] : Error during instantiation of the implementation object
java.lang.reflect.InvocationTargetException: null
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
	at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
	at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:776) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) ~[?:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) ~[?:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) ~[?:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) ~[?:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) ~[osgi.core-8.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) ~[org.eclipse.osgi-3.18.0.jar:?]
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4988 path $.countries
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:270) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:131) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:120) ~[?:?]
	... 65 more
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 4988 path $.countries
	at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:360) ~[?:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80) ~[?:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:161) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:266) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:131) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:120) ~[?:?]
	... 65 more
2023-03-12 09:32:13.122 [ERROR] [place.internal.json.JsonAddonService] - bundle org.openhab.core.addon.marketplace:4.0.0.M1 (142)[org.openhab.core.addon.marketplace.internal.json.JsonAddonService(54)] : Error during instantiation of the implementation object
java.lang.reflect.InvocationTargetException: null
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
	at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
	at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:220) ~[org.eclipse.osgi-3.18.0.jar:?]
	at java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:118) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:547) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:534) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:660) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88) ~[?:?]
	at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:675) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2612) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2078) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2061) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:336) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) ~[?:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) ~[?:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) ~[?:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) ~[?:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) ~[osgi.core-8.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) ~[org.eclipse.osgi-3.18.0.jar:?]
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 542 path $.countries
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:270) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.json.JsonAddonService.modified(JsonAddonService.java:93) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.json.JsonAddonService.<init>(JsonAddonService.java:83) ~[?:?]
	... 101 more
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 542 path $.countries
	at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:360) ~[?:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80) ~[?:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:161) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:266) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.json.JsonAddonService.modified(JsonAddonService.java:93) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.json.JsonAddonService.<init>(JsonAddonService.java:83) ~[?:?]
	... 101 more
2023-03-12 09:32:13.194 [WARN ] [t.core.internal.addons.AddonResource] - bundle org.openhab.core.io.rest.core:4.0.0.M1 (168)[org.openhab.core.io.rest.core.internal.addons.AddonResource(165)] : Could not get service from ref {org.openhab.core.addon.AddonService}={urls=https://download.smarthomej.org/addons-snapshot.json, service.id=354, service.bundleid=142, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), component.name=org.openhab.core.addon.marketplace.internal.json.JsonAddonService, service.config.label=Json 3rd Party Add-on Service, component.id=54, service.config.factory=false, showUnstable=true, service.config.category=system, service.config.description.uri=system:jsonaddonservice, service.pid=[org.openhab.jsonaddonservice, org.openhab.jsonaddonservice]}
2023-03-12 09:32:13.195 [WARN ] [t.core.internal.addons.AddonResource] - bundle org.openhab.core.io.rest.core:4.0.0.M1 (168)[org.openhab.core.io.rest.core.internal.addons.AddonResource(165)] : DependencyManager : invokeBindMethod : Service not available from service registry for ServiceReference {org.openhab.core.addon.AddonService}={urls=https://download.smarthomej.org/addons-snapshot.json, service.id=354, service.bundleid=142, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), component.name=org.openhab.core.addon.marketplace.internal.json.JsonAddonService, service.config.label=Json 3rd Party Add-on Service, component.id=54, service.config.factory=false, showUnstable=true, service.config.category=system, service.config.description.uri=system:jsonaddonservice, service.pid=[org.openhab.jsonaddonservice, org.openhab.jsonaddonservice]} for reference AddonService
2023-03-12 09:32:13.211 [ERROR] [place.internal.json.JsonAddonService] - bundle org.openhab.core.addon.marketplace:4.0.0.M1 (142)[org.openhab.core.addon.marketplace.internal.json.JsonAddonService(54)] : Error during instantiation of the implementation object
java.lang.reflect.InvocationTargetException: null
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
	at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
	at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:776) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) ~[?:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) ~[?:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) ~[?:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) ~[?:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) ~[osgi.core-8.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) ~[org.eclipse.osgi-3.18.0.jar:?]
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 542 path $.countries
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:270) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.json.JsonAddonService.modified(JsonAddonService.java:93) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.json.JsonAddonService.<init>(JsonAddonService.java:83) ~[?:?]
	... 65 more
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 542 path $.countries
	at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:360) ~[?:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80) ~[?:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:161) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:266) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.json.JsonAddonService.modified(JsonAddonService.java:93) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.json.JsonAddonService.<init>(JsonAddonService.java:83) ~[?:?]
	... 65 more
2023-03-12 09:32:17.284 [INFO ] [.core.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2023-03-12 09:32:22.590 [WARN ] [ty.util.ssl.SslContextFactory.config] - Trusting all certificates configured for Client@515cf4b[provider=null,keyStore=null,trustStore=null]
2023-03-12 09:32:22.593 [WARN ] [ty.util.ssl.SslContextFactory.config] - No Client EndPointIdentificationAlgorithm configured for Client@515cf4b[provider=null,keyStore=null,trustStore=null]
2023-03-12 09:32:24.180 [WARN ] [ty.util.ssl.SslContextFactory.config] - Trusting all certificates configured for Client@27157e0d[provider=null,keyStore=null,trustStore=null]
2023-03-12 09:32:24.182 [WARN ] [ty.util.ssl.SslContextFactory.config] - No Client EndPointIdentificationAlgorithm configured for Client@27157e0d[provider=null,keyStore=null,trustStore=null]
2023-03-12 09:32:25.538 [INFO ] [ternal.dhcp.DHCPPacketListenerServer] - DHCP request packet listener online
2023-03-12 09:32:26.206 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'openweathermap:air-pollution:aveiro:local' to inbox.
2023-03-12 09:32:26.335 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'openweathermap:onecall:aveiro:local' to inbox.
2023-03-12 09:32:26.399 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'openweathermap:onecall-history:aveiro:local' to inbox.
2023-03-12 09:32:26.489 [INFO ] [o.internal.handler.AstroThingHandler] - Scheduled Positional job astro:sun:aveiro every 600 seconds
2023-03-12 09:32:28.443 [INFO ] [e.automation.internal.RuleEngineImpl] - Rule engine started.
2023-03-12 09:32:31.211 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - ScriptEngine for language 'application/javascript' could not be found for identifier: be2563f2-6892-47dc-9889-e84b55092888
2023-03-12 09:32:31.285 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '192.168.130.1' with clientid e7d3cb57-e9c8-4aba-a1a0-a48cc7da5485
2023-03-12 09:32:36.966 [INFO ] [ab.ui.habpanel.internal.HABPanelTile] - Started HABPanel at /habpanel
2023-03-12 09:33:05.809 [WARN ] [core.karaf.internal.FeatureInstaller] - The transformation add-on 'javascript' does not exist - ignoring it.
2023-03-12 09:34:32.319 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'daikin:ac_unit:cozinha' are missing in the respective registry for more than 120s. This should be fixed in the binding.
2023-03-12 09:34:32.323 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'daikin:ac_unit:cozinha': {thing/channel=Type description for {0} not found although we checked the presence before.}
2023-03-12 09:34:32.342 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'miio:gateway:1072B9E6' are missing in the respective registry for more than 120s. This should be fixed in the binding.
2023-03-12 09:34:32.345 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'miio:gateway:1072B9E6': {thing/channel=Type description for {0} not found although we checked the presence before.}
2023-03-12 09:34:32.404 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'daikin:ac_unit:suite' are missing in the respective registry for more than 120s. This should be fixed in the binding.
2023-03-12 09:34:32.406 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'daikin:ac_unit:suite': {thing/channel=Type description for {0} not found although we checked the presence before.}
2023-03-12 09:34:32.415 [WARN ] [core.thing.internal.ThingManagerImpl] - Channel types or config descriptions for thing 'daikin:ac_unit:sala' are missing in the respective registry for more than 120s. This should be fixed in the binding.
2023-03-12 09:34:32.418 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'daikin:ac_unit:sala': {thing/channel=Type description for {0} not found although we checked the presence before.}
2023-03-12 09:36:39.037 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '160' on item 'OU_Terrace_Irrigation_Zone1_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:39.058 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone3_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:39.072 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone2_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:39.192 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '115.0' on item 'RelayLuzEntrada_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:39.210 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '1900' on item 'RelayTermosifao_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:43.811 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '160' on item 'OU_Terrace_Irrigation_Zone1_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:43.829 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone3_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:43.839 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone2_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:43.968 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '115.0' on item 'RelayLuzEntrada_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:43.986 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '1900' on item 'RelayTermosifao_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:48.901 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '160' on item 'OU_Terrace_Irrigation_Zone1_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:48.956 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone3_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:48.978 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone2_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:49.126 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '115.0' on item 'RelayLuzEntrada_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:49.140 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '1900' on item 'RelayTermosifao_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:53.524 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '160' on item 'OU_Terrace_Irrigation_Zone1_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:53.539 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone3_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:53.548 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone2_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:53.638 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '115.0' on item 'RelayLuzEntrada_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:53.650 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '1900' on item 'RelayTermosifao_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:58.932 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '160' on item 'OU_Terrace_Irrigation_Zone1_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:58.948 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone3_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:58.957 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone2_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:59.054 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '115.0' on item 'RelayLuzEntrada_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:36:59.072 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '1900' on item 'RelayTermosifao_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:37:05.256 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '160' on item 'OU_Terrace_Irrigation_Zone1_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:37:05.278 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone3_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:37:05.300 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone2_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:37:05.465 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '115.0' on item 'RelayLuzEntrada_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:37:05.495 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '1900' on item 'RelayTermosifao_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:38:20.550 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '160' on item 'OU_Terrace_Irrigation_Zone1_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:38:20.568 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone3_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:38:20.576 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone2_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:38:20.678 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '115.0' on item 'RelayLuzEntrada_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:38:20.695 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '1900' on item 'RelayTermosifao_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:41:54.490 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - ScriptEngine for language 'application/javascript' could not be found for identifier: be2563f2-6892-47dc-9889-e84b55092888
2023-03-12 09:42:04.768 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - ScriptEngine for language 'application/javascript' could not be found for identifier: be2563f2-6892-47dc-9889-e84b55092888
2023-03-12 09:42:10.237 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '160' on item 'OU_Terrace_Irrigation_Zone1_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:42:10.251 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone3_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:42:10.260 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone2_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:42:10.357 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '115.0' on item 'RelayLuzEntrada_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:42:10.371 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '1900' on item 'RelayTermosifao_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:09.230 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '160' on item 'OU_Terrace_Irrigation_Zone1_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:09.245 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone3_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:09.254 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone2_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:09.336 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '115.0' on item 'RelayLuzEntrada_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:09.350 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '1900' on item 'RelayTermosifao_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:09.648 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '160' on item 'OU_Terrace_Irrigation_Zone1_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:09.663 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone3_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:09.671 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '340' on item 'OU_Terrace_Irrigation_Zone2_Time' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:09.760 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '115.0' on item 'RelayLuzEntrada_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:09.773 [WARN ] [rest.core.item.EnrichedItemDTOMapper] - Failed transforming the state '1900' on item 'RelayTermosifao_Pulsetime' with pattern 'JS(pulsetimefmt.js):%s': Couldn't transform value because transformation service of type 'JS' is not available.
2023-03-12 09:43:37.336 [INFO ] [ab.ui.habpanel.internal.HABPanelTile] - Stopped HABPanel
2023-03-12 09:43:37.386 [INFO ] [basic.internal.servlet.WebAppServlet] - Stopped Basic UI

Apart from blocky, JS and SmartHome/J HTTP that I knew were not going to work looks like there are some errors with the daikin binding.

I have installed it via UI some time ago.
I have opened an issue like you asked to do.

Thank you Wouter. Nice movie and a kind director :smiley:

Thanks Mark.

1 Like

I may have similar problem as @moody_blue . Something is amiss with the MarketPlace addon. My log is below.(sorry for the length this error really prints it out). Other information: have two systems running on M1, pi3 which loaded the marketplace okay, but I had no addons used in it and an rpi4 that was using the sony binding. Interestingly the sony addon still works, so I did not revert back to OH3. The bundle is “waiting”

2023-03-11 10:46:13.844 [ERROR] [ity.CommunityMarketplaceAddonService] - bundle org.openhab.core.addon.marketplace:4.0.0.M1 (142)[org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService(45)] : Error during instantiation of the implementation object
java.lang.reflect.InvocationTargetException: null
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
	at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
	at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:220) ~[org.eclipse.osgi-3.18.0.jar:?]
	at java.security.AccessController.doPrivileged(AccessController.java:318) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:118) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:48) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:547) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:534) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:660) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88) ~[?:?]
	at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:675) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2612) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2078) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2061) ~[?:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:336) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274) ~[?:?]
	at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) ~[?:?]
	at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) ~[?:?]
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:123) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:961) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:937) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:874) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:262) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:500) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) ~[?:?]
	at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) ~[?:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) ~[?:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) ~[?:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) ~[?:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) ~[?:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) ~[?:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) ~[?:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) ~[?:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) ~[osgi.core-8.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) ~[org.eclipse.osgi-3.18.0.jar:?]
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 27891 path $.countries
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:270) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:131) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:120) ~[?:?]
	... 101 more
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 27891 path $.countries
	at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:360) ~[?:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:80) ~[?:?]
	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:161) ~[?:?]
	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:266) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1058) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:1016) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:959) ~[?:?]
	at com.google.gson.Gson.fromJson(Gson.java:927) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.lambda$2(AbstractRemoteAddonService.java:93) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
	at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573) ~[?:?]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?]
	at org.openhab.core.addon.marketplace.AbstractRemoteAddonService.refreshSource(AbstractRemoteAddonService.java:94) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.modified(CommunityMarketplaceAddonService.java:131) ~[?:?]
	at org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService.<init>(CommunityMarketplaceAddonService.java:120) ~[?:?]
	... 101 more
2023-03-11 10:46:13.909 [WARN ] [t.core.internal.addons.AddonResource] - bundle org.openhab.core.io.rest.core:4.0.0.M1 (168)[org.openhab.core.io.rest.core.internal.addons.AddonResource(159)] : Could not get service from ref {org.openhab.core.addon.AddonService}={service.id=353, service.bundleid=142, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), service.config.label=Community Marketplace, component.name=org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService, component.id=45, service.config.factory=false, service.config.category=system, service.pid=org.openhab.marketplace, service.config.description.uri=system:marketplace}
2023-03-11 10:46:13.911 [WARN ] [t.core.internal.addons.AddonResource] - bundle org.openhab.core.io.rest.core:4.0.0.M1 (168)[org.openhab.core.io.rest.core.internal.addons.AddonResource(159)] : DependencyManager : invokeBindMethod : Service not available from service registry for ServiceReference {org.openhab.core.addon.AddonService}={service.id=353, service.bundleid=142, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), service.config.label=Community Marketplace, component.name=org.openhab.core.addon.marketplace.internal.community.CommunityMarketplaceAddonService, component.id=45, service.config.factory=false, service.config.category=system, service.pid=org.openhab.marketplace, service.config.description.uri=system:marketplace} for reference AddonService

I have experienced the same problem when I had a marketplace binding installed which was built for openHAB 3.4.x.

openHAB 4 upgraded both Java and Karaf, which breaks compatibility between addons compiled for 3.4.x and openHAB 4.

Therefore, you need to uninstall all marketplace addons not compatible with 4 to get rid of this message, however it might be possible to touch the JSONDB for that.

@core-maintainers Please correct my if I’m saying something wrong.

If I downgrade, remove the addon, then upgrade and add the sony back would it likely work (or is the sony addon being distributed with M1 just not going to work? I would have thought the sony 3.4 version would have been cleaned out during the upgrade process?

Which Sony addon? Marketplace or not?

Marketplace on OH3.4

1 Like

Anyone else observing this (M1 and latest snapshot as well):

openhab> bundle:list
START LEVEL 100 , List Threshold: 50
Error executing command: java.lang.NoSuchMethodError: 'java.lang.Object org.osgi.framework.ServiceReference.adapt(java.lang.Class)'

I believe the issue is that the add-on developer needs to compile separate jar files for 3.4 and 4.0. This has been done for all the official addons but it’s up to each individual developer of marketplace addons to do this.

For now at least, on the marketplace two entries are needed, one for 3.4 and one for 4.0. The marketplace titles can include a Maven style version range that OH will see and follow, only showing the entries for versions of the add-on compatible.

There is nothing you can do to make a 3.4 add-on jar work on 4.0 unless you rebuild the jar file yourself.

1 Like

Hi,

if found a Blockly JavaScript Problem with OH4 regarding calulations:

I created a little script

We see that the state of an item is saved in a variable named “old”. The Item is a Number.
We see also ne variable named “new” which is calculeted from old and new value of another item of type number. Finally both variables are added.

With the “old” script engine from OH3 the result looks like this:

2023-03-12 17:28:19.046 [INFO ] [org.openhab.rule.db19777b97                  ] - 518
2023-03-12 17:28:19.069 [INFO ] [org.openhab.rule.db19777b97                  ] - 0.09999999999999964
2023-03-12 17:28:19.074 [INFO ] [org.openhab.rule.db19777b97                  ] - 518.1

With the “new” script engine from OH4 the result looks like this:

2023-03-12 17:23:03.001 [INFO ] [org.openhab.automation.script.ui.db19777b97  ] - 518
2023-03-12 17:23:03.004 [INFO ] [org.openhab.automation.script.ui.db19777b97  ] - 0.10000000000000009
2023-03-12 17:23:03.006 [INFO ] [org.openhab.automation.script.ui.db19777b97  ] - 5180.10000000000000009

You can see that the strings are concated instead of calculating the numbers. Is there a chance to migrate such scripts? I didn’t find a solution.

If the developer compiles the jar with the following options it will work on 3.2.0 through 4.0.0

-Dohc.version=3.2.0 -Dmaven.compiler.source=11 -Dmaven.compiler.target=11 -Dkaraf.version=4.3.7

EDIT: you also need to readd the binding.xml file (dont delete the addon.xml)

Show the code this compiles into by clicking the little page icon in the bottom right. I think I know what’s going on but need to see the JS code to confirm.

In JS Scripting, the default state of an Item is always converted to a String. So old is a String. However, when you start to do operations it’s able to convert from the String to a Number on the fly so it was able to convert the operands and therefore the value for new to numbers. But for result, the first operand usually dictates the type of operation performed. Because old is a String a + with Strings means concatenation it converts new to a string and concatenates them.

I bet if you swap so new comes first it will work.

Note, new is a reserved word in JS (and most other languages). I can’t rule out that using it as a variable name isn’t causing problems too.

no problem (of course i changed the names of the variables):

Old engine:

var oldValue, newValue, result;

var logger = Java.type('org.slf4j.LoggerFactory').getLogger('org.openhab.rule.' + ctx.ruleUID);


oldValue = itemRegistry.getItem('WeatherStation_RainCounter').getState();
newValue = event.itemState - event.oldItemState;
result = newValue + oldValue;
logger.info(oldValue);
logger.info(newValue);
logger.info(result);

new engine:

var oldValue, newValue, result;


oldValue = items.getItem('WeatherStation_RainCounter').state;
newValue = event.itemState - event.oldItemState;
result = newValue + oldValue;
console.info(oldValue);
console.info(newValue);
console.info(result);

I swapped the variables. The result is the same:

2023-03-12 18:02:07.978 [INFO ] [org.openhab.automation.script.ui.db19777b97  ] - 518
2023-03-12 18:02:08.046 [INFO ] [org.openhab.automation.script.ui.db19777b97  ] - 0.10000000000000009
2023-03-12 18:02:08.048 [INFO ] [org.openhab.automation.script.ui.db19777b97  ] - 0.10000000000000009518

OK, so oldValue is definitely a string and newValue is the result of a calculation of two Java Objects. @florian-h05, @stefan.hoehn, would it make sense to add an option to get the numbericState and quantityState to the “get state of Item” block?

Or perhaps access to a parseFloat block?

I suspect this is going to hit a number of users.

In the mean time you can use an inline script block with:

oldValue = items.getItem('WeatherStation_RainCounter').numericState
1 Like

just wanted to share I upgraded successfully from openHAB 3.4.1 runningon 32bit arm orange pi, to 4.0 M1 running as Docker container on x86 architecture. only issue I had was to create the logs directory in the userdata directory, otherwise the upgrade process wasn’t started.

Ok. Many thanks. Should i create an issue in github?

Updated from 3.4.2 to 4.0.0.M1 on Docker.
Everything is working great.
Exept I’m missing the shelly manager.
Is the shelly manager not part of 4.0.0.M1 anymore?

http://<openHAB IP address>:8080/shelly/manager

3 Likes