Latest snapshot build S5350 contains that fix.
It also includes the latest Karaf upgrade planned for next milestone, so other issues may show up in the snapshot.
@Kai you say there will be a new milestone; but will it be 1) in the next few days (quick fix), or 2) in the next ~1..2 months (just another release in the usual 30 day plus milestone cycle)?
EDIT: reason for asking is that if openhabian system is following ālatest milestoneā I would like it to be ālatest-known-good-milestoneā without having 30 days or more of āknown-not-goodā..
1! Expect it tomorrow already!
@Mherwege : did you check that with managed sitemap?
No, not yet.
There was this recent change:
@timl : you were previously with 5.2 milestone 2 when it worked?
With 5.2.M3 I had a syntax error with a DSL rule and had to rollback quickly to M2.
Maybe someone can confirm?
On M3 a piece of code like
import java.time.Duration
...............................
val duration = Duration.between(duration1, duration2).toSeconds()
gives:
no viable alternative at input 'between'
between is a new rule keyword (in rule conditions).
Use duration = ^between(ā¦)
Solutions are in study to avoid that problem in the final release.
First, thanks for all the good work. I was trying the milestones to fix Unifi (which did not work yet), but all else was good until M4. Now something changed in persistence/influx/quantitative, trying to understand what, canāt find it.
Iām on RPI, docker, influxdb2 as persistence. RulesDSL to calculate energies.
This code started to return some strange values (no error, but wrong data):
val feedinNowH = feedin_energy_today.persistedState(timeNow)
val feedinPrevH = feedin_energy_today.persistedState(timePrev)
Debugging seems that there are right data in influxdb (can see them directly), but not with the exact timestamp (which is rounded to hours, while data are coming every minute with some seconds,ms offset). Further debugging suggests that perhaps the request does not hit influxdb and/or get some āorphanedā data (perhaps from previously used internal persistence, which defaulted in previous upgrade before I changed the influxdb configuration or some historical data in influxdb).
I tried to change to avoid not having exact number and specifying the persistence service by changing to:
val etodayNowH = Etoday_togrid.maximumBetween(timeNowStart, timeNowEnd, "influxdb")
val etodayPrevH = Etoday_togrid.maximumBetween(timePrevStart, timePrevEnd, "influxdb")
but it is still getting the same strange number. Rolling back to M2 fixes it.
Item definition:
Number Etoday_togrid "Gained Energy Today to Grid and House [%.1f kWh]" <energy> (gSolaxModbus, gSolaxModbusSelection) {channel="modbus:data:localhostTCP:inputRegisters:ETODAY_TOGRID:number" }
but I also tried changing (without success) to
Number:Energy Etoday_togrid "Gained Energy Today to Grid and House [%.1f kWh]" <energy> (gSolaxModbus, gSolaxModbusSelection) {channel="modbus:data:localhostTCP:inputRegisters:ETODAY_TOGRID:number", unit="kWh" }
Tried to read release notes, but did not hit anything obvious. Any ideas?
Yes. In 5.2M2 everthing is working. In 5.2M4 the sitemap structure works again, but conditional stuff (icon color, label color, icon etc.) is not working anymore.
I am aware and working on a fix. It may wor if you put == in front of the condition value.
It has been fixed now:
It has been fixed.
Iām having problems with my jruby rules after upgrading to 5.2.M4, getting this error and no rules gets loaded:
2026-05-17 08:33:42.740 [WARN ] [ernal.JRubyScriptEngineConfiguration] - Error evaluating `require 'openhab/dsl'`
org.jruby.exceptions.NameError: (NameError) missing class name org.openhab.core.model.sitemap.SitemapProvider
at org.jruby.javasupport.JavaPackage.method_missing(org/jruby/javasupport/JavaPackage.java:250)
at RUBY.<class:Provider>(/openhab/conf/automation/ruby/.gem/10.0.5.0/gems/openhab-scripting-5.44.1/lib/openhab/core/sitemaps/provider.rb:25)
at RUBY.<module:Sitemaps>(/openhab/conf/automation/ruby/.gem/10.0.5.0/gems/openhab-scripting-5.44.1/lib/openhab/core/sitemaps/provider.rb:14)
at RUBY.<module:Core>(/openhab/conf/automation/ruby/.gem/10.0.5.0/gems/openhab-scripting-5.44.1/lib/openhab/core/sitemaps/provider.rb:10)
at RUBY.<module:OpenHAB>(/openhab/conf/automation/ruby/.gem/10.0.5.0/gems/openhab-scripting-5.44.1/lib/openhab/core/sitemaps/provider.rb:6)
at RUBY.<main>(/openhab/conf/automation/ruby/.gem/10.0.5.0/gems/openhab-scripting-5.44.1/lib/openhab/core/sitemaps/provider.rb:5)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1195)
at uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.rubygems.core_ext.kernel_require.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:139)
at openhab.conf.automation.ruby.$_dot_gem.$10_dot_0_dot_5_dot_0.gems.openhab_minus_scripting_minus_5_dot_44_dot_1.lib.openhab.core.<main>(/openhab/conf/automation/ruby/.gem/10.0.5.0/gems/openhab-scripting-5.44.1/lib/openhab/core.rb:163)
at org.jruby.RubyArray.each(org/jruby/RubyArray.java:2093)
at RUBY.<main>(/openhab/conf/automation/ruby/.gem/10.0.5.0/gems/openhab-scripting-5.44.1/lib/openhab/core.rb:161)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1195)
at org.jruby.RubyKernel.require_relative(org/jruby/RubyKernel.java:1219)
at RUBY.<main>(/openhab/conf/automation/ruby/.gem/10.0.5.0/gems/openhab-scripting-5.44.1/lib/openhab/dsl.rb:10)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1195)
at RUBY.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:144)
at RUBY.<main>(<script>:1)
2026-05-17 08:33:42.796 [ERROR] [ipt.internal.ScriptEngineManagerImpl] - Error during evaluation of script '/openhab/conf/automation/ruby/vacationmode.rb': Error during evaluation of Ruby in org/jruby/javasupport/JavaPackage.java at line 250: (NameError) missing class name org.openhab.core.model.sitemap.SitemapProvider
System info:
runtimeInfo:
version: 5.2.0.M4
buildString: Milestone Build
locale: en-SE
systemInfo:
configFolder: /openhab/conf
userdataFolder: /openhab/userdata
logFolder: /openhab/userdata/logs
javaVersion: 21.0.11
javaVendor: Debian
osName: Linux
osVersion: 6.1.0-45-amd64
osArchitecture: amd64
availableProcessors: 4
freeMemory: 359700632
totalMemory: 1094713344
uptime: 312
startLevel: 100
addons:
- automation-jrubyscripting
- binding-astro
- binding-gardena
- binding-lgthinq
- binding-matter
- binding-myuplink
- binding-network
- binding-pushover
- binding-rfxcom
- binding-smhi
- binding-spotify
- binding-systeminfo
- binding-tibber
- binding-unifi
- binding-verisure
- binding-zigbee
- binding-zwave
- misc-openhabcloud
- persistence-influxdb
- persistence-mapdb
- transformation-map
- transformation-scale
Upgrade your openhab-scripting gem! I believe this was fixed in the helper library version 5.4.75
see File: CHANGELOG ā openHAB JRuby
I have the config set to gems = openhab-scripting=~>5.0. Wouldnāt it automatically update to this version then?
Edit: Seems Iām still on 5.44.1. Shouldnāt it update automatically to the latest version satisfying the version spec on each start?
Thereās the check for update option, it might be disabled. Itās enabled by default. See in karaf console jrubyscripting info command. Then check either the UI options if you set them there, or CONF/services/jruby.cfg (or any other files)
Example:
openhab> jrubyscripting info
JRuby 10.0.5.0
JRuby Scripting Library 5.48.0
ENV['GEM_HOME']: /openhab/conf/automation/ruby/.gem/10.0.5.0
ENV['RUBYLIB']: /openhab/conf/automation/ruby/lib
ENV['BUNDLE_GEMFILE']: /openhab/conf/automation/ruby/Gemfile
Script path: /openhab/conf/automation/ruby
JRuby Scripting Add-on Configuration:
=====================================
Ruby Gems
gems: openhab-scripting=~>5.1
bundle_gemfile: /openhab/conf/automation/ruby/Gemfile
check_update: true <=======================================
JRuby 10.0.5.0
JRuby Scripting Library is not installed
ENV['GEM_HOME']: /openhab/conf/automation/ruby/.gem/10.0.5.0
ENV['RUBYLIB']: /openhab/conf/automation/ruby/lib
Script path: /openhab/conf/automation/ruby
JRuby Scripting Add-on Configuration:
=====================================
Ruby Gems
gems: openhab-scripting=~>5.0
bundle_gemfile: /openhab/conf/automation/ruby/Gemfile
check_update: true
require: openhab/dsl
Ruby Environment
gem_home: /openhab/conf/automation/ruby/.gem/{RUBY_ENGINE_VERSION}
rubylib: /openhab/conf/automation/ruby/lib
dependency_tracking: true
System Properties
local_context: singlethread
local_variable: transient
JRuby Console
console: irb
Why does it say JRuby Scripting Library is not installed ![]()
Because it failed to load.
But your check_update is true, hmmmm