openHAB 5.1 Release discussion

This topic can be used to discuss problems/experiences/questions on the openHAB 5.1 release as announced in this topic.

7 Likes

Thanks to all for that great work and this christmas gift :slight_smile:

Will test upgrade and feedback whenever necessary after the christmas days.

Merry Christmas to everybody :christmas_tree: :wrapped_gift:

2 Likes

11 posts were split to a new topic: Chart tooltip displays last datapoint if no current data

Many thanks for 5.1.0. MainUI seems to be faster than in previous versions.

I have noticed one problem in my DSL rules. For example the line below

val KV_pumppu_luxus_ajastus_ON_aikaZDT1 = (KV_pumppu_luxus_ON_aika.state as DateTimeType).getZonedDateTime

gives an error message in the log:

2025-12-23 08:53:08.526 [ERROR] [.handler.AbstractScriptModuleHandler] - Script execution of rule with UID 'af6fedafb3' failed: Could not cast NULL to org.openhab.core.library.types.DateTimeType; line 6, column 44, length 45

So I’m wondering if getZonedDateTime is depreciated.

2 Likes

Your code fails because your item state is NULL and not a date & time.

Add a null check for example.

OK, thanks for the info. My scripts are now working. I’m not quite sure why the item state was NULL.

which java version is recommended?

At least Java 21 is required and Java 25 doesn’t work yet, so Java 21.
If this question rather means the vendor, Eclipse Adoptium Temurin is recommended or the OpenJDK build from your OS vendor.

1 Like

Just upgraded to 5.1.0 and have the issue of the android app only showing a blank screen.

Chrome also shows a blank screen when using the mobile view, the desktop view works.

Just migrated and it went smoothly.

Only comment is that I did not have to install home assistant binding, it seems that it was installed automatically (by the upgrade tool?).

Main UI is very snappy as first impression. I will now scan the other improvements.

Thank you very much to all who contributed to this release.

It seems that the EntsoE binding in OH5.1 supports now also 60min resolution PT60M. This is really great!

1 Like

Can you point me to the documentation please

I searched for websocket but wasn’t able to find sth. @florian-h05

Only can find this

Or this

@florian-h05 the Main UI seems to display a blank screen for both mobile and desktop views when the following options are used:

I have the Simple Navbar enabled for mobile view which explains why I get a blank screen for the Android app and when not using desktop view in Chrome.

1 Like

The tooltop displays the date of the data, so you can see it’s obviously not from now. And the chart even displays the point the tooltip refers.

Again: There is NO documentation yet. All you have is the core and the web UI PR, checking the code you can try to understand how to use it.

That’s something to work with, thanks for the information!

Hi,

I have such errors inlog after upgarde. Was upgrading from 5.1 M2.

 Suppressed: shaded.org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.apache.karaf.wrapper:org.apache.karaf.wrapper.core:jar:4.4.8 in openhab (https://openhab.jfrog.io/openhab/libs-release/)
                        at shaded.org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) ~[?:?]
                        at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:401) ~[?:?]
                        at shaded.org.eclipse.aether.util.concurrency.RunnableErrorForwarder.lambda$wrap$0(RunnableErrorForwarder.java:73) ~[?:?]
                        at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:669) ~[?:?]
                        at shaded.org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:290) ~[?:?]
                        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:520) ~[?:?]
                        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:408) ~[?:?]
                        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:235) ~[?:?]
                        at shaded.org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:212) ~[?:?]
                        at shaded.org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:272) ~[?:?]
                        at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:767) ~[?:?]
                        at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:657) ~[?:?]
                        at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:598) ~[?:?]
                        at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:565) ~[?:?]
                        at org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download(MavenDownloadTask.java:52) ~[?:?]
                        at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60) ~[?:?]
                        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: shaded.org.eclipse.aether.resolution.ArtifactResolutionException: Error resolving artifact org.apache.karaf.wrapper:org.apache.karaf.wrapper.core:jar:4.4.8

1 Like

Me as well…

On Docker, quite sure it is no access problem, tried all networking modes to be on the safe side: ā€˜host’, ā€˜bridge’, … I also tried stopping it on Docker, delete cache and tmp directory content. Also tried the alpine release and the larger one… Migrating from the last standard release, 5.0.1 I think.

Openhab then somehow starts, but no connection to database at all - everything is ā€˜NULL’… Also many 1000nds of log-entries in a few minutes. If you want I can share much, much more…

My dump started a little earlier, here it is:

Launching the openHAB runtime...
org.apache.karaf.features.internal.util.MultiException: Error:
	Error downloading mvn:org.jxmpp/jxmpp-util-cache/1.1.0
	Error downloading mvn:org.igniterealtime.smack/smack-xmlparser/4.5.0-beta6
	Error downloading mvn:org.jxmpp/jxmpp-jid/1.1.0
	Error downloading mvn:org.minidns/minidns-core/1.1.1
	Error downloading mvn:org.igniterealtime.smack/smack-java11/4.5.0-beta6
	Error downloading mvn:org.igniterealtime.smack/smack-extensions/4.5.0-beta6
	Error downloading mvn:org.jxmpp/jxmpp-core/1.1.0
	Error downloading mvn:org.igniterealtime.smack/smack-tcp/4.5.0-beta6
	Error downloading mvn:org.igniterealtime.smack/smack-resolver-javax/4.5.0-beta6
	Error downloading mvn:org.igniterealtime.smack/smack-sasl-javax/4.5.0-beta6
	Error downloading mvn:org.igniterealtime.smack/smack-streammanagement/4.5.0-beta6
	Error downloading mvn:org.igniterealtime.smack/smack-im/4.5.0-beta6
	at org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenDownloader.<init>(MavenDownloadManager.java:91)
	at org.apache.karaf.features.internal.download.impl.MavenDownloadManager.createDownloader(MavenDownloadManager.java:72)
	at org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:474)
	at org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsystem.java:469)
	at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:223)
	at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:399)
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069)
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
	Suppressed: java.io.IOException: Error downloading mvn:org.jxmpp/jxmpp-util-cache/1.1.0
		at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:77)
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
		at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
		... 3 more
	Caused by: java.io.IOException: Error resolving artifact org.jxmpp:jxmpp-util-cache:jar:1.1.0: [Could not find artifact org.jxmpp:jxmpp-util-cache:jar:1.1.0 in openhab (https://openhab.jfrog.io/openhab/libs-release/), Could not find artifact org.jxmpp:jxmpp-util-cache:jar:1.1.0 in openhab (https://openhab.jfrog.io/openhab/libs-release/)]
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.configureIOException(AetherBasedResolver.java:803)
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:774)
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:657)
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:598)
		at org.ops4j.pax.url.mvn.internal.AetherBasedResolver.resolve(AetherBasedResolver.java:565)
		at org.apache.karaf.features.internal.download.impl.MavenDownloadTask.download(MavenDownloadTask.java:52)
		at org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTask.run(AbstractRetryableDownloadTask.java:60)
		... 6 more
		Suppressed: shaded.org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.jxmpp:jxmpp-util-cache:jar:1.1.0 in openhab (https://openhab.jfrog.io/openhab/libs-release/)

On question on rules’ conditions:

I used to have that


working fine in OH 5.0.2 as a condition for a rule to trigger. Now I get this error:

2025-12-23 12:55:37.823 [ERROR] [ernal.handler.ScriptConditionHandler] - Script of rule with UID 'NotifyPrisesInstantPowerAnormal' did not return a boolean value, but '[object Object]'

I tried adding a return statement but got an error…

I have this as JS scripting configuration…

Any recommendation on the way to proceed?

Thank you.

Hi All
Thanks for all the hard work that has gone into this release.

Prior to loading on my live system I have done a quick test on my test machine.

I noticed 2 things

The Upgrade Tool reported taht it had corrected the inlflux.persist config (removed the DEFAULT). Thsi however ended up not being the case - I think this may be rekated to me uisng a Windows setup?

Manually removing the line resolved any warning etc, so have gone with that route.

The second issue is that one of my widgets is no longer displayng correctly:

Was - Prior to 5.1.0 Relase:

Now - with 5.1.0 Release

The relevant code is:

          - component: f7-block
            config:
              style:
                background-color: rgba(232,232,232)
                border: 1px solid black
                border-radius: 10px
                height: 50px
                left: 10%
                marhin: 0
                padding: 0
                top: -20px
                width: 80%
            slots:
              default:
                - component: oh-icon
                  config:
                    height: 30px
                    icon: '=(items.SunSynk_Battery_Status.state === "Trickling") ? "charge_battery"
                      : (items.SunSynk_Battery_Status.state === "Charging") ?
                      "charge_battery" :(items.SunSynk_Battery_Status.state ===
                      "Idling") ? "full_battery" :
                      (items.SunSynk_Battery_Status.state === "Discharging") ?
                      "middle_battery" : (items.SunSynk_Battery_Status.state ===
                      "Critical") ? "empty_battery" : "error"'
                    style:
                      position: absolute
                - component: Label
                  config:
                    style:
                      font-size: 15px
                      font-weight: 500
                      left: 50px
                      position: absolute
                      top: 5px
                      white-space: nowrap
                    text: =(items.SunSynk_Battery_Status.state)
                - component: Label
                  config:
                    style:
                      font-size: 15px
                      font-weight: 500
                      left: 150px
                      position: absolute
                      top: 5px
                      white-space: nowrap
                    text: =(items.SunSynk_Battery_Current.state)
                - component: Label
                  config:
                    style:
                      font-size: 15px
                      font-weight: 500
                      position: absolute
                      right: 10px
                      top: 5px
                      white-space: nowrap
                    text: =(items.SunSynk_Battery_SOC.state)
                - component: Label
                  config:
                    style:
                      font-size: 15px
                      font-weight: 500
                      left: 15px
                      position: absolute
                      top: 5px
                      white-space: pre
                    text: '="PVE: " + (items.SunSynk_pvetoday.state)'
                - component: Label
                  config:
                    style:
                      font-size: 15px
                      font-weight: 500
                      position: absolute
                      right: 20px
                      top: 5px
                      white-space: pre
                    text: '="GRID: " + (items.SunSynk_grid_Buy_Today.state)'

I have not looked at fixing yet as I assume this is related to the changes made for this release?

Thanks for any assistance.
Mark

Please share the code that Blockly generates.

Upgraded early today. Am a Windows11 user. The loading speed of OH 5.1.0 as well as the operating speed within the Main UI are very impressive vs OH 5.0.3 :grinning_face: .

Thanks for everything and a merry Chrismas :christmas_tree: !

1 Like