MQTT action stopped working

openHAB 5.0.3 stable (but it’s possible this rule stopped working since 4.3.4?)

I have a DSL rule with this code snippet inside a timer lambda:

        logInfo("mqtt","Action {}","initializing actions")
        val mqttActions = getActions("mqtt","mqtt:broker:mymqtt")
        logInfo("mqtt","Action {}",mqttActions)
        mqttActions.publishMQTT("tasmotas/cmnd/shutterposition1","",false)

The log looks like this:

2025-11-24 14:41:01.069 [INFO ] [org.openhab.core.model.script.mqtt  ] - Action initializing actions
2025-11-24 14:41:01.069 [INFO ] [org.openhab.core.model.script.mqtt  ] - Action org.openhab.binding.mqtt.internal.action.MQTTActions@54f2a497
2025-11-24 14:41:01.069 [WARN ] [ore.internal.scheduler.SchedulerImpl] - Scheduled job '<unknown>' failed and stopped
java.lang.reflect.UndeclaredThrowableException: null
        at jdk.proxy3058.$Proxy3213.apply(Unknown Source) ~[?:?]
        at org.openhab.core.internal.scheduler.SchedulerImpl.lambda$12(SchedulerImpl.java:189) ~[?:?]
        at org.openhab.core.internal.scheduler.SchedulerImpl.lambda$1(SchedulerImpl.java:88) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
        at java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: org.openhab.core.model.script.engine.ScriptExecutionException: 'publishMQTT' is not a member of 'org.openhab.core.thing.binding.ThingActions'; line 709, column 9, length 68
        at org.openhab.core.model.script.interpreter.ScriptInterpreter.invokeFeature(ScriptInterpreter.java:133) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:881) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:243) ~[?:?]
        at org.openhab.core.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:225) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:227) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._doEvaluate(XbaseInterpreter.java:475) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.doEvaluate(XbaseInterpreter.java:251) ~[?:?]
        at org.openhab.core.model.script.interpreter.ScriptInterpreter.doEvaluate(ScriptInterpreter.java:225) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:227) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:213) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.ClosureInvocationHandler.doInvoke(ClosureInvocationHandler.java:47) ~[?:?]
        at org.eclipse.xtext.xbase.interpreter.impl.AbstractClosureInvocationHandler.invoke(AbstractClosureInvocationHandler.java:30) ~[?:?]
        ... 9 more

Handler seems ok to me as it’s logged successfully, but why is publishMQTT not a member of the thing actions any longer?

'publishMQTT' is not a member of 'org.openhab.core.thing.binding.ThingActions'; line 709, column 9, length 68

So after checking the forum once more, I found a “solution”, that is, to reinstall mqtt.

That did the trick, although this is not satisfying.