Hi Mark
With the new version, my PressedImage keeps showing as NULL, despite the doorbell being pressed and the channel linked.
Hi Mark
With the new version, my PressedImage keeps showing as NULL, despite the doorbell being pressed and the channel linked.
Thatās odd. Iāll take a look. Can you try pressing the button with debug logging turned on?
Sorry, but Iām not sure what youāre asking for. Do you want a way to request a doorbell or motion history montage separate from it being done as part of the doorbell or motion event processing? If so, the latest build has channels to do that (e.g. getDoorbellMontage).
Hi Mark,
The debug solved it, I had a typoād parameter when I updated the binding. The montage works well! I really like it love you work!
Thanks for this great bundle! I have a D101 and canāt wait to get this bundle working.
Iām running 2.4.0 stable on an pi3 and can confirm it does not work out of the boxā¦
After I installed this binding, the two bundles were active and I can see the Binding in the Paper UI configuration. But when I create the thing-file the openhab.log report errors:
2019-05-09 21:52:57.468 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.UnsatisfiedLinkError: Unable to load library '/var/lib/openhab2/tmp/libsodium/libsodium.so':
/var/lib/openhab2/tmp/libsodium/libsodium.so: Kann die Shared-Object-Datei nicht ƶffnen: Datei oder Verzeichnis nicht gefunden
/var/lib/openhab2/tmp/libsodium/libsodium.so: Kann die Shared-Object-Datei nicht ƶffnen: Datei oder Verzeichnis nicht gefunden
Native library (var/lib/openhab2/tmp/libsodium/libsodium.so) not found in resource path (/usr/share/openhab2/runtime/lib/boot/activation-1.1.1.jar:/usr/share/openhab2/runtime/lib/boot/jaxb-api-2.3.0.jar:/usr/share/openhab2/runtime/lib/boot/jaxb-core-2.2.11.jar:/usr/share/openhab2/runtime/lib/boot/jaxb-impl-2.2.11.jar:/usr/share/openhab2/runtime/lib/boot/org.apache.karaf.diagnostic.boot-4.2.1.jar:/usr/share/openhab2/runtime/lib/boot/org.apache.karaf.jaas.boot-4.2.1.jar:/usr/share/openhab2/runtime/lib/boot/org.apache.karaf.main-4.2.1.jar:/usr/share/openhab2/runtime/lib/boot/org.osgi.core-6.0.0.jar)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:302) ~[?:?]
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:455) ~[?:?]
at com.sun.jna.Native.register(Native.java:1722) ~[?:?]
at com.goterl.lazycode.lazysodium.utils.NativeUtils.loadLibraryFromJar(NativeUtils.java:109) ~[?:?]
at com.goterl.lazycode.lazysodium.SodiumJava.registerFromResources(SodiumJava.java:156) ~[?:?]
at com.goterl.lazycode.lazysodium.SodiumJava.<init>(SodiumJava.java:21) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdEvent.<clinit>(DoorbirdEvent.java:41) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdUdpListener.<init>(DoorbirdUdpListener.java:45) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdHandler.<init>(DoorbirdHandler.java:103) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdHandlerFactory.createHandler(DoorbirdHandlerFactory.java:57) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.registerHandler(BaseThingHandlerFactory.java:128) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.doRegisterHandler(ThingManagerImpl.java:600) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.registerHandler(ThingManagerImpl.java:577) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.registerAndInitializeHandler(ThingManagerImpl.java:1073) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.thingAdded(ThingManagerImpl.java:457) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:209) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:129) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:1) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:154) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:1) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:56) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:74) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutAddedElement(AbstractProvider.java:78) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$27(GenericThingProvider.java:960) ~[?:?]
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModelForThingHandlerFactory(GenericThingProvider.java:963) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$4(GenericThingProvider.java:301) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModel(GenericThingProvider.java:303) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.modelChanged(GenericThingProvider.java:759) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:123) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
Suppressed: java.lang.UnsatisfiedLinkError: /var/lib/openhab2/tmp/libsodium/libsodium.so: Kann die Shared-Object-Datei nicht ƶffnen: Datei oder Verzeichnis nicht gefunden
at com.sun.jna.Native.open(Native Method) ~[?:?]
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:191) ~[?:?]
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:455) ~[?:?]
at com.sun.jna.Native.register(Native.java:1722) ~[?:?]
at com.goterl.lazycode.lazysodium.utils.NativeUtils.loadLibraryFromJar(NativeUtils.java:109) ~[?:?]
at com.goterl.lazycode.lazysodium.SodiumJava.registerFromResources(SodiumJava.java:156) ~[?:?]
at com.goterl.lazycode.lazysodium.SodiumJava.<init>(SodiumJava.java:21) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdEvent.<clinit>(DoorbirdEvent.java:41) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdUdpListener.<init>(DoorbirdUdpListener.java:45) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdHandler.<init>(DoorbirdHandler.java:103) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdHandlerFactory.createHandler(DoorbirdHandlerFactory.java:57) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.registerHandler(BaseThingHandlerFactory.java:128) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.doRegisterHandler(ThingManagerImpl.java:600) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.registerHandler(ThingManagerImpl.java:577) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.registerAndInitializeHandler(ThingManagerImpl.java:1073) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.thingAdded(ThingManagerImpl.java:457) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:209) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:129) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:1) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:154) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:1) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:56) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:74) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutAddedElement(AbstractProvider.java:78) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$27(GenericThingProvider.java:960) ~[?:?]
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModelForThingHandlerFactory(GenericThingProvider.java:963) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$4(GenericThingProvider.java:301) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModel(GenericThingProvider.java:303) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.modelChanged(GenericThingProvider.java:759) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:123) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
Suppressed: java.lang.UnsatisfiedLinkError: /var/lib/openhab2/tmp/libsodium/libsodium.so: Kann die Shared-Object-Datei nicht ƶffnen: Datei oder Verzeichnis nicht gefunden
at com.sun.jna.Native.open(Native Method) ~[?:?]
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:204) ~[?:?]
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:455) ~[?:?]
at com.sun.jna.Native.register(Native.java:1722) ~[?:?]
at com.goterl.lazycode.lazysodium.utils.NativeUtils.loadLibraryFromJar(NativeUtils.java:109) ~[?:?]
at com.goterl.lazycode.lazysodium.SodiumJava.registerFromResources(SodiumJava.java:156) ~[?:?]
at com.goterl.lazycode.lazysodium.SodiumJava.<init>(SodiumJava.java:21) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdEvent.<clinit>(DoorbirdEvent.java:41) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdUdpListener.<init>(DoorbirdUdpListener.java:45) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdHandler.<init>(DoorbirdHandler.java:103) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdHandlerFactory.createHandler(DoorbirdHandlerFactory.java:57) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.registerHandler(BaseThingHandlerFactory.java:128) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.doRegisterHandler(ThingManagerImpl.java:600) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.registerHandler(ThingManagerImpl.java:577) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.registerAndInitializeHandler(ThingManagerImpl.java:1073) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.thingAdded(ThingManagerImpl.java:457) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:209) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:129) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:1) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:154) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:1) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:56) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:74) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutAddedElement(AbstractProvider.java:78) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$27(GenericThingProvider.java:960) ~[?:?]
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModelForThingHandlerFactory(GenericThingProvider.java:963) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$4(GenericThingProvider.java:301) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModel(GenericThingProvider.java:303) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.modelChanged(GenericThingProvider.java:759) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:123) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
Suppressed: java.io.IOException: Native library (var/lib/openhab2/tmp/libsodium/libsodium.so) not found in resource path (/usr/share/openhab2/runtime/lib/boot/activation-1.1.1.jar:/usr/share/openhab2/runtime/lib/boot/jaxb-api-2.3.0.jar:/usr/share/openhab2/runtime/lib/boot/jaxb-core-2.2.11.jar:/usr/share/openhab2/runtime/lib/boot/jaxb-impl-2.2.11.jar:/usr/share/openhab2/runtime/lib/boot/org.apache.karaf.diagnostic.boot-4.2.1.jar:/usr/share/openhab2/runtime/lib/boot/org.apache.karaf.jaas.boot-4.2.1.jar:/usr/share/openhab2/runtime/lib/boot/org.apache.karaf.main-4.2.1.jar:/usr/share/openhab2/runtime/lib/boot/org.osgi.core-6.0.0.jar)
at com.sun.jna.Native.extractFromResourcePath(Native.java:1095) ~[?:?]
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:276) ~[?:?]
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:455) ~[?:?]
at com.sun.jna.Native.register(Native.java:1722) ~[?:?]
at com.goterl.lazycode.lazysodium.utils.NativeUtils.loadLibraryFromJar(NativeUtils.java:109) ~[?:?]
at com.goterl.lazycode.lazysodium.SodiumJava.registerFromResources(SodiumJava.java:156) ~[?:?]
at com.goterl.lazycode.lazysodium.SodiumJava.<init>(SodiumJava.java:21) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdEvent.<clinit>(DoorbirdEvent.java:41) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdUdpListener.<init>(DoorbirdUdpListener.java:45) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdHandler.<init>(DoorbirdHandler.java:103) ~[?:?]
at org.openhab.binding.doorbird.internal.DoorbirdHandlerFactory.createHandler(DoorbirdHandlerFactory.java:57) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory.registerHandler(BaseThingHandlerFactory.java:128) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.doRegisterHandler(ThingManagerImpl.java:600) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.registerHandler(ThingManagerImpl.java:577) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.registerAndInitializeHandler(ThingManagerImpl.java:1073) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl.thingAdded(ThingManagerImpl.java:457) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyTrackers(ThingRegistryImpl.java:209) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:129) ~[?:?]
at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.notifyListenersAboutAddedElement(ThingRegistryImpl.java:1) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:154) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractRegistry.added(AbstractRegistry.java:1) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:56) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:74) ~[?:?]
at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutAddedElement(AbstractProvider.java:78) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$27(GenericThingProvider.java:960) ~[?:?]
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModelForThingHandlerFactory(GenericThingProvider.java:963) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.lambda$4(GenericThingProvider.java:301) ~[?:?]
at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.createThingsFromModel(GenericThingProvider.java:303) ~[?:?]
at org.eclipse.smarthome.model.thing.internal.GenericThingProvider.modelChanged(GenericThingProvider.java:759) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:301) ~[?:?]
at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:123) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:227) ~[?:?]
at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:291) ~[?:?]
at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
Does anyone get libsodium to work on a pi?
Thatās unfortunate, but I was afraid that might be the case. Iāll look into it some more, but Iām not all that optimistic.
You might want to read through this issue, as there are some possible solutions.
Edit: The second of these options requires that I make some code changes. So, if option 1 is unsuccessful, we can try option 2.
Well, I tried option 4 and compiled Libsodium myself!
I followed this instruction (except that I used the latest version of libsodium-1.0.17.tar.gz and dropped points 8 and 9):
https://www.raspberrypi.org/forums/viewtopic.php?t=203662#p1265732
That worked on my pi3 running Raspbian Stretch Lite!
After that I created a symolic link:
sudo ln -s /usr/local/lib/libsodium.so /var/lib/openhab2/tmp/libsodium/libsodium.so
But after I restart OH via
sudo systemctl restart openhab2.service
the symbolic link in/var/lib/openhab2/tmp/libsodium/ is gone and the error mentioned above returns.
Can you possibly change the path to libsodium.so?
I use a Java wrapper for libsodium called LazySodium. It has several libsodium builds bundled with the jar (but not one for the pi3, unfortunately). Shortly, Iāll have a version of the binding that will try to load libsodium from the OS if a bundled one cannot be found. If you could try installing libsodium (sudo apt install libsodium) on the OS, Iāll post a version that will try to load the OS version (if the load of the bundled one fails). Iāll want you to enable DEBUG logging so that we can see whatās happening.
Ok. I just posted a version that will try to load the OS version of libsodium if the load of the bundled version fails. Wanna give that a try? Make sure to enable debug logging.
Youāll see something like this in the log, except that the line after the Trying to load
will be a failure, then hopefully followed by a line saying itās trying to load the OS version.
2019-05-09 18:09:19.704 [DEBUG] [rg.openhab.binding.doorbird.internal.DoorbirdEvent] - Trying to load bundled libsodium library
2019-05-09 18:09:19.716 [DEBUG] [rg.openhab.binding.doorbird.internal.DoorbirdEvent] - Successfully loaded bundled libsodium library!!
Well, sudo apt install libsodium
doesnāt work. I ran apt-cache search libsodium
to find the version to install. On Ubuntu 16.04 it was libsodium18. On 18.04, it was libsodium23.
Unfortunately, Iām a bit overwhelmed, please help:
I enabled debug logging and replaced the jar in the addons-folder with your new one. Is that enough?
Do I really need to apt-get libsodium even though Iāve already compiled it myself?
EDIT: apt-cache search libsodium
delivers libsodium18 on my system
I dunno. It might be sufficient to use the one you compiled. Weāll only know when the binding tries to load libsodium, which is at binding startup.
What do you see in the log?
After Restart:
Your new version works! Thanks a lot!
Debug-Log after OH-Restart tells really lotā¦ but this doesnāt matter anymore!
I have to go to bed now. Itās after midnight in Germany.
Iāll get back to you in the next few days!
Cool!!! Get some sleep.
When you get a minute, Iām curious to know if it used the compiled version or the version installed with apt (if you even needed to install with apt).
Iāll also be interested to know if you see any errors when doorbell and/or motion events occur, as thatās where the actual decryption takes place.
Hi Mark,
the binding is online but the items do not work. :-/
I receive the following warning message in openhab.log:
2019-05-10 22:47:29.522 [WARN ] [ding.doorbird.internal.DoorbirdEvent] - Couldn't load libsodium library. Try installing libsodium on your OS
EDIT: I installed libsodium
sudo apt install libsodium18
but there is still that warning after restart:
==> /var/log/openhab2/openhab.log <==
2019-05-11 00:16:27.542 [WARN ] [ding.doorbird.internal.DoorbirdEvent] - Couldn't load libsodium library. Try installing libsodium on your OS
Can I possibly turn on a debug-log specifically for your binding? And if so, how?
Turn on debug using this command at the console.
log:set DEBUG org.openhab.binding.doorbird
You may need to install the latest doorbird binding in order to see the actual error.
But, Iām betting itās this error, which Iāve already logged an issue here.
java.lang.UnsatisfiedLinkError: Error looking up function 'crypto_pwhash_scryptsalsa208sha256_str_needs_rehash': /usr/lib/x86_64-linux-gnu/libsodium.so.18.0.1: undefined symbol: crypto_pwhash_scryptsalsa208sha256_str_needs_rehash
For now, I would suggest you uninstall libsodium18 (sudo apt remove libsodium18
), and use the version that you compiled.
Hi Mark,
I uninstalled libsodium18 and enabled the debug mode.
2019-05-11 22:27:37.641 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Trying to load bundled libsodium library
2019-05-11 22:27:37.704 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Unable to load bundled libsodium: Unable to load library '/var/lib/openhab2/tmp/libsodium/libsodium.so':
/var/lib/openhab2/tmp/libsodium/libsodium.so: Kann die Shared-Object-Datei nicht ƶffnen: Datei oder Verzeichnis nicht gefunden
/var/lib/openhab2/tmp/libsodium/libsodium.so: Kann die Shared-Object-Datei nicht ƶffnen: Datei oder Verzeichnis nicht gefunden
Native library (var/lib/openhab2/tmp/libsodium/libsodium.so) not found in resource path (/usr/share/openhab2/runtime/lib/boot/activation-1.1.1.jar:/usr/share/openhab2/runtime/lib/boot/jaxb-api-2.3.0.jar:/usr/share/openhab2/runtime/lib/boot/jaxb-core-2.2.11.jar:/usr/share/openhab2/runtime/lib/boot/jaxb-impl-2.2.11.jar:/usr/share/openhab2/runtime/lib/boot/org.apache.karaf.diagnostic.boot-4.2.1.jar:/usr/share/openhab2/runtime/lib/boot/org.apache.karaf.jaas.boot-4.2.1.jar:/usr/share/openhab2/runtime/lib/boot/org.apache.karaf.main-4.2.1.jar:/usr/share/openhab2/runtime/lib/boot/org.osgi.core-6.0.0.jar)
2019-05-11 22:27:37.707 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Trying to load libsodium from operating system
2019-05-11 22:27:37.716 [WARN ] [ding.doorbird.internal.DoorbirdEvent] - Couldn't load libsodium library. Try installing libsodium on your OS
2019-05-11 22:27:37.719 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Unable to decrypt event because libsodium is not loaded
Then I recreated the symbolic link:
sudo ln -s /usr/local/lib/libsodium.so /var/lib/openhab2/tmp/libsodium/libsodium.so
The log shows now:
2019-05-11 22:31:26.898 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Trying to load bundled libsodium library
2019-05-11 22:31:26.911 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Unable to load bundled libsodium: com.goterl.lazycode.lazysodium.Sodium.sodium_init()I
2019-05-11 22:31:26.914 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Trying to load libsodium from operating system
2019-05-11 22:31:26.932 [WARN ] [ding.doorbird.internal.DoorbirdEvent] - Couldn't load libsodium library. Try installing libsodium on your OS
2019-05-11 22:31:26.936 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Unable to decrypt event because libsodium is not loaded
It seems like libsodium is not working properly or the symbolic link is not enough. Do you have any idea?
EDIT: Sorry, I forget to install the latest doorbird binding!!!
This is what I get with the latest version:
2019-05-11 23:14:35.251 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Trying to get an instance of the LazySodium decryption library
2019-05-11 23:14:35.257 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - LazySodium has not been loaded yet. Try to load it now.
2019-05-11 23:14:35.260 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Trying to load bundled libsodium library
2019-05-11 23:14:35.348 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Unable to load bundled libsodium library!!
2019-05-11 23:14:35.351 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Trying to load libsodium library from operating system
2019-05-11 23:14:35.360 [WARN ] [ding.doorbird.internal.DoorbirdEvent] - Failed to load libsodium crypto library!!
2019-05-11 23:14:35.363 [WARN ] [ding.doorbird.internal.DoorbirdEvent] - Try manually installing libsodium on your OS if libsodium supports your architecture
2019-05-11 23:14:35.365 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Unable to decrypt event because libsodium is not loaded
2019-05-11 23:14:35.368 [DEBUG] [ding.doorbird.internal.DoorbirdEvent] - Trying to get an instance of the LazySodium decryption library
Not at the moment until I get some feedback from the LazySodium developer.
I could use some help!
Currently, the RPi2 and RPi3 are not supported by my Doorbird binding because the arm7 and arm8 builds of the crypto library (libsodium) for the RPi are not available in the crypto package (LazySodium) Iām using. And, the crypto libraries that can be installed directly from the Raspbian Jessie and Stretch distributions are not the most current version needed by the crypto package.
Iām working with the LazySodium developer who has offered to include the libsodium crypto libraries that support RPi2 and RPi3. Iāve already built the RPi3 version of the library and provided it to the LazySodium developer.
However, Iām having trouble getting the library for the RPi2. I donāt have a RPi2 that I can use to compile the library, and Iām not set up to cross compile for that platform.
Soā¦ Is someone with an RPi2 Model B willing to compile the library for me? If so, please PM me and Iāll walk you through it. If your RPi2 is set up with the C-language dev tools, itās should be very easy to build the library.