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