Hi, what is the recommended way to document breaking changes for the upcoming release. I made some changes related to default paths in jython binding for the 4.2 release and I want to mention it there. In the official binding documentation it is already described.
Create a PR like this one.
All these alerts will then be documented in the release note.
I updated to 4.2.M2 last weekend, and noticed now that the DBQuery binding has stopped working, the bridge starts initializing, but then gets set to UNKNOWN. Enabled trace logging, and can see a log statement that says itās connecting (to influxdb), but then nothing. Influxdb persistence works without a problem though.
Will openhab 4.2 be Java21 ready?
There is already ongoing work to have it working with Java 21. [CI] Add Java 21 compiling to J17 and native J21 by holgerfriedrich Ā· Pull Request #4186 Ā· openhab/openhab-core Ā· GitHub
@holger_hees, you could add a breaking change alert to update.lst in the distro repo.
Section 4.2.0 (in alphabetical order).
Hello, is there an answer to my question?
Work is in progress (not finished) to make openHAB runnable with Java 21.
OH 4.2 will not require Java 21 to run and recommendation will remain using Java 17.
Just for the record. Start and stop of openhab service (4.2.0.M2 on openhabian Pi4) looks like this for me:
Apr 26 07:26:06 openHABianPi systemd[1]: Stopping openhab.service - openHAB instance, reachable at http://openHABianPi:8080...
Apr 26 07:26:16 openHABianPi karaf[798]: Exception in thread "Timer-5" java.lang.NullPointerException: Cannot invoke "org.openhab.binding.zwave.internal.protocol.ZWaveTransactionResponse.getState()" because "response" is null
Apr 26 07:26:16 openHABianPi karaf[798]: Exception in thread "Timer-4" at org.openhab.binding.zwave.internal.protocol.ZWaveNode$WakeupTimerTask.run(ZWaveNode.java:1518)
Apr 26 07:26:16 openHABianPi karaf[798]: at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
Apr 26 07:26:16 openHABianPi karaf[798]: at java.base/java.util.TimerThread.run(Timer.java:516)
Apr 26 07:26:16 openHABianPi karaf[798]: Exception in thread "Timer-8" java.lang.NullPointerException: Cannot invoke "org.openhab.binding.zwave.internal.protocol.ZWaveTransactionResponse.getState()" because "response" is null
Apr 26 07:26:16 openHABianPi karaf[798]: at org.openhab.binding.zwave.internal.protocol.ZWaveNode$WakeupTimerTask.run(ZWaveNode.java:1518)
Apr 26 07:26:16 openHABianPi karaf[798]: at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
Apr 26 07:26:16 openHABianPi karaf[798]: at java.base/java.util.TimerThread.run(Timer.java:516)
Apr 26 07:26:17 openHABianPi karaf[798]: java.lang.NullPointerException: Cannot invoke "org.openhab.binding.zwave.internal.protocol.ZWaveTransactionResponse.getState()" because "response" is null
Apr 26 07:26:17 openHABianPi karaf[798]: at org.openhab.binding.zwave.internal.protocol.ZWaveNode$WakeupTimerTask.run(ZWaveNode.java:1518)
Apr 26 07:26:17 openHABianPi karaf[798]: at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
Apr 26 07:26:17 openHABianPi karaf[798]: at java.base/java.util.TimerThread.run(Timer.java:516)
Apr 26 07:26:17 openHABianPi karaf[798]: Exception in thread "Timer-7" java.lang.NullPointerException: Cannot invoke "org.openhab.binding.zwave.internal.protocol.ZWaveTransactionResponse.getState()" because "response" is null
Apr 26 07:26:17 openHABianPi karaf[798]: at org.openhab.binding.zwave.internal.protocol.ZWaveNode$WakeupTimerTask.run(ZWaveNode.java:1518)
Apr 26 07:26:17 openHABianPi karaf[798]: at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
Apr 26 07:26:17 openHABianPi karaf[798]: at java.base/java.util.TimerThread.run(Timer.java:516)
Apr 26 07:26:25 openHABianPi systemd[1]: openhab.service: Deactivated successfully.
Apr 26 07:26:25 openHABianPi systemd[1]: Stopped openhab.service - openHAB instance, reachable at http://openHABianPi:8080.
Apr 26 07:26:25 openHABianPi systemd[1]: openhab.service: Consumed 6h 32min 58.528s CPU time.
-- Boot 8498248331b545d3939b21c53a4b083d --
Apr 26 07:27:21 openHABianPi systemd[1]: Started openhab.service - openHAB instance, reachable at http://openHABianPi:8080.
Apr 26 07:29:40 openHABianPi karaf[790]: org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=shell; type=karaf.feature; version="[4.4.5,4.4.5]"; filter:=">
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:433)
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:420)
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:374)
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:256)
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:399)
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069)
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004)
Apr 26 07:29:40 openHABianPi karaf[790]: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
Apr 26 07:29:40 openHABianPi karaf[790]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
Apr 26 07:29:40 openHABianPi karaf[790]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
Apr 26 07:29:40 openHABianPi karaf[790]: at java.base/java.lang.Thread.run(Thread.java:840)
Apr 26 07:29:40 openHABianPi karaf[790]: Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve shell/4.4.5: missing requirement [shell/4.4.5] osgi.identity; osgi.identity=org.apache.karaf.shell.core; type=os>
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
Apr 26 07:29:40 openHABianPi karaf[790]: ... 12 more
Apr 26 07:29:40 openHABianPi karaf[790]: Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve org.apache.karaf.shell.core/4.4.5: missing requirement [org.apache.karaf.shell.core/4.4.5] osgi.wiring.package; >
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
Apr 26 07:29:40 openHABianPi karaf[790]: ... 13 more
Apr 26 07:29:40 openHABianPi karaf[790]: Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve org.eclipse.osgi/3.18.0.v20220516-2155: missing requirement [org.eclipse.osgi/3.18.0.v20220516-2155] osgi.ee; fi>
Apr 26 07:29:40 openHABianPi karaf[790]: at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
Apr 26 07:29:40 openHABianPi karaf[790]: ... 14 more
Hey,
misunderstanding I replied to my issue in post
With 4.0 the log started to include warnings about delayed start of Daikin and MiiO bindings. Now with 4.2.0,M2 these warnings contain more info
2024-04-26 08:44:33.522 [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. In case it does not happen immediately after an upgrade, it should be fixed in the binding.
2024-04-26 08:44:33.543 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'daikin:ac_unit:cozinha': {thing/channel=Type description daikin:acunit-specialmode-powerful for daikin:ac_unit:cozinha:specialmode-powerful not found, although we checked the presence before.}
2024-04-26 08:44:33.576 [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. In case it does not happen immediately after an upgrade, it should be fixed in the binding.
2024-04-26 08:44:33.579 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'daikin:ac_unit:suite': {thing/channel=Type description daikin:acunit-specialmode-powerful for daikin:ac_unit:suite:specialmode-powerful not found, although we checked the presence before.}
2024-04-26 08:44:33.588 [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. In case it does not happen immediately after an upgrade, it should be fixed in the binding.
2024-04-26 08:44:33.590 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'daikin:ac_unit:sala': {thing/channel=Type description daikin:acunit-specialmode-powerful for daikin:ac_unit:sala:specialmode-powerful not found, although we checked the presence before.}
2024-04-26 08:44:53.624 [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. In case it does not happen immediately after an upgrade, it should be fixed in the binding.
2024-04-26 08:44:53.627 [WARN ] [core.thing.internal.ThingManagerImpl] - Failed to normalize configuration for thing 'miio:gateway:1072B9E6': {thing/channel=Type description miio:LUMI_GATEWAY_MIEU01_guard for miio:gateway:1072B9E6:guard not found, although we checked the presence before.}
Maybe now the binding maintainners can correct this.
The fix for Tapo is still not merged
I donāt see an open Pull Request for tapo:
https://github.com/openhab/openhab-addons/pulls?q=is%3Apr+is%3Aopen+tapo+in%3Atitle
Can you point me to that?
It was merged this morning
A post was split to a new topic: Kodi install fails
Hi,
after installing M3 i see the following error while executing scripts with ephemeris:
Script execution of rule with UID ā6e2fb0dab0ā failed: java.lang.Exception: java.lang.NoClassDefFoundError: Could not initialize class de.focus_shift.jollyday.core.HolidayManager
console.error((actions.Ephemeris.getBankHolidayName(time.toZDT('2022-12-25'))));
Any ideas?
Hey,
thanks for the great work appreciated the work of the whole teamā¦
I only getting this error
[ERROR] [ence.internal.PersistenceManagerImpl] - Exception occurred while querying persistence service 'jdbc' to restore 'localDailyForecastTomorrowConditionIcon': String of type 'org.mariadb.jdbc.MariaDbBlob' is not supported
Image localDailyForecastTomorrowConditionIcon "1 Tages Vorhersage Icon" { channel="openweathermap:weather-and-forecast:api:smarthome:forecastTomorrow#icon" }
Additonal errors in the log
I am on openhabian so I wonder why I get this error?
[ERROR] [y.internal.WindowsUsbSerialDiscovery] - bundle org.openhab.core.config.discovery.usbserial.windowsregistry:4.2.0.M3 (320)[org.openhab.core.config.discovery.usbserial.windowsregistry.internal.WindowsUsbSerialDiscovery(389)] : The deactivate method has thrown an exception
And at ther first startup I get also a lot of these errors
[ERROR] [Events.Framework ] - FrameworkEvent ERROR
In M3 something is broken with ItemHistory object in JSS. Iām using ādeltaSinceā and āpreviousStateā in my rules and see a lot of errors. No issues in M2:
2024-05-20 09:09:13.878 [ERROR] [omation.script.javascript.354421511f] - Failed to execute script: TypeError: undefined has no such function "previousState"
at <js>.:program(<eval>:13)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 21 more
2024-05-20 09:09:13.880 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '354421511f' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "previousState"
2024-05-20 09:09:19.873 [ERROR] [omation.script.javascript.354421511f] - Failed to execute script: TypeError: undefined has no such function "previousState"
at <js>.:program(<eval>:13)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 21 more
2024-05-20 09:09:19.874 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '354421511f' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "previousState"
2024-05-20 09:09:25.864 [ERROR] [omation.script.javascript.354421511f] - Failed to execute script: TypeError: undefined has no such function "previousState"
at <js>.:program(<eval>:13)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 21 more
2024-05-20 09:09:25.865 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '354421511f' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "previousState"
2024-05-20 09:09:30.878 [ERROR] [omation.script.javascript.354421511f] - Failed to execute script: TypeError: undefined has no such function "previousState"
at <js>.:program(<eval>:13)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 21 more
2024-05-20 09:09:30.879 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '354421511f' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "previousState"
2024-05-20 09:09:36.878 [ERROR] [omation.script.javascript.354421511f] - Failed to execute script: TypeError: undefined has no such function "previousState"
at <js>.:program(<eval>:13)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 21 more
2024-05-20 09:09:36.879 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '354421511f' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "previousState"
2024-05-20 09:09:42.417 [ERROR] [omation.script.javascript.ca1bab01fe] - Failed to execute script: TypeError: undefined has no such function "deltaSince"
at <js>.:program(<eval>:12)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 75 more
2024-05-20 09:09:42.418 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'ca1bab01fe' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "deltaSince"
2024-05-20 09:09:42.878 [ERROR] [omation.script.javascript.354421511f] - Failed to execute script: TypeError: undefined has no such function "previousState"
at <js>.:program(<eval>:13)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 21 more
2024-05-20 09:09:42.879 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '354421511f' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "previousState"
2024-05-20 09:09:48.872 [ERROR] [omation.script.javascript.354421511f] - Failed to execute script: TypeError: undefined has no such function "previousState"
at <js>.:program(<eval>:13)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 21 more
2024-05-20 09:09:48.873 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '354421511f' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "previousState"
2024-05-20 09:09:54.862 [ERROR] [omation.script.javascript.354421511f] - Failed to execute script: TypeError: undefined has no such function "previousState"
at <js>.:program(<eval>:13)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 21 more
2024-05-20 09:09:54.863 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '354421511f' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "previousState"
2024-05-20 09:10:00.643 [ERROR] [omation.script.javascript.2c486a1907] - Failed to execute script: TypeError: undefined has no such function "deltaSince"
at <js>.:program(<eval>:18)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 21 more
2024-05-20 09:10:00.644 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '2c486a1907' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "deltaSince"
2024-05-20 09:10:00.863 [ERROR] [omation.script.javascript.354421511f] - Failed to execute script: TypeError: undefined has no such function "previousState"
at <js>.:program(<eval>:13)
at org.graalvm.polyglot.Context.eval(Context.java:399)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:458)
at com.oracle.truffle.js.scriptengine.GraalJSScriptEngine.eval(GraalJSScriptEngine.java:426)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:262)
... 21 more
2024-05-20 09:10:00.864 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID '354421511f' failed: org.graalvm.polyglot.PolyglotException: TypeError: undefined has no such function "previousState"
Could this be the reason?
Yes, this bundle is now there even on Linux machines.
This error occurred when you did what exactly ?
Looks like I donāt have it while I am on Pi OS (not openhabian) when I start openHAB.