openHAB 4.0 Milestone discussion

For me it was OK for Milestone

Get:1 https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main armhf openhab all 4.0.0~M3-1 [103 MB]
Get:2 https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main armhf openhab-addons all 4.0.0~M3-1 [382 MB]

In M3 these bindings continue to have the 2 minute startup delay: daikin miio http (the SmartHome/J version)

Just wanted to let you know that It is still present in M3

Logging in as openhab
Failed to load native library:jansi-2.4.0-46a31a7848b558ae-libjansi.so. osinfo: Linux/arm
java.lang.UnsatisfiedLinkError: /var/lib/openhab/tmp/jansi-2.4.0-46a31a7848b558ae-libjansi.so: /var/lib/openhab/tmp/jansi-2.4.0-46a31a7848b558ae-libjansi.so: cannot open shared object file: No such file or directory

It was already reported here by few users for previous milestone build.

You have this issue to follow the progress:

Note that a delay of 2 minutes can be normal at first startup.

Daikin and http bindings are not identified in that issue as being potentially concerned by this delay. That is strange.

1 Like

Thanks, so there seems to be an issue with the amd64 packages.

I’m having a look, but there does seem to be the package there:

ben@ubuntutest:~$ sudo apt update
Get:6 https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing InRelease [12.5 kB]
Get:7 https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages [8084 B]
Fetched 8084 B in 4s (1886 B/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
107 packages can be upgraded. Run 'apt list --upgradable' to see them.

ben@ubuntutest:~$ sudo apt-cache madison openhab
   openhab | 4.0.0~M3-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 4.0.0~M2-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 4.0.0~M1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages

What’s the output of apt-cache madison openhab?

Strange, it is there, but still :

OK:8 https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing InRelease
Holen:9 http://de.archive.ubuntu.com/ubuntu jammy-security/main amd64 Packages [396 kB]
Holen:10 http://de.archive.ubuntu.com/ubuntu jammy-security/main Translation-en [114 kB]
Holen:11 http://de.archive.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [269 kB]
Holen:12 http://de.archive.ubuntu.com/ubuntu jammy-security/restricted Translation-en [39,5 kB]
Holen:13 http://de.archive.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [723 kB]
Holen:14 http://de.archive.ubuntu.com/ubuntu jammy-security/universe Translation-en [126 kB]
Holen:15 http://de.archive.ubuntu.com/ubuntu jammy-security/universe amd64 c-n-f Metadata [14,6 kB]
Es wurden 3.719 kB in 1 s geholt (3.935 kB/s).
Paketlisten werden gelesen… Fertig
AbhƤngigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Alle Pakete sind aktuell.
hmerk@smarthome:/etc/apt$ apt-cache madison openhab
   openhab | 4.0.0~M3-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 4.0.0~M2-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 4.0.0~M1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.4.4-2 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.4.4-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.4.3-2 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.4.3-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.4.2-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.4.1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.4.0-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.4.0~RC1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.4.0~M6-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.4.0~M5-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.4.0~M4-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.4.0~M3-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.4.0~M2-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.4.0~M1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.3.0-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.3.0~RC1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.3.0~M7-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.3.0~M6-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.3.0~M5-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.3.0~M4-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.3.0~M3-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.3.0~M2-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.3.0~M1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.2.0-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.2.0~RC1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.2.0~M5-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.2.0~M4-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.2.0~M3-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.2.0~M2-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.2.0~M1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.1.1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.1.0-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.1.0~RC1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.1.0~M5-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.1.0~M4-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.1.0~M3-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.1.0~M2-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab | 3.1.0~M1-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.0.4-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.0.3-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.0.2-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.0.1-2 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages
   openhab |    3.0.0-1 | https://openhab.jfrog.io/artifactory/openhab-linuxpkg testing/main amd64 Packages

Strange indeed - is the package on hold? (apt-mark showhold)

If so: (sudo apt-mark unhold openhab)

If not, try forcing the install: (sudo apt install openhab=4.0.0~M3-1)

Are you trying to upgrade from a previous milestone release or from snapshot?

When I was on SNAPSHOT and wanted to upgrade to a more recent milestone, that was not possible without explicitely specifying the package version because for apt snapshot → milestone seems to be a downgrade.

My attempt to upgrade from 4.0.0.M2 to 4.0.0.M3 yesterday via ā€˜apt full-upgrade’ failed during the ā€œJSON Database upgrade toolā€ process with the following java error. The upgrade process hung at that point and seemingly couldn’t be killed. To recover, I rebooted the system and restored a system disk full image backup that I had created immediately prior to attempting the upgrade. Sorry, I only have the information that I could screen capture and don’t have more log capture or other info. Anyone have any thoughts?

[openHAB] Running JSON Database upgrade tool (${OPENHAB_RUNTIME}/bin/upgradetool.jar).
[main] INFO org.openhab.core.tools.internal.Upgrader - Copying item unit from state description to metadata in database '/var/lib/openhab/jsondb/org.openhab.core.items.Item.json'
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQTH003_BatteryVoltage: Wrote 'unit=V' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQTH004_BatteryVoltage: Wrote 'unit=V' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQWD006BasementBath_BatteryVoltage: Wrote 'unit=V' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQTH002_BatteryVoltage: Wrote 'unit=V' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQWD001Dishwasher_BatteryVoltage: Wrote 'unit=V' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQTH001_Pressure: Wrote 'unit=kPa' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQTH003_Temperature: Wrote 'unit=°C' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBTUTH001_BatteryVoltage: Wrote 'unit=V' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - SKY2F016TH3_Temperature: Wrote 'unit=°C' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQTH002_Pressure: Wrote 'unit=kPa' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQWD002Laundry_BatteryVoltage: Wrote 'unit=V' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQWD005Fridge_BatteryVoltage: Wrote 'unit=V' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQTH002_Temperature: Wrote 'unit=°C' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQWD004EnsuiteBath_BatteryVoltage: Wrote 'unit=V' to metadata.
[main] INFO org.openhab.core.tools.internal.Upgrader - ZBAQCT001_BatteryVoltage: Wrote 'unit=V' to metadata.
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.contains(java.lang.CharSequence)" because "pattern" is null
        at org.openhab.core.tools.internal.Upgrader.lambda$0(Upgrader.java:104)
        at java.base/java.util.concurrent.ConcurrentHashMap$KeySetView.forEach(ConcurrentHashMap.java:4706)
        at org.openhab.core.tools.internal.Upgrader.itemCopyUnitToMetadata(Upgrader.java:93)
        at org.openhab.core.tools.UpgradeTool.main(UpgradeTool.java:79)


1 Like

A fix has already been proposed: Fix NPE in UpgradeTool when no pattern present by J-N-K Ā· Pull Request #3630 Ā· openhab/openhab-core Ā· GitHub. Press Ctrl-C to end the hanging tool.

1 Like

Upgrade fro SNAPSHOT to M3. This was possible for openHAB 3.4 without any issue on my side.

I am not sure if I made some mistake or if this might be a bug.

As I had to review my unit of measurement configuration before upgrading to M3 I wanted to adapt my KNX configuration to use units as well.

I have the following KNX thing definition for absolute humidity:

...
Type number : Feuchte_Abs_Keller_HV  "Feuchte abs. Keller HV"  [ ga="14.017:11/1/203" ]
...

With the following item attached to the channel:

Number:Density Feuchte_Abs_Keller_HV "Feuchte abs. Keller HV [%.2f g/m³]"    <water>      (gMesswerte, gSemTempHumKellerHV)   ["Measurement", "Humidity"] { unit="g/m³", channel="knx:device:bridge:knx-tw-1_1_200:Feuchte_Abs_Keller_HV",                                                                          widgetOrder="6204" }

I checked with a KNX bus monitor, the value is indeed send as g/cm³, e.g. the device sends 0x410C0000 , which, as float, is 8.75. But in the UI the value is shown as 8750 g/m³.

As I understood it, the metadata unit=ā€œg/mĀ³ā€ should have ensured, that the value is in the correct unit, but this is probably a misunderstanding?

If I connect the channel to a simple Number item the value is displayed correctly:

Number Feuchte_Abs_Keller_HV "Feuchte abs. Keller HV [%.2f g/m³]"    <water>      (gMesswerte, gSemTempHumKellerHV)   ["Measurement", "Humidity"] { channel="knx:device:bridge:knx-tw-1_1_200:Feuchte_Abs_Keller_HV", widgetOrder="6204" }

What am I doing wrong?

The default unit for density in OH is kg/m³, which is assumed that the value is in if it doesn’t have a unit. 8.75 kg/m³ = 8750 g/m³

According to Calimero code the unit for DPT 14.017 is kg/m³. So 8.75 kg/m³ indeed is 8750 g/m³, so it looks fine to me.

Edit: https://www.knx.org/wAssets/docs/downloads/Certification/Interworking-Datapoint-types/03_07_02-Datapoint-Types-v02.02.01-AS.pdf also states that the values are kg/m³.

The internal unit does not matter in this case, the KNX binding already sends the value with correct unit.

I’m having the exact same issue on my Raspberry PI with Enocean USB300. It worked ok on OH 4.0.0.M1 and is broken both on OH 4.0.0.M2 and M3.
Any ideas anyone?

1 Like

No, it is not. Forcing update to M3 says it is a downgrade, eve the SNAPSHOT is older than M3 :thinking:

That’s exactly the case here too. Nevertheless, I am now on Build #3481, which was done after M3.

Yes and this is consistent with the KNX specification. But as I understood the unit metadata description I thougt, that it would ā€žoverwriteā€œ this unit.

If this is not the case I will continue to use Number items without units, as I can not change what my device is sending.

But I specified the unit as g/m³, apparently without effect.

I think you misunderstand the meaning of the item’s unit. It is applied to values that don’t have a unit (which is not the case here, the value already has a unit) and used for persisting values. What you want to do is change the unit of a value. I have a profile in development for that, until then you you be able to use a simple JS transformation profile that divides the value by 1000.

2 Likes