So, ive updated to 3.1 and get the same issue as on 2.5.12 OH
The controller wont come online. Running Unifi OS controller under a Container on a QNAP nas
Any suggestions?
04:14:23.294 [ERROR] [rnal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.dispose()' on 'org.openhab.binding.unifi.internal.handler.UniFiControllerThingHandler@2b01f2ab': null
java.lang.StackOverflowError: null
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.osgi.framework.FrameworkUtil.getBundle(FrameworkUtil.java:209) ~[osgi.core-7.0.0.jar:?]
at org.ops4j.pax.logging.spi.support.BundleHelper.getCallerBundle(BundleHelper.java:80) ~[bundleFile:?]
at org.ops4j.pax.logging.spi.support.BundleHelper.getCallerBundle(BundleHelper.java:54) ~[bundleFile:?]
at org.ops4j.pax.logging.OSGIPaxLoggingManager.getLogger(OSGIPaxLoggingManager.java:72) ~[bundleFile:?]
at org.ops4j.pax.logging.slf4j.Slf4jLoggerFactory.getLogger(Slf4jLoggerFactory.java:52) ~[bundleFile:?]
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363) ~[bundleFile:?]
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388) ~[bundleFile:?]
at org.openhab.binding.unifi.internal.api.model.UniFiControllerRequest.<init>(UniFiControllerRequest.java:74) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.newRequest(UniFiController.java:201) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:107) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
15:54:07.982 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/usr/share/openhab/addons/org.openhab.binding.unifi-3.1.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.unifi [310]
Unresolved requirement: Import-Package: org.apache.commons.lang; version="[2.6.0,3.0.0)"
at org.eclipse.osgi.container.Module.start(Module.java:463) ~[org.eclipse.osgi-3.16.200.jar:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:440) ~[org.eclipse.osgi-3.16.200.jar:?]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.6.8]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.6.8]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [bundleFile:3.6.8]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.6.8]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.6.8]
Looks like youāre using an old build installed via the addons directory. Apache commons was removed as a dependency a while back. I have the binding installed in the regular way, and it works without issue.
What doesnāt work? Iāve used it since OH 3 was released and never had an issue. But perhaps it depends on how one runs oneās Unifi controller (mine is running on the same linux host as openHAB).
Ive tried the 3.1 binding that ships with the software, the mobile client never comes online (worked fine on 2.4)
The thing comes online, but the Switch item for the phone connected via wifi never does, just shows as NULL and as a result presence never works. The phone is seen in the controller just fine (android)
06:14:04.857 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'unifi:wirelessClient:Garage_Unifi:Kris_Mobile' changed from UNINITIALIZED to INITIALIZING
06:14:04.864 [INFO ] [hab.event.ThingStatusInfoChangedEvent] - Thing 'unifi:wirelessClient:Garage_Unifi:Kris_Mobile' changed from INITIALIZING to ONLINE
I remember that when upgrading some time ago the controller thing had itās configuration changed (adding the unifi OS option), and that had to be turned on and then off again to make the configuration work. Are you sure your configuration is correct?
I just tested changing that setting and got a stack overflow error - had to restart the binding after changing it back to make the error go away, so there are obviously some bugs. But the online channels are working on my end at least.
Doesnāt seem like the binding have been getting any updates lately, would be a shame if it has been abandoned Sorry I canāt help you more. Unless you want to try upgrading the controller? 6.0.45 is rather old, could the web api have changed and the binding is expecting a newer version?
I tried a few controller versions, even back to Version 5 running on QPKG . Iām not sure
jwiseman
(Mr. Wiseman (OH 4.2 Snapshot on Pi4))
1205
Iām still running org.openhab.binding.unifi-2.5.0-SNAPSHOT.jar hitting against 2 different Windows controllers running versions 6.0.28 and 6.1.71 w/o issues since April 2019.
My Controller thing and Wireless thing are both online, yet the switch for my presence isnāt. Very odd! Even changing the wireless client thing to IP address over mac address, it just remains NULL
UID: unifi:wirelessClient:Garage_Unifi:Kris_Mobile
label: Kris Mobile
thingTypeUID: unifi:wirelessClient
configuration:
considerHome: 180
site: Home
cid: 192.168.0.78
bridgeUID: unifi:controller:Garage_Unifi
Have you tried enabling debug logging? It should show all devices that are found when polling the api. Also, have you tried without the site config param, just to rule out as much as possible?
A thing being online does not mean much in this case. Typically if the binding starts without errors things will be online. The online channel that is associated with the thing is what you are interested in, but typically no correlation between the two.
08:32:57.929 [ERROR] [.core.thing.internal.ThingManagerImpl] - Exception occurred while disposing handler of thing 'unifi:controller:Garage_Unifi': null
java.lang.StackOverflowError: null
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at org.osgi.framework.FrameworkUtil.getBundle(FrameworkUtil.java:209) ~[osgi.core-7.0.0.jar:?]
at org.ops4j.pax.logging.spi.support.BundleHelper.getCallerBundle(BundleHelper.java:80) ~[bundleFile:?]
at org.ops4j.pax.logging.spi.support.BundleHelper.getCallerBundle(BundleHelper.java:54) ~[bundleFile:?]
at org.ops4j.pax.logging.OSGIPaxLoggingManager.getLogger(OSGIPaxLoggingManager.java:72) ~[bundleFile:?]
at org.ops4j.pax.logging.slf4j.Slf4jLoggerFactory.getLogger(Slf4jLoggerFactory.java:52) ~[bundleFile:?]
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:363) ~[bundleFile:?]
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388) ~[bundleFile:?]
at org.openhab.binding.unifi.internal.api.model.UniFiControllerRequest.<init>(UniFiControllerRequest.java:74) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.newRequest(UniFiController.java:201) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:107) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.login(UniFiController.java:114) ~[?:?]
at org.openhab.binding.unifi.internal.api.model.UniFiController.executeRequest(UniFiController.java:210) ~[?:?]
Was getting this until a reboot, and with debug on I can see the device Iām interested in:
The first issue is probably related to a failed login, I got the same when setting the unifios configuration wrong, and the binding doesnāt handle this in a good way.
I also noticed that the binding doesnāt handle thing config changes very well, when testing a bit I had to disable and then enable the wirelessClient Thing for the changes to take.
Both things would need to be fixed, but that requires someone to step up and continue development