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.
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)
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:
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?
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.