Migration to 5.0 fails.. script engine exception

Hi,

I cannot get the 5.01 and 5.02 Version to work. The problem is, that the Script-Engine is not working. It fails with an exception:
Caused by: java.lang.IllegalStateException: No language and polyglot implementation was found on the module-path. Make sure at last one language is added to the module-path.

I read about it, reinstalled JS, reinstalled mqtt, removed both, but still this error appears. I have no Idea how to fix it. I’ve reinstalled openhab, addons, modules.. changed java from zulu to eclipse one. Nothing helps.

How can I fix it?

It’s a fresh installed RP4.

2025-10-31 17:21:02.478 [ERROR] [t.ScriptTransformationServiceFactory] - bundle org.openhab.core.automation.module.script:5.0.2 (164)[org.openhab.core.automation.module.script.ScriptTransformationServiceFactory(102)] : The setScriptEngineFactory method has thrown an exception
java.lang.ExceptionInInitializerError: null
at org.openhab.automation.jsscripting.internal.GraalJSScriptEngineFactory.createScriptEngine(GraalJSScriptEngineFactory.java:99) ~[?:?]
at org.openhab.core.automation.module.script.ScriptTransformationServiceFactory.lambda$1(ScriptTransformationServiceFactory.java:73) ~[?:?]
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?]
at org.openhab.core.automation.module.script.ScriptTransformationServiceFactory.setScriptEngineFactory(ScriptTransformationServiceFactory.java:72) ~[?:?]
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:245) ~[bundleFile:?]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) ~[bundleFile:?]
at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:687) ~[bundleFile:?]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:531) [bundleFile:?]
at org.apache.felix.scr.impl.inject.methods.BindMethod.invoke(BindMethod.java:42) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2086) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2061) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:336) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) [bundleFile:?]
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) [bundleFile:?]
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) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1274) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1225) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) [bundleFile:?]
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) [bundleFile:?]
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) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) [bundleFile:?]
at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) [bundleFile:?]
at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) [bundleFile:?]
at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) [bundleFile:?]
at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) [bundleFile:?]
at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [bundleFile:?]
at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [bundleFile:?]
at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [bundleFile:?]
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: java.lang.IllegalStateException: No language and polyglot implementation was found on the module-path. Make sure at last one language is added to the module-path.
at org.graalvm.polyglot.Engine$PolyglotInvalid.noPolyglotImplementationFound(Engine.java:1921) ~[?:?]
at org.graalvm.polyglot.Engine$PolyglotInvalid.buildSource(Engine.java:2018) ~[?:?]
at org.graalvm.polyglot.Engine$PolyglotInvalid.buildSource(Engine.java:1874) ~[?:?]
at org.graalvm.polyglot.Source$Builder.build(Source.java:1027) ~[?:?]
at org.openhab.automation.jsscripting.internal.OpenhabGraalJSScriptEngine.(OpenhabGraalJSScriptEngine.java:84) ~[?:?]
… 90 more

Do your rules eventually work after startup or never work? If they eventually work, this is a big that has been fixed. OH was trying to lead and parse Rogers before the add-on was ready for that.

Rules are working. But scritping not (JS):
2025-11-01 17:14:30.473 [WARN ] [nelTransformation$TransformationStep] - Failed to use TransformationStep{serviceName=‘JS’, function=‘FIX4.js’}, service not found
How can I help to find it?

The main question is does it not work ever or it doesn’t work only during OH startup?

And what do you mean by Rules are working but scripting not? Rules use scripting most of the time. Are you saying rules that use JS are working or all use of JS no matter where is not working?

Rules are working. But the transformation service is not working, permanently not. I have some js files for Items (JS) and the transformations calls for these items are permanetly creating these errors:
2025-11-01 17:14:30.473 [WARN ] [nelTransformation$TransformationStep] - Failed to use TransformationStep{serviceName=‘JS’, function=‘FIX4.js’}, service not found

These errors are flooding my logs.

OK, nothing like this has been reported yet. Your rules use JS or not?

First the basics, the JS Scripting add-on is installed, enabled and active?

Next please show the end-to-end configuration of one of these transformations (e.g. the file or code entered into MainUI, where and how it is applied in a Channel transformation, profile, state description or used in a rule.

Yes, JS ist installed and active. I already reinstalled it but no change.

A lot of this arrors are comming from my modbus items, PV Inverters:

String BSBezugsZaehler “Zählerstand Bezugs-Zähler \[JS(FIX3.js):%s kWh\]” (gPV) \[“Measurement”, “Energie”\] {channel=“modbus:data:boystorage:input_30513_88:30581_2:string”}

Fix3.js:

// Wrap everything in a function (no global variable pollution)
// variable “input” contains data passed by openhab
(function(inputData) {
// on read: the polled number as string
// on write: openHAB command as string
var DIVIDE_BY = 1000;
return parseFloat(inputData) / DIVIDE_BY;
})(input)

This is the complete error :

2025-11-02 09:02:10.214 [WARN ] [nelTransformation$TransformationStep] - Failed to use TransformationStep{serviceName=‘JS’, function=‘FIX2.js’}, service not found
2025-11-02 09:02:10.215 [WARN ] [ernal.handler.ModbusDataThingHandler] - Channel number will not be updated since transformation was unsuccessful. Channel is expecting the following data types [DecimalType, QuantityType, UnDefType]. Input data: number value 0 (value type ‘int32’ taken into account) and bool value false. Transformation: org.openhab.binding.modbus.internal.ModbusTransformation@49a02e2a

Btw, I have a big OH installation. ca. 300 Items, many script file, rules… addons. 99% configured in config files.
automation = jsscripting
binding = knx,hue,modbus,http,network,tr064,shelly,tplinksmarthome,openweathermap,zwave,tesla,tibber,km200,amazonechocontrol,ntp,tapocontrol,mqtt
persistence = rrd4j,influxdb
transformation = map,xpath,jsonpath
ui = cometvisu,habpanel

I’m the Karaf console it does as active?

And just to be sure, you have JS rules that are working. It is just the JS transformations that are not. And it’s allvJS transformations or just sone of them (e.g just Modbus)? It matters because that will tell us where to file the issue.

In the mean time, Modbus comes with the offset profile which can do a transformation like you show before the state gets to the Item, or you could use Number Items and units. The latter would be the better way to represent kWh and the like compared String Items. You can’t really chart a String Item for example.

JS looks in karaf active:
372 │ Active │ 80 │ 5.0.2 │ openHAB Add-ons :: Bundles :: Automation :: JavaScript Scripting

GraalVM is completle “Resolved” and not active, here a sample for JS, no Idea if it’s relevant:
277 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: JS :: Language
278 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: JS :: Script Engine

this here is still wailing:
379 │ Waiting │ 82 │ 5.0.2 │ openHAB Add-ons :: Bundles :: MQTT HomeAssistant Convention

Rules like this are working, started with alexa:

rule “Abendstimmung”
when
Item Abendstimmung received update
then
var String aState = Abendstimmung.state.toString
sendCommand(Ambientes_Normal, aState)
if( aState == OFF) {
Rollo_AUSWAHL.sendCommand(UP)
} else {
Rollo_AUSWAHL.sendCommand(DOWN)
}
end

I’m using transformations and maps for modbus only.

And yes, you’re right about these modbus iteams, they are old and I should replace them with better versions.

That’s relevant. I would expect it to be active. The JS Scripting add-on requires GraalVM. I’m not where I can see what it shows in mine but you might try activating it from the Karaf console to see if that makes a difference.

That’s Rules DSL and had nothing to do with JS Scripting. It’s safe to assume you’ve no roles defined in .JS files nor any Blocky rules?

I started now the first four services, or should I start all of them? This activation changed here nothing, same problems.
277 │ Active │ 80 │ 24.2.1 │ GraalVM :: JS :: Language
278 │ Active │ 80 │ 24.2.1 │ GraalVM :: JS :: Script Engine
279 │ Active │ 80 │ 24.2.1 │ GraalVM :: LLVM :: API
280 │ Active │ 80 │ 24.2.1 │ GraalVM :: Polyglot :: Polyglot
281 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Python :: Embedding
282 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Python :: Language
283 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Python :: Resources
284 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Regex :: TRegex
285 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: SDK :: Collections
286 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: SDK :: Native Image
287 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: SDK :: Word
288 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Truffle :: ICU4J
289 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Truffle :: JSON
290 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Truffle :: XZ
291 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Tools :: Profiler
292 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Truffle :: API
293 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Truffle :: Compiler
294 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Truffle :: NFI
295 │ Resolved │ 80 │ 24.2.1 │ GraalVM :: Truffle :: Runtime

In der logfile this error appears on the init of the mqtt.homeassistent binding too, maybe this helps:

2025-11-02 17:55:04.589 [ERROR] [t.internal.HomeAssistantPythonBridge] - bundle org.openhab.binding.mqtt.homeassistant:5.0.2 (379)[org.openhab.binding.mqtt.homeassistant.internal.HomeAssistantPythonBridge(472)] : Error during instantiation of the implementation object
java.lang.reflect.InvocationTargetException: null
at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:74) ~[?:?]
at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]
at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:326) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920) [bundleFile:?]

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:319) [?:?]
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.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:287) ~[?:?]
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:319) [?:?]
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) [bundleFile:?]
at org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:675) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2612) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2078) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2061) [bundleFile:?]
at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:336) [bundleFile:?]
at org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184) [bundleFile:?]
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:116) [bundleFile:?]
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) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915) [bundleFile:?]
at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) [bundleFile:?]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) [bundleFile:?]
at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) [bundleFile:?]
at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) [bundleFile:?]
at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) [bundleFile:?]
at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) [bundleFile:?]
at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) [bundleFile:?]
at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [bundleFile:?]
at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [bundleFile:?]
at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [bundleFile:?]
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: java.lang.IllegalStateException: No language and polyglot implementation was found on the module-path. Make sure at last one language is added to the module-path.
at org.graalvm.polyglot.Engine$PolyglotInvalid.noPolyglotImplementationFound(Engine.java:1921) ~[?:?]
at org.graalvm.polyglot.Engine$PolyglotInvalid.newDefaultFileSystem(Engine.java:1945) ~[?:?]
at org.graalvm.polyglot.io.FileSystem.newDefaultFileSystem(FileSystem.java:501) ~[?:?]
at org.graalvm.python.embedding.VirtualFileSystemImpl.(VirtualFileSystemImpl.java:332) ~[?:?]
at org.graalvm.python.embedding.VirtualFileSystem.(VirtualFileSystem.java:273) ~[?:?]
at org.graalvm.python.embedding.VirtualFileSystem$Builder.build(VirtualFileSystem.java:254) ~[?:?]
at org.openhab.binding.mqtt.homeassistant.internal.HomeAssistantPythonBridge.(HomeAssistantPythonBridge.java:54) ~[?:?]
at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]
… 91 more
2025-11-02 17:55:04.618 [WARN ] [nal.discovery.HomeAssistantDiscovery] - bundle org.openhab.binding.mqtt.homeassistant:5.0.2 (379)[org.openhab.binding.mqtt.homeassistant.internal.discovery.HomeAssistantDiscovery(475)] : Could not get service from ref {org.openhab.binding.mqtt.homeassistant.internal.HomeAssistantPythonBridge}={service.id=739, service.bundleid=379, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), component.name=org.openhab.binding.mqtt.homeassistant.internal.HomeAssistantPythonBridge, component.id=472}
2025-11-02 17:55:04.620 [ERROR] [nal.discovery.HomeAssistantDiscovery] - bundle org.openhab.binding.mqtt.homeassistant:5.0.2 (379)[org.openhab.binding.mqtt.homeassistant.internal.discovery.HomeAssistantDiscovery(475)] : Error during instantiation of the implementation object: Unable to get service for reference $001
2025-11-02 17:55:04.623 [WARN ] [nternal.DiscoveryServiceRegistryImpl] - bundle org.openhab.core.config.discovery:5.0.2 (169)[org.openhab.core.config.discovery.internal.DiscoveryServiceRegistryImpl(140)] : Could not get service from ref {org.openhab.core.config.discovery.DiscoveryService}={service.id=743, service.bundleid=379, service.scope=bundle, osgi.ds.satisfying.condition.target=(osgi.condition.id=true), service.config.label=Home Assistant Discovery, component.name=org.openhab.binding.mqtt.homeassistant.internal.discovery.HomeAssistantDiscovery, component.id=475, service.config.factory=false, service.config.category=system, service.pid=discovery.mqttha, service.config.description.uri=binding:mqtt.homeassistant}



Yes, it is.

Home Assistant MQTT also uses GraalVM so it’s no surprise it is having problems too.

It seems that the problem is GraalVM. I’m not sure what to do at this point. I think there were some PRs addressing this since 5.0 release. All I can recommend is trying it with the latest milestone release and if there’s still a permanent fine an issue on core. The problem seems to be related to GraalVM not starting up.

I activaded now all GraalVM bundles and this helped. On the boot you can see that the modbus manager starts and the log is flooted with messeges. After some time the rule engine starts now and the flooting ends. No exceptions. These bundles are still activate after the restart of openhab. So yes, it was the problem, thanks.
But still there seems to be a timing problem. Modbus wants to transform the messages but the rule angine is somehow not startet or JS not availible in that point.

2025-11-02 18:18:47.070 [WARN ] [ernal.handler.ModbusDataThingHandler] - Channel number will not be updated since transformation was unsuccessful. Channel is expecting the following data types [DecimalType, QuantityType, UnDefType]. Input data: number value 0 (value type ‘int32’ taken into account) and bool value false. Transformation: org.openhab.binding.modbus.internal.ModbusTransformation@2acc23ea
2025-11-02 18:18:47.079 [WARN ] [nelTransformation$TransformationStep] - Failed to use TransformationStep{serviceName=‘JS’, function=‘FIX2.js’}, service not found
2025-11-02 18:18:47.081 [WARN ] [ernal.handler.ModbusDataThingHandler] - Channel number will not be updated since transformation was unsuccessful. Channel is expecting the following data types [DecimalType, QuantityType, UnDefType]. Input data: number value 0 (value type ‘int32’ taken into account) and bool value false. Transformation: org.openhab.binding.modbus.internal.ModbusTransformation@1cefbcc
2025-11-02 18:18:52.717 [INFO ] [e.automation.internal.RuleEngineImpl] - Rule engine started.

There was some work on timing related to startup and the rules engine. I don’t know if that got backported to 5.0.2. So I still recommend testing in 5.1 M2 or the latest snapshot and if it still occurs filing an issue. The PR I’m thinking of has to do with rules, but the same problem may exist with transformations.

one last question. There is a lot of other not active bundels… is that ok?
247 │ Resolved │ 80 │ 2.27 │ Dagger
249 │ Resolved │ 80 │ 5.16.0 │ jna-platform
250 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Buffer
251 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Codec
252 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Codec/HTTP
253 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Codec/Socks
254 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Common
255 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Handler
256 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Handler/Proxy
257 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Resolver
258 │ Resolved │ 80 │ 2.0.70.Final │ Netty/TomcatNative [OpenSSL - Classes]
259 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Transport
260 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Transport/Classes/Epoll
261 │ Resolved │ 80 │ 4.1.118.Final │ Netty/Transport/Native/Unix/Common
262 │ Resolved │ 80 │ 2.2.21 │ rxjava
263 │ Resolved │ 80 │ 1.0.1 │ IO.Socket Engine Client
264 │ Resolved │ 80 │ 1.0.1 │ IO.Socket Socket Client
265 │ Resolved │ 80 │ 1.0.5 │ Jakarta Dependency Injection
266 │ Resolved │ 80 │ 20231013.0.0 │ JSON in Java
267 │ Resolved │ 80 │ 2.0.16 │ JUL to SLF4J bridge
269 │ Resolved │ 80 │ 3.11.1 │ Apache Commons Net
270 │ Resolved │ 80 │ 3.8.1.1 │ Apache ServiceMix :: Bundles :: okhttp
271 │ Resolved │ 80 │ 1.13.0.1 │ Apache ServiceMix :: Bundles :: okio
272 │ Resolved │ 80 │ 2.3.0 │ Apache Velocity - Engine
296 │ Resolved │ 80 │ 2.1.2 │ Java Concurrency Tools Core Library

:person_shrugging: I don’t think any of those have anything to do with transformation nor JS Scripting. If you’ve other add-ons that are not working that might be a reason for concern.

I did some spot checking and all of the bundles I checked are listed as Active in my OH instance. I don’t know what they do or what parts of OH use them though.