openHAB 4.1 Release discussion

OK. Thank you @Lolodomo !

I never installed homeassistant on this computerā€¦

Reread @misken response again. Home Assistant defines an MQTT standard in how it organizes MQTT topics and messages. If you have something that publishes using that standard, openHAB can automatically discover those Things.

Home Assistant provides the standard. Itā€™s not related to the Home Assistant software in any way.

ok, clear. Thank you. I go to find what is generating thatā€¦

I got a strange issue with MainUI running on a Fire Tablet with Fully kiosk browser. Since the update, the MainUI page reloads every two seconds.
Going into the Fully settings and back breaks the reload loop for a while until it finally resumes.
Anyone else experiencing this ?

Hi,

I tried to upgrade from 4.0.4 to 4.1.0, I am using a docker container.
in the logs I get the following

[ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-modbus, openhab-binding-hue, openhab-binding-mail, openhab-misc-openhabc
loud, openhab-binding-network, openhab-persistence-jdbc-h2, openhab-transformation-regex, openhab-binding-buienradar, openhab-binding-mqtt, openhab-binding-netatmo, openhab-ui-basi
c, openhab-binding-ntp, openhab-binding-openweathermap, openhab-binding-telegram, openhab-binding-astro, openhab-binding-systeminfo, openhab-binding-remoteopenhab, openhab-transfor
mation-scale': Error:
        Error downloading mvn:com.h2database/h2/2.2.224

Any ideaā€™s ?
Thanks in advance
Willy

Perhaps @Kai can upload that dependency to Artifactory?
H2 got upgraded in openhab-addons#15726.
Meanwhile you can workaround the download issue by using the addons KAR file.

Hi,

I added the h2.jar file to the addons directory, but still the same error.
Or am I missing something here ?

Thanks
Willy

Done. @willy, please try again by restarting openHAB.

1 Like

Hi Kai,

upgrade works fine now, thanks a lot.

Great job to all the contributers.

Willy

1 Like

Iā€™ve only just notice this after and this appeared after upgrade to Openhab v4.1 .
Iā€™m using openhab-js to write values to my persistence database this was fine for the last several months since the upgrade.

here is a code fragment:

		console.log("Energy Hourly: " + Energy_Mains_Hourly.state + ", " + Energy_Mains_Total.state + ", " + daily_accum + ", "+ Energy_Mains_Daily.state +", " + minute_count );
		Energy_Mains_Hourly.history.persist();
		// reset for next hour
		Energy_Mains_Hourly.postUpdate(0); 	
		minute_count=0;

output in openhab.log
Energy Hourly: 0.22593333333333335 kWh, 6375.975 kWh, 14.458433333333325, 14.453033333333325 kWh, 34

However looking at the tables in my database all I see is zero values but see the highlighted value which is in this case was 0.2259ā€¦ should have been written.
is this something to do with the ā€œkWHā€ units?

It might be the same issue as this:

thanks, it could be, as this might not be fixed for a while , I wonder if there is a workaround , ie can I remove Quantity Type from the item before I write via persist() function

Not using QuantityType will work around the issue. You could also wait until tonight, maybe there will be patch available by then with a proper fix. :wink:

Many thanks for this new version. I need to check what all is added but will do that soon.
I migrated yesterday and tried to get away from reported errors. For some this is not possible and will get fixed in a next version like Shelly H&T and a java issue at startup.
I reported a issue regarding rrd4j on OH 4.1.0.RC1 and received the remark update first to 4.1.0 what I did yesterday. The issue is the same. Is is working fro a few hours and stops and never starts again what I noticed sometimes with 3.4.1. Is this a known issue? Also mapDB is stopping and not restarting. I checked this with the PersistenceViewer from Scott Rushworth (slow but working!). What I donā€™t understand is that the file storage.mapdb has always the correct time so something is happening on that file. I can stop and start mapdb but donā€™t see any data afterwards with the PersistenceViewer. rrd4j I canā€™t stop. After a second try I get a error message

openhab> list -s | grep mapdb
306 x Active x  80 x 4.1.0                  x org.openhab.persistence.mapdb
openhab> buddle:stop 306
Command not found: buddle:stop
openhab> bundle:stop 306
openhab> bundle:start 306
openhab> list -s | grep rrd4j
307 x Active x  80 x 4.1.0                  x org.openhab.persistence.rrd4j
openhab> bundle:stop 307
^C~                                                                             
openhab> bundle:stop 307
Error executing command: Error executing command on bundles:
        Error stopping bundle307: Unable to acquire the state change lock for the module: osgi.identity; type="osgi.bundle"; version:Version="4.1.0"; osgi.identity="org.openhab.persistence.rrd4j" [id=307] STOPPED [STOPPED]
openhab>

Iā€™m running OH in a docker on Synology.

Iā€™m not sure how to do that?
the value Iā€™m updating has no units

eg

var newhourly= Quantity(Energy_Mains_Hourly.state).float + energy_kwh;
Energy_Mains_Hourly.postUpdate(newhourly);

Iā€™m hoping the fix will be out quickly

I removed the ā€œDimensionā€ of kWh from the item and it outputs without that Type
eg - Energy Hourly: 0.45935000000000004,

However I didnā€™t see the table update accordingly, so this might be another issue

another update:
when I removed the postUpdate to reset the hourly value this worked.
ie

	Energy_Mains_Hourly.history.persist();
		// reset for next hour
		minute_count=0;	
		Energy_Mains_Hourly.postUpdate(0); // <=== if I remove the value writes correctly

this must be a issue with timing or a asynch
ie the persistence function must be writing in another thread which is getting the reset value instead?

Iā€™ve put in a short wait before I update /zero item out , and that seems to fix it!
eg

	java.lang.Thread.sleep(100);
	Energy_Mains_Hourly.postUpdate(0);

should I create a ticket for this issue?
or do you need any more info to re-create?

After upgrade to OH4.1.1 I get this error om startup

[ERROR] [g.dispatch.internal.ConfigDispatcher] - bundle org.openhab.core.config.dispatch:4.1.1 (173)[org.openhab.core.config.dispatch.internal.ConfigDispatcher(142)] : The activate method has thrown an exception
java.lang.NullPointerException: Cannot invoke "org.openhab.core.config.dispatch.internal.ConfigDispatcher$ExclusivePIDMap.initializeProcessPIDMapping()" because "this.exclusivePIDMap" is null
	at org.openhab.core.config.dispatch.internal.ConfigDispatcher.loadExclusivePIDList(ConfigDispatcher.java:143) ~[?:?]
	at org.openhab.core.config.dispatch.internal.ConfigDispatcher.activate(ConfigDispatcher.java:136) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:245) ~[bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) ~[bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:687) ~[bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:531) [bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) [bundleFile:?]
	at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:354) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:776) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:674) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:437) [bundleFile:?]
	at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:671) [bundleFile:?]
	at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:310) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:593) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator.access$200(Activator.java:74) [bundleFile:?]
	at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:460) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169) [bundleFile:?]
	at org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49) [bundleFile:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488) [osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:420) [osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) [osgi.core-8.0.0.jar:?]
	at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450) [osgi.core-8.0.0.jar:?]
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:949) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:229) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:138) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:130) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:217) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.publishEvent(Module.java:499) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.Module.start(Module.java:486) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1847) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1840) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1783) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1745) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1667) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) [org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) [org.eclipse.osgi-3.18.0.jar:?]

And a lot of this error

 [ERROR] [Events.Framework                    ] - FrameworkEvent ERROR
java.lang.IllegalStateException: Invalid class loader from a refreshed bundle is being used: org.openhab.core.model.script_4.1.1

so, seeing this after upgrade to 4.1.1 every 30 seconds com3 is the zwave controller which is working fine.

2024-01-08 01:55:07.912 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3
2024-01-08 01:55:37.914 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3
2024-01-08 01:56:07.915 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3
2024-01-08 01:56:37.917 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3
2024-01-08 01:57:07.918 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3
2024-01-08 01:57:37.919 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3
2024-01-08 01:58:07.922 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3
2024-01-08 01:58:37.923 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3
2024-01-08 01:59:07.925 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3
2024-01-08 01:59:37.926 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3
2024-01-08 02:00:07.929 [WARN ] [erial.internal.SerialPortManagerImpl] - No SerialPortProvider found for: COM3

multiple restarts later it seems to clear up but it is a new behavior as this did not occur in 4.1.0 or any previous OH 4 or 4.1 snapshots.