openHAB 4.2 Release Discussion

Hi folks, just checking in to see if anyone else has observed such issues. All my thing pages seem to show up the full set of tabs very briefly and then just show an empty thing page, with the only option to delete the thing. It’s consistent with all the things, and consistent across both my production install plus my development install once they upgraded to 4.2. Both run RedHat derivatives (Rocky 8.10 Prod, RHEL 9.4 Dev). Screenshot shown.

Not seen that before. Is there anything to show in the console output (F12 developer tools of your browser)

Main error shown is this:

Status
500
Server Error
VersionHTTP/1.1
Transferred779 B (620 B size)
Referrer Policystrict-origin-when-cross-origin

Response payload:

XHRGET
https://openhab01.home.sys-smith.space:8443/rest/channel-types?prefixes=system,zwave
[HTTP/1.1 500 Server Error 53ms]

1

"{\"error\":{\"message\":\"Cannot invoke \\\"org.openhab.binding.sensibo.internal.handler.SensiboSkyHandler.getChannelTypes(java.util.Locale)\\\" because \\\"this.handler\\\" is null\",\"http-code\":500,\"exception\":{\"class\":\"java.lang.NullPointerException\",\"message\":\"Cannot invoke \\\"org.openhab.binding.sensibo.internal.handler.SensiboSkyHandler.getChannelTypes(java.util.Locale)\\\" because \\\"this.handler\\\" is null\",\"localized-message\":\"Cannot invoke \\\"org.openhab.binding.sensibo.internal.handler.SensiboSkyHandler.getChannelTypes(java.util.Locale)\\\" because \\\"this.handler\\\" is null\"}}}"


And openHAB.log, does that show anything useful?

Do you have the same with things from other bindings? Or only for sensibo?

Solved by this

Two bindings are showing errors in the openhab log, Sensibo and Yamaha Home Theater. I had tried to delete both things via the UI, but it just sits there and indicates ‘Removing’. Sensibo is common to both installs, the Yamaha one is not.

2024-08-07 22:18:11.704 [ERROR] [core.thing.internal.ThingManagerImpl] - Checking/initializing thing 'sensibo:sensibosky:cb17d42ff2' failed unexpectedly.
java.lang.NullPointerException: Cannot invoke "org.openhab.binding.sensibo.internal.handler.SensiboSkyHandler.getChannelType(org.openhab.core.thing.type.ChannelTypeUID, java.util.Loca$
        at org.openhab.binding.sensibo.internal.CallbackChannelsTypeProvider.getChannelType(CallbackChannelsTypeProvider.java:52) ~[?:?]
        at org.openhab.core.thing.type.ChannelTypeRegistry.getChannelType(ChannelTypeRegistry.java:82) ~[?:?]
        at org.openhab.core.thing.type.ChannelTypeRegistry.getChannelType(ChannelTypeRegistry.java:68) ~[?:?]
        at org.openhab.core.thing.internal.ThingManagerImpl$ThingPrerequisites.isReady(ThingManagerImpl.java:1249) ~[?:?]
        at org.openhab.core.thing.internal.ThingManagerImpl.checkMissingPrerequisites(ThingManagerImpl.java:1119) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
        at java.lang.Thread.run(Thread.java:840) [?:?]
2024-08-07 22:18:11.707 [ERROR] [core.thing.internal.ThingManagerImpl] - Checking/initializing thing 'yamahareceiver:zone:9573eed733:Main_Zone' failed unexpectedly.
java.lang.NullPointerException: Cannot invoke "org.openhab.binding.sensibo.internal.handler.SensiboSkyHandler.getChannelType(org.openhab.core.thing.type.ChannelTypeUID, java.util.Loca$
        at org.openhab.binding.sensibo.internal.CallbackChannelsTypeProvider.getChannelType(CallbackChannelsTypeProvider.java:52) ~[?:?]
        at org.openhab.core.thing.type.ChannelTypeRegistry.getChannelType(ChannelTypeRegistry.java:82) ~[?:?]
        at org.openhab.core.thing.type.ChannelTypeRegistry.getChannelType(ChannelTypeRegistry.java:68) ~[?:?]
        at org.openhab.core.thing.internal.ThingManagerImpl$ThingPrerequisites.isReady(ThingManagerImpl.java:1249) ~[?:?]
        at org.openhab.core.thing.internal.ThingManagerImpl.checkMissingPrerequisites(ThingManagerImpl.java:1119) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
        at java.lang.Thread.run(Thread.java:840) [?:?]

Both bindings are correctly installed?
The things can be removed (with force) even if no handler is available. Check the docs, I don’t know the procedure out of my head.

Bindings were installed and working on 4.1 prior to update and were production release (i.e. not installed manually). I’ve just disabled both and the things pages are now displaying. Thanks for your help, looks like a binding issue for one of the bindings against 4.2 (probably Sensibo) rather than an overall 4.2 issue.

Good to know that you have a workaround. Nevertheless if this is a binding issue, it would be nice if you check the installed binding versions through the console. (bundle:list)
Would also be good to know if you remove and re-create the thing if the problem persists.

There is long standing bug in Apache Felix Fileinstall which can write arrays/lists into configuration but can’t read it back:
https://issues.apache.org/jira/browse/FELIX-6687

What I have noticed since the last update and is super annoying is that if you make a change in the model, the model tree closes after the update, especially if you have created a very detailed model. If you want to sort something, for example, you have to click on everything again.

Has this already been mentioned?

I already had the addons.kar.
Any idea what to try next? Or is there a recommend way of downgrading?

edit: In the openhab console running “openhab:addons list” shows nothing. Its not seeing my addons.kar? Found the following in my openhab.log

2024-08-07 19:46:50.369 [SEVERE] [org.apache.karaf.main.Main] - Could not launch framework
java.lang.IllegalStateException: Error initializing storage for Equinox container.
        at org.eclipse.osgi.internal.framework.EquinoxContainer.<init>(EquinoxContainer.java:110)
        at org.eclipse.osgi.launch.Equinox.<init>(Equinox.java:53)
        at org.eclipse.osgi.launch.EquinoxFactory.newFramework(EquinoxFactory.java:35)
        at org.eclipse.osgi.launch.EquinoxFactory.newFramework(EquinoxFactory.java:30)
        at org.apache.karaf.main.Main.launch(Main.java:291)
        at org.apache.karaf.main.Main.main(Main.java:183)
Caused by: java.io.IOException: Unable to create lock manager.
        at org.eclipse.osgi.storagemanager.StorageManager.open(StorageManager.java:713)
        at org.eclipse.osgi.storage.Storage.getChildStorageManager(Storage.java:2196)
        at org.eclipse.osgi.storage.Storage.getInfoInputStream(Storage.java:2213)
        at org.eclipse.osgi.storage.Storage.<init>(Storage.java:258)
        at org.eclipse.osgi.storage.Storage.createStorage(Storage.java:185)
        at org.eclipse.osgi.internal.framework.EquinoxContainer.<init>(EquinoxContainer.java:108)
        ... 5 more

Still working through it now, but the Sensibo bundle is showing as 4.2.0. I’ll update after trying to recreate the thing, or if I discover anything else.

2 Likes

I have same issue. Now I have checked and since 2 weeks (probably after upgrade my graphs are empty :slightly_frowning_face: .

	if (Energy_Total.updatedSince(now.minusMinutes(60),"influxdb"))
		add_usage = 1000 * (Energy_Total.deltaSince(now.minusMinutes(60),"influxdb")).floatValue

and got now:

‘floatValue’ is not a member of ‘org.openhab.core.types.State’

I do not follow all changes and prefer “do not touch” working config.
Is it somewhere described, how I do I need to change ?

It’s discussed in the release announcement blog posting:

All the persistence calls on Items with units now return either a Number or a QuantityType. This gives Rules DSL some grief as it doesn’t know how to get to the type you need without a little bit of a hint through a cast.

(Energy_Total.deltaSince(now.minusMinutes(60),"influxdb") as Number).floatValue

If you do not follow changes, your working config will cease working.

2 Likes

You’re absolutely right. But would also like to amend.
In retrospective that blog could have had a simple example (or link to) to make the user more aware of what these few blog lines actually mean in concrete rules etc.
And yes, I could have proposed such addition, but also missed it :slight_smile:
Maybe @florian-h05 is able to add it? many users wait for the first .1 release to upgrade and that is about to take place.

1 Like

There are six different supported rules languages and a at least one more marketplace automation add-on. The docs for all of these were updated and are correct. Adding 7+ links to the docs I don’t think is any better.

1 Like

After the upgrade to 4.2.1, my Shelly binding, Unifi Protect binding and ESPHome binding had stopped working. I reinstalled californium (feature:install openhab-transport-coap), and now the Shelly binding works again.

I searched the 4.2.1 release notes for “californium” or “coap”, but that didn’t hit anything. Was this unexpected? Or normal behavior?

Also, I found the reason of the Unifi Protect binding and the ESPHome binding to fail: they were uninstalled… (I’m running a DEV version of the Shelly binding, so that couldn’t be uninstalled.)

I assume that was not all intended? :slight_smile:

It is normal behaviour if your shelly binding has been installed through addons folder. If all of your other bindings (release version) do not require coap, it is being removed.

I see

But I assume the uninstallation of the other two bindings is not expected?