openHAB 2.2 binding
-
@jocke4u The request needs to be handled with rules because it is not allowed to access the value of an item via the binding API :smirk:.
Please post the request (from the OpenHAB log, enable DEBUG with log:set DEBUG org.openhab.binding.mysensors if not already done in the karaf console) and we'll figure out the rule.
@timo regarding the issue with the pulse power node, the same as @jocke4u. I'm using a version of the same sketch and also the latest snapshot jar.
This is the feedback in my openhab.log while looking att the debug level messages from the binding.
15:59:15.829 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined 15:59:15.834 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24; 15:59:15.839 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gateway 15:59:15.844 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 50 15:59:15.849 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined 15:59:15.854 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24; 15:59:15.859 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gateway 15:59:15.864 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 50 15:59:15.869 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined 15:59:15.874 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24; 15:59:15.879 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gatewayAs you can see the messages are quite frequent making it quite tedious for me to extract the relevant log messages. I'm no expert in browsing and searching text files from the command line.
I guess because I'm using a version of the standard sketch my node does not wait for a response to the request before starting to count. I'm not sure how the node can neglect the response. Anyhow I restarted my node and now it tried to SET a new count instead.
2018-01-10 16:26:22.341 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150 2018-01-10 16:26:22.571 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150 2018-01-10 16:26:22.791 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150 2018-01-10 16:26:23.011 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150 2018-01-10 16:26:23.230 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150Hopefully this is useful feedback.
-
@jocke4u The request needs to be handled with rules because it is not allowed to access the value of an item via the binding API :smirk:.
Please post the request (from the OpenHAB log, enable DEBUG with log:set DEBUG org.openhab.binding.mysensors if not already done in the karaf console) and we'll figure out the rule.
Hi @timo ,
Here is the log when restarting the sensor:
17:27:58.562 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;255;0;0;17;2.1.1 17:27:58.573 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Presentation Message received 17:27:58.583 [WARN ] [ors.internal.gateway.MySensorsGateway] - Presented child is alredy present in gateway 17:27:58.593 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;255;3;0;6;0 17:27:58.603 [DEBUG] [ors.internal.gateway.MySensorsGateway] - I_CONFIG request received from M, answering: (is imperial?)false 17:27:58.614 [DEBUG] [orsAbstractConnection$MySensorsWriter] - Sending to MySensors: 5;255;3;0;6;M 17:27:58.674 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;255;3;0;11;Heater Energy 17:27:58.682 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;255;3;0;12;2.0 17:27:58.690 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;0;0;0;13; 17:27:58.698 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Presentation Message received 17:27:58.705 [WARN ] [ors.internal.gateway.MySensorsGateway] - Presented child is alredy present in gateway 17:27:58.719 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 5;0;2;0;24; 17:27:58.727 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 5 found in gateway 17:27:58.735 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 0 found in node 5 17:27:58.743 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined -
@timo regarding the issue with the pulse power node, the same as @jocke4u. I'm using a version of the same sketch and also the latest snapshot jar.
This is the feedback in my openhab.log while looking att the debug level messages from the binding.
15:59:15.829 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined 15:59:15.834 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24; 15:59:15.839 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gateway 15:59:15.844 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 50 15:59:15.849 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined 15:59:15.854 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24; 15:59:15.859 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gateway 15:59:15.864 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Child 1 found in node 50 15:59:15.869 [WARN ] [ors.internal.gateway.MySensorsGateway] - Request received, but variable state is not yet defined 15:59:15.874 [DEBUG] [orsAbstractConnection$MySensorsReader] - Message from gateway received: 50;1;2;0;24; 15:59:15.879 [DEBUG] [ors.internal.gateway.MySensorsGateway] - Node 50 found in gatewayAs you can see the messages are quite frequent making it quite tedious for me to extract the relevant log messages. I'm no expert in browsing and searching text files from the command line.
I guess because I'm using a version of the standard sketch my node does not wait for a response to the request before starting to count. I'm not sure how the node can neglect the response. Anyhow I restarted my node and now it tried to SET a new count instead.
2018-01-10 16:26:22.341 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150 2018-01-10 16:26:22.571 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150 2018-01-10 16:26:22.791 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150 2018-01-10 16:26:23.011 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150 2018-01-10 16:26:23.230 [DEBUG] [rsAbstractConnection$MySensorsWriter] - Sending to MySensors: 50;1;1;0;24;150Hopefully this is useful feedback.
-
@jocke4u & @NickBuilder :
Thank you! This will help me to find a solution. For reference, here is the corresponding issue on github: https://github.com/tobof/openhab2-addons/issues/69
-
@jocke4u & @NickBuilder :
Thank you! This will help me to find a solution. For reference, here is the corresponding issue on github: https://github.com/tobof/openhab2-addons/issues/69
-
@timo Ok, so there is a plan to solve it in a better way than using rules?
Do you have any guidance of using rules until then? -
@TimO Today I decided to finally read into how Openhab binding development works. And just when I started I saw that you finally fixed some of the problems that I reported via github (thank you very much for that). Had to laugh a little at that coincidence :rolling_on_the_floor_laughing:
I just started a pullrequest where I tried to implement pure white colors for RGBW values fixing one of my problems left open. If you find the time please have a look at it. I did not yet write any tests for it or test it on my actual RGBW nodes but I will do that as soon as possible
-
[Solved] I've solved the issue by changing docker base image. The issue described here - https://github.com/openhab/openhab-docker/issues/144
I'll keep the details for others:
@TimO, thanks for the great openhab binding. I've used it on openhab 2.0 and it works just great. Now I have totally fresh openhab 2.2 setup and cannot make mysensors binding working. I've tried many things but with no luck. Can you point me into direction how to fix that?
The gateway works as expected:
root@machine:/home/kwull# cat /dev/ttyUSB0 0;1;1;0;0;22.3 0;0;1;0;1;23.0 0;255;3;0;14;Gateway startup complete. 0;255;0;0;18;2.1.1 0;255;3;0;11;Garage Gateway 0;255;3;0;12;1.0 0;0;0;0;7; 0;1;0;0;6; 0;1;1;0;0;23.1 0;0;1;0;1;22.1Bindings:
25 │ Active │ 80 │ 3.12.0.OH │ nrjavaserial 210 │ Active │ 80 │ 1.0.2 │ Paho MQTT Client 211 │ Active │ 80 │ 0.10.0.b1 │ Eclipse SmartHome MQTT Transport Bundle 214 │ Active │ 80 │ 2.3.0.201801160936 │ MySensors Bindingopenhab.log:
2018-01-21 17:18:33.696 [DEBUG] [nsors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge 2018-01-21 17:18:33.703 [DEBUG] [ensors.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist. 2018-01-21 17:18:33.704 [DEBUG] [ensors.factory.MySensorsCacheFactory] - Cache (given_ids) content: [] 2018-01-21 17:18:33.710 [DEBUG] [col.serial.MySensorsSerialConnection] - Enabling connection watchdog 2018-01-21 17:18:33.712 [DEBUG] [col.serial.MySensorsSerialConnection] - Connecting to /dev/ttyUSB0 [baudRate:115200] 2018-01-21 17:18:33.715 [DEBUG] [org.openhab.binding.mysensors ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=325, service.bundleid=214, service.scope=singleton} - org.openhab.binding.mysensors 2018-01-21 17:18:33.716 [DEBUG] [.discovery.MySensorsDiscoveryService] - Starting MySensors discovery scan 2018-01-21 17:18:33.716 [DEBUG] [nsors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE! 2018-01-21 17:18:36.027 [WARN ] [org.jline ] - Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)Exception log:
Current thread (0x000055797e792800): JavaThread "org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection" [_thread_in_native, id=641, stack(0x00007f12eb309000,0x00007f12eb409aa8)] siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000000000037a6 Registers: RAX=0x0000000000000000, RBX=0x00007f12e7403940, RCX=0x00007f13197e3f04, RDX=0x00007f131934828c RSP=0x00007f12eb407d48, RBP=0x0000000000000001, RSI=0x0000000000000900, RDI=0x000055797ccb99a0 R8 =0x000055797ccb99ac, R9 =0x000055797ccb99a0, R10=0x00000006d600e9d0, R11=0x0000000000000206 R12=0x000055797ccb99a0, R13=0x000055797e7929e0, R14=0x00007f12eb407ec8, R15=0x0000000000000082 RIP=0x00000000000037a6, EFLAGS=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000014 TRAPNO=0x000000000000000e Top of Stack: (sp=0x00007f12eb407d48) 0x00007f12eb407d48: 00007f12e64e0965 00007f12eb407de8 0x00007f12eb407d58: 00007f1300000001 00007f12e7403940 0x00007f12eb407d68: 000055797e792800 00007f12e7403940 0x00007f12eb407d78: d85a256e98c0817f 00007f12eb407de8 0x00007f12eb407d88: 00007f1318b46afc 00007f12eb407de8 0x00007f12eb407d98: 00007f12eb407dc8 00007f12eb407de8 0x00007f12eb407da8: 00007f1318b46b68 000055797e792800 0x00007f12eb407db8: 00007f1318c99928 0000557981a9a5f0 0x00007f12eb407dc8: 000055797e792800 000055797e792800 0x00007f12eb407dd8: 00007f12e7403940 000055797e792800 0x00007f12eb407de8: 00007f12e7403940 000055797e792800 0x00007f12eb407df8: d85a256e98c0817f 00007f12e7403940 0x00007f12eb407e08: 00007f12e7403940 00007f12eb407ea0 0x00007f12eb407e18: 0000000000000000 00007f12e7403940 0x00007f12eb407e28: 00007f12eb407ed0 000055797e792800 0x00007f12eb407e38: 00007f1308ccd7f4 00007f12eb407ea0 0x00007f12eb407e48: 00007f1308ccd579 fffffffe00000000 0x00007f12eb407e58: 00007f1308ccd542 00007f12eb407e60 0x00007f12eb407e68: 00007f12e7403940 00007f12eb407ed0 0x00007f12eb407e78: 00007f12e7405c28 0000000000000000 0x00007f12eb407e88: 00007f12e7403940 0000000000000000 0x00007f12eb407e98: 00007f12eb407ec0 00007f12eb407f18 0x00007f12eb407ea8: 00007f1308cbd7d0 0000000000000000 0x00007f12eb407eb8: 00007f1308cc7260 0000000000000001 0x00007f12eb407ec8: 00000006d600e9a8 00000006d600b490 0x00007f12eb407ed8: 00007f12eb407ed8 00007f12e7404122 0x00007f12eb407ee8: 00007f12eb407f98 00007f12e7405c28 0x00007f12eb407ef8: 0000000000000000 00007f12e7404270 0x00007f12eb407f08: 00007f12eb407ec0 00007f12eb407f80 0x00007f12eb407f18: 00007f12eb407fe0 00007f1308cbdffd 0x00007f12eb407f28: 0000000000000000 0000000000000000 0x00007f12eb407f38: 0000000000000000 00000006d600e9a8 Instructions: (pc=0x00000000000037a6) 0x0000000000003786: [error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb] Register to memory mapping: RAX=0x0000000000000000 is an unknown value RBX={method} {0x00007f12e7403940} 'testRead' '(Ljava/lang/String;I)Z' in 'gnu/io/RXTXCommDriver' RCX=0x00007f13197e3f04: getpid+0x7 in /lib/ld-musl-x86_64.so.1 at 0x00007f131978d000 RDX=0x00007f131934828c: gHotSpotVMStructs+0x218f4 in /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server/libjvm.so at 0x00007f1318861000 RSP=0x00007f12eb407d48 is pointing into the stack for thread: 0x000055797e792800 RBP=0x0000000000000001 is an unknown value RSI=0x0000000000000900 is an unknown value RDI=0x000055797ccb99a0 is an unknown value R8 =0x000055797ccb99ac is an unknown value R9 =0x000055797ccb99a0 is an unknown value R10=0x00000006d600e9d0 is pointing into object: 0x00000006d600e9c0 [C - klass: {type array char} - length: 12 R11=0x0000000000000206 is an unknown value R12=0x000055797ccb99a0 is an unknown value R13=0x000055797e7929e0 is an unknown value R14=0x00007f12eb407ec8 is pointing into the stack for thread: 0x000055797e792800 R15=0x0000000000000082 is an unknown value Stack: [0x00007f12eb309000,0x00007f12eb409aa8], sp=0x00007f12eb407d48, free space=1019k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C 0x00000000000037a6 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j gnu.io.RXTXCommDriver.testRead(Ljava/lang/String;I)Z+0 j gnu.io.RXTXCommDriver.registerValidPorts([Ljava/lang/String;[Ljava/lang/String;I)V+202 j gnu.io.RXTXCommDriver.registerScannedPorts(I)V+1466 j gnu.io.RXTXCommDriver.initialize()V+35 j gnu.io.CommPortIdentifier.getPortIdentifiers()Ljava/util/Enumeration;+53 j gnu.io.NativeResource.testNativeCode()V+0 j gnu.io.NativeResource.inJarLoad(Ljava/lang/String;)V+37 j gnu.io.NativeResource.loadLib(Ljava/lang/String;)V+54 j gnu.io.NativeResource.load(Ljava/lang/String;)V+138 j gnu.io.SerialManager.<init>()V+23 j gnu.io.SerialManager.getInstance()Lgnu/io/SerialManager;+10 j gnu.io.RXTXCommDriver.<clinit>()V+39 v ~StubRoutines::call_stub J 1368 java.lang.Class.forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class; (0 bytes) @ 0x00007f1309151eba [0x00007f1309151e40+0x7a] J 3010 C1 java.lang.Class.forName(Ljava/lang/String;)Ljava/lang/Class; (15 bytes) @ 0x00007f13096ee94c [0x00007f13096ee7a0+0x1ac] j gnu.io.CommPortIdentifier.<clinit>()V+12 v ~StubRoutines::call_stub j org.openhab.binding.mysensors.internal.protocol.serial.MySensorsSerialConnection.establishConnection()Z+32 j org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection.connect()Z+2 j org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection.run()V+46 J 10253 C2 java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object; (14 bytes) @ 0x00007f1309884cac [0x00007f1309884c60+0x4c] J 9236 C1 java.util.concurrent.FutureTask.runAndReset()Z (128 bytes) @ 0x00007f130a4cd17c [0x00007f130a4ccf00+0x27c] J 9408 C1 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run()V (59 bytes) @ 0x00007f130a57bb8c [0x00007f130a57b600+0x58c] J 8894 C1 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (225 bytes) @ 0x00007f130a3b8e3c [0x00007f130a3b7e00+0x103c] j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 J 11172 C1 java.lang.Thread.run()V (17 bytes) @ 0x00007f1308f58584 [0x00007f1308f58440+0x144] v ~StubRoutines::call_stubAdditional logs:
2018-01-08 20:55:18.426 [ERROR] [org.openhab.binding.mysensors ] - [org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService(195)] Error during instantiation of the implementation object java.lang.InstantiationException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService at java.lang.Class.newInstance(Class.java:427) ~[?:?] at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:237) ~[?:?] at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109) ~[?:?] at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906) ~[?:?] at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879) ~[?:?] at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) ~[?:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?] at com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?] at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) ~[?:?] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) ~[?:?] at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) ~[?:?] at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) ~[?:?] at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) ~[?:?] at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) ~[?:?] at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) ~[?:?] at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) ~[?:?] at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) ~[?:?] at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) ~[?:?] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) ~[?:?] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) ~[?:?] at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?] at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?] at org.eclipse.smarthome.extensionservice.marketplace.internal.BindingExtensionHandler.install(BindingExtensionHandler.java:82) ~[?:?] at org.eclipse.smarthome.extensionservice.marketplace.internal.MarketplaceExtensionService.install(MarketplaceExtensionService.java:222) ~[?:?] at org.eclipse.smarthome.io.rest.core.internal.extensions.ExtensionResource.lambda$0(ExtensionResource.java:157) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?] 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) [?:?] Caused by: java.lang.NoSuchMethodException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService.<init>() at java.lang.Class.getConstructor0(Class.java:3082) ~[?:?] at java.lang.Class.newInstance(Class.java:412) ~[?:?] ... 65 more 2018-01-08 20:55:18.450 [WARN ] [org.openhab.binding.mysensors ] - FrameworkEvent WARNING - org.openhab.binding.mysensors org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:232) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?] at com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?] at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) ~[?:?] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) ~[?:?] at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) ~[?:?] at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) ~[?:?] at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) ~[?:?] at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) ~[?:?] at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) ~[?:?] at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) ~[?:?] at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) ~[?:?] at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) ~[?:?] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) ~[?:?] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) ~[?:?] at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?] at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?] at org.eclipse.smarthome.extensionservice.marketplace.internal.BindingExtensionHandler.install(BindingExtensionHandler.java:82) ~[?:?] at org.eclipse.smarthome.extensionservice.marketplace.internal.MarketplaceExtensionService.install(MarketplaceExtensionService.java:222) ~[?:?] at org.eclipse.smarthome.io.rest.core.internal.extensions.ExtensionResource.lambda$0(ExtensionResource.java:157) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?] 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) [?:?]Any ideas where to look?
-
[Solved] I've solved the issue by changing docker base image. The issue described here - https://github.com/openhab/openhab-docker/issues/144
I'll keep the details for others:
@TimO, thanks for the great openhab binding. I've used it on openhab 2.0 and it works just great. Now I have totally fresh openhab 2.2 setup and cannot make mysensors binding working. I've tried many things but with no luck. Can you point me into direction how to fix that?
The gateway works as expected:
root@machine:/home/kwull# cat /dev/ttyUSB0 0;1;1;0;0;22.3 0;0;1;0;1;23.0 0;255;3;0;14;Gateway startup complete. 0;255;0;0;18;2.1.1 0;255;3;0;11;Garage Gateway 0;255;3;0;12;1.0 0;0;0;0;7; 0;1;0;0;6; 0;1;1;0;0;23.1 0;0;1;0;1;22.1Bindings:
25 │ Active │ 80 │ 3.12.0.OH │ nrjavaserial 210 │ Active │ 80 │ 1.0.2 │ Paho MQTT Client 211 │ Active │ 80 │ 0.10.0.b1 │ Eclipse SmartHome MQTT Transport Bundle 214 │ Active │ 80 │ 2.3.0.201801160936 │ MySensors Bindingopenhab.log:
2018-01-21 17:18:33.696 [DEBUG] [nsors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge 2018-01-21 17:18:33.703 [DEBUG] [ensors.factory.MySensorsCacheFactory] - Cache file: given_ids.cached exist. 2018-01-21 17:18:33.704 [DEBUG] [ensors.factory.MySensorsCacheFactory] - Cache (given_ids) content: [] 2018-01-21 17:18:33.710 [DEBUG] [col.serial.MySensorsSerialConnection] - Enabling connection watchdog 2018-01-21 17:18:33.712 [DEBUG] [col.serial.MySensorsSerialConnection] - Connecting to /dev/ttyUSB0 [baudRate:115200] 2018-01-21 17:18:33.715 [DEBUG] [org.openhab.binding.mysensors ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.config.discovery.DiscoveryService}={service.id=325, service.bundleid=214, service.scope=singleton} - org.openhab.binding.mysensors 2018-01-21 17:18:33.716 [DEBUG] [.discovery.MySensorsDiscoveryService] - Starting MySensors discovery scan 2018-01-21 17:18:33.716 [DEBUG] [nsors.handler.MySensorsBridgeHandler] - Initialization of the MySensors bridge DONE! 2018-01-21 17:18:36.027 [WARN ] [org.jline ] - Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)Exception log:
Current thread (0x000055797e792800): JavaThread "org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection" [_thread_in_native, id=641, stack(0x00007f12eb309000,0x00007f12eb409aa8)] siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000000000037a6 Registers: RAX=0x0000000000000000, RBX=0x00007f12e7403940, RCX=0x00007f13197e3f04, RDX=0x00007f131934828c RSP=0x00007f12eb407d48, RBP=0x0000000000000001, RSI=0x0000000000000900, RDI=0x000055797ccb99a0 R8 =0x000055797ccb99ac, R9 =0x000055797ccb99a0, R10=0x00000006d600e9d0, R11=0x0000000000000206 R12=0x000055797ccb99a0, R13=0x000055797e7929e0, R14=0x00007f12eb407ec8, R15=0x0000000000000082 RIP=0x00000000000037a6, EFLAGS=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000014 TRAPNO=0x000000000000000e Top of Stack: (sp=0x00007f12eb407d48) 0x00007f12eb407d48: 00007f12e64e0965 00007f12eb407de8 0x00007f12eb407d58: 00007f1300000001 00007f12e7403940 0x00007f12eb407d68: 000055797e792800 00007f12e7403940 0x00007f12eb407d78: d85a256e98c0817f 00007f12eb407de8 0x00007f12eb407d88: 00007f1318b46afc 00007f12eb407de8 0x00007f12eb407d98: 00007f12eb407dc8 00007f12eb407de8 0x00007f12eb407da8: 00007f1318b46b68 000055797e792800 0x00007f12eb407db8: 00007f1318c99928 0000557981a9a5f0 0x00007f12eb407dc8: 000055797e792800 000055797e792800 0x00007f12eb407dd8: 00007f12e7403940 000055797e792800 0x00007f12eb407de8: 00007f12e7403940 000055797e792800 0x00007f12eb407df8: d85a256e98c0817f 00007f12e7403940 0x00007f12eb407e08: 00007f12e7403940 00007f12eb407ea0 0x00007f12eb407e18: 0000000000000000 00007f12e7403940 0x00007f12eb407e28: 00007f12eb407ed0 000055797e792800 0x00007f12eb407e38: 00007f1308ccd7f4 00007f12eb407ea0 0x00007f12eb407e48: 00007f1308ccd579 fffffffe00000000 0x00007f12eb407e58: 00007f1308ccd542 00007f12eb407e60 0x00007f12eb407e68: 00007f12e7403940 00007f12eb407ed0 0x00007f12eb407e78: 00007f12e7405c28 0000000000000000 0x00007f12eb407e88: 00007f12e7403940 0000000000000000 0x00007f12eb407e98: 00007f12eb407ec0 00007f12eb407f18 0x00007f12eb407ea8: 00007f1308cbd7d0 0000000000000000 0x00007f12eb407eb8: 00007f1308cc7260 0000000000000001 0x00007f12eb407ec8: 00000006d600e9a8 00000006d600b490 0x00007f12eb407ed8: 00007f12eb407ed8 00007f12e7404122 0x00007f12eb407ee8: 00007f12eb407f98 00007f12e7405c28 0x00007f12eb407ef8: 0000000000000000 00007f12e7404270 0x00007f12eb407f08: 00007f12eb407ec0 00007f12eb407f80 0x00007f12eb407f18: 00007f12eb407fe0 00007f1308cbdffd 0x00007f12eb407f28: 0000000000000000 0000000000000000 0x00007f12eb407f38: 0000000000000000 00000006d600e9a8 Instructions: (pc=0x00000000000037a6) 0x0000000000003786: [error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb] Register to memory mapping: RAX=0x0000000000000000 is an unknown value RBX={method} {0x00007f12e7403940} 'testRead' '(Ljava/lang/String;I)Z' in 'gnu/io/RXTXCommDriver' RCX=0x00007f13197e3f04: getpid+0x7 in /lib/ld-musl-x86_64.so.1 at 0x00007f131978d000 RDX=0x00007f131934828c: gHotSpotVMStructs+0x218f4 in /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server/libjvm.so at 0x00007f1318861000 RSP=0x00007f12eb407d48 is pointing into the stack for thread: 0x000055797e792800 RBP=0x0000000000000001 is an unknown value RSI=0x0000000000000900 is an unknown value RDI=0x000055797ccb99a0 is an unknown value R8 =0x000055797ccb99ac is an unknown value R9 =0x000055797ccb99a0 is an unknown value R10=0x00000006d600e9d0 is pointing into object: 0x00000006d600e9c0 [C - klass: {type array char} - length: 12 R11=0x0000000000000206 is an unknown value R12=0x000055797ccb99a0 is an unknown value R13=0x000055797e7929e0 is an unknown value R14=0x00007f12eb407ec8 is pointing into the stack for thread: 0x000055797e792800 R15=0x0000000000000082 is an unknown value Stack: [0x00007f12eb309000,0x00007f12eb409aa8], sp=0x00007f12eb407d48, free space=1019k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C 0x00000000000037a6 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j gnu.io.RXTXCommDriver.testRead(Ljava/lang/String;I)Z+0 j gnu.io.RXTXCommDriver.registerValidPorts([Ljava/lang/String;[Ljava/lang/String;I)V+202 j gnu.io.RXTXCommDriver.registerScannedPorts(I)V+1466 j gnu.io.RXTXCommDriver.initialize()V+35 j gnu.io.CommPortIdentifier.getPortIdentifiers()Ljava/util/Enumeration;+53 j gnu.io.NativeResource.testNativeCode()V+0 j gnu.io.NativeResource.inJarLoad(Ljava/lang/String;)V+37 j gnu.io.NativeResource.loadLib(Ljava/lang/String;)V+54 j gnu.io.NativeResource.load(Ljava/lang/String;)V+138 j gnu.io.SerialManager.<init>()V+23 j gnu.io.SerialManager.getInstance()Lgnu/io/SerialManager;+10 j gnu.io.RXTXCommDriver.<clinit>()V+39 v ~StubRoutines::call_stub J 1368 java.lang.Class.forName0(Ljava/lang/String;ZLjava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class; (0 bytes) @ 0x00007f1309151eba [0x00007f1309151e40+0x7a] J 3010 C1 java.lang.Class.forName(Ljava/lang/String;)Ljava/lang/Class; (15 bytes) @ 0x00007f13096ee94c [0x00007f13096ee7a0+0x1ac] j gnu.io.CommPortIdentifier.<clinit>()V+12 v ~StubRoutines::call_stub j org.openhab.binding.mysensors.internal.protocol.serial.MySensorsSerialConnection.establishConnection()Z+32 j org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection.connect()Z+2 j org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection.run()V+46 J 10253 C2 java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object; (14 bytes) @ 0x00007f1309884cac [0x00007f1309884c60+0x4c] J 9236 C1 java.util.concurrent.FutureTask.runAndReset()Z (128 bytes) @ 0x00007f130a4cd17c [0x00007f130a4ccf00+0x27c] J 9408 C1 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run()V (59 bytes) @ 0x00007f130a57bb8c [0x00007f130a57b600+0x58c] J 8894 C1 java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (225 bytes) @ 0x00007f130a3b8e3c [0x00007f130a3b7e00+0x103c] j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 J 11172 C1 java.lang.Thread.run()V (17 bytes) @ 0x00007f1308f58584 [0x00007f1308f58440+0x144] v ~StubRoutines::call_stubAdditional logs:
2018-01-08 20:55:18.426 [ERROR] [org.openhab.binding.mysensors ] - [org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService(195)] Error during instantiation of the implementation object java.lang.InstantiationException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService at java.lang.Class.newInstance(Class.java:427) ~[?:?] at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:237) ~[?:?] at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:109) ~[?:?] at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:906) ~[?:?] at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:879) ~[?:?] at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:823) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse$1.run(ServiceFactoryUse.java:212) ~[?:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?] at com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?] at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) ~[?:?] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) ~[?:?] at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) ~[?:?] at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) ~[?:?] at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) ~[?:?] at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) ~[?:?] at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) ~[?:?] at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) ~[?:?] at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) ~[?:?] at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) ~[?:?] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) ~[?:?] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) ~[?:?] at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?] at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?] at org.eclipse.smarthome.extensionservice.marketplace.internal.BindingExtensionHandler.install(BindingExtensionHandler.java:82) ~[?:?] at org.eclipse.smarthome.extensionservice.marketplace.internal.MarketplaceExtensionService.install(MarketplaceExtensionService.java:222) ~[?:?] at org.eclipse.smarthome.io.rest.core.internal.extensions.ExtensionResource.lambda$0(ExtensionResource.java:157) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?] 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) [?:?] Caused by: java.lang.NoSuchMethodException: org.openhab.binding.mysensors.discovery.MySensorsDiscoveryService.<init>() at java.lang.Class.getConstructor0(Class.java:3082) ~[?:?] at java.lang.Class.newInstance(Class.java:412) ~[?:?] ... 65 more 2018-01-08 20:55:18.450 [WARN ] [org.openhab.binding.mysensors ] - FrameworkEvent WARNING - org.openhab.binding.mysensors org.osgi.framework.ServiceException: org.apache.felix.scr.impl.manager.SingleComponentManager.getService() returned a null service object at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:232) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceFactoryUse.getService(ServiceFactoryUse.java:111) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceConsumer$2.getService(ServiceConsumer.java:45) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:496) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:461) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.getService(BundleContextImpl.java:619) ~[?:?] at com.eclipsesource.jaxrs.publisher.internal.ResourceTracker.addingService(ResourceTracker.java:39) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?] at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?] at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:915) ~[?:?] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:862) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:801) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127) ~[?:?] at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:225) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:464) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:887) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:874) ~[?:?] at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:132) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:941) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:741) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:675) ~[?:?] at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:430) ~[?:?] at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:657) ~[?:?] at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:341) ~[?:?] at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:390) ~[?:?] at org.apache.felix.scr.impl.Activator.access$200(Activator.java:54) ~[?:?] at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:265) ~[?:?] at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:254) ~[?:?] at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:227) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) ~[?:?] at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) ~[?:?] at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) ~[?:?] at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:903) ~[?:?] at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) ~[?:?] at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:213) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:120) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:112) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:156) ~[?:?] at org.eclipse.osgi.container.Module.publishEvent(Module.java:476) ~[?:?] at org.eclipse.osgi.container.Module.start(Module.java:467) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?] at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?] at org.eclipse.smarthome.extensionservice.marketplace.internal.BindingExtensionHandler.install(BindingExtensionHandler.java:82) ~[?:?] at org.eclipse.smarthome.extensionservice.marketplace.internal.MarketplaceExtensionService.install(MarketplaceExtensionService.java:222) ~[?:?] at org.eclipse.smarthome.io.rest.core.internal.extensions.ExtensionResource.lambda$0(ExtensionResource.java:157) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?] 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) [?:?]Any ideas where to look?
-
Hi, I'd like to use the expert mode for viewing the raw messages from the serial gateway.
I've created a new thing and item
Thing:mySensorsMessage mySMsg01 [ nodeId=999, childId=999 ]Item:
String mySMsg01 "MySensorsMessage" { channel="mysensors:mySensorsMessage:gateway:mySMsg01:mySensorsMessage" }unfortunately i get no item state :
openhab> smarthome:items list my*
mySMsg01 (Type=StringItem, State=NULL, Label=MySensorsMessage, Category=null)did I do something wrong here?
-
ok, it works after updating to snapshot 2.3
btw: 2.3 requeres esh-io-transport-mqtt
Intallation in karaf console:
feature:install esh-io-transport-mqtt -
@TimO I saw that you fixed some other bugs too in the repo. Will you create a new version 2.3 of the binding soon? Or will there be more changes first?
As most of the changes (at least also) concern RGBW lighting I would really like to use it but I can't seem to build the binding locally (I postet the error in the git pr). -
@timo Ok, so there is a plan to solve it in a better way than using rules?
Do you have any guidance of using rules until then?@jocke4u, I really want my power node to work so I was going to try to make my own rule based on the "expert" strategy and the 999 node/child.
But first I tried an even simpler approach, I added a var1-item from the power thing and now I have communication between node and gateway. Please give it a try yourself and see if it works for you.
More specifically I defined the following item:
Number PulseVar "Var1 [%d]" { channel="mysensors:power:gateway:pulseThing:var1" }Be sure to also persist the item. I store it in a mapdb dataset:
PulseVar : strategy = everyChange, restoreOnStartupFYI, my thing is defined as follows:
power pulseThing [ nodeId=50, childId=1 ]Please give it a try and come back with the outcome.
EDIT: this feels like a too simple fix, I suspect that @TimO has made some changes in the 2.3 snapshot...
-
Hi there!
Maybe someone would like to help me a bit?
I'm on openHAB 2.2 with mysensors binding 2.3.0.201801160936. I'm using a serial gateway that I reflashed today using MySensors 2.2.0 library. I have turned off debugging in the sketch.
The problem is that I encounter an exception each time OH starts up.
2018-02-11 11:05:59.342 [WARN ] [rsAbstractConnection$MySensorsReader] - Exception on reading from connection java.io.IOException: Underlying input stream returned zero bytes at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:288) [?:?] at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) [?:?] at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) [?:?] at java.io.InputStreamReader.read(InputStreamReader.java:184) [?:?] at java.io.BufferedReader.fill(BufferedReader.java:161) [?:?] at java.io.BufferedReader.readLine(BufferedReader.java:324) [?:?] at java.io.BufferedReader.readLine(BufferedReader.java:389) [?:?] at org.openhab.binding.mysensors.internal.protocol.MySensorsAbstractConnection$MySensorsReader.run(MySensorsAbstractConnection.java:328) [255:org.openhab.binding.mysensors:2.3.0.201801160936] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?] 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) [?:?]Thing config:
Bridge mysensors:bridge-ser:gateway [ serialPort="/dev/ttyUSBmys", baudRate=115200, sendDelay=200, startupCheckEnabled=false ]Everything seems to work otherwise. The problem is that the warning draws my attention every time and of course I need to check if it's something serious that I'd need to act upon. I'd rather see that I get no exceptions/warnings in case the "problem" can be ignored.
My question to you guys is if there is anything that I can do about it? Thanks for your kind help.
Cheers!
-
@TimO I finally got around to testing my pureWhite RGBW code and at least for me its working like it should be. I saw you already merged this so I guess others can use it too very soon.
What is still not working is the acknowledgment feature. I have one node that only gets about 90% of the messages without error, so I tried activating it there and on some other nodes too for testing. Result: success rate is down to ~50% for each node and I get messages about some acknowledgment on the console when no message has even been sent (nothing about a message from mysensors on the console and no rx/tx leds on the gateway). When I tested this some months ago I also saw no message at the client so I am pretty sure none gets send.
So I guess this issue is still unresolved ;) I have no clue why on a first glance but if I can help just send me a message. -
Hello, I try to start using OpenHab as a controller and
need some help, regarding mysensors binding 2.3.0. I get the bindings installed, but in bundle:list it's just installed and i don't get it Active.All other instruction for installation are done.
Did feature:install openhab-transport-serial and feature:install esh-io-transport-mqtt and and "nrjavaserial" is Active.But mysensor binding just installed. How can I get it ACTIVE?
Thank you for your help.
-
Do you still have an older version of Mysensors installed? Thats the only time I had such behaviour
-
Hello,
I've been using the binding for a while now!
must say that i still have some problems with auto discovery, but manually adding the sensors work fine!I encountered a bug in 1 for the components.
The GAS meter should contain a variable for V_VOLUME but in the logs i'm getting errors that the variable does not exist.
i searched in the code and found out the the class for SGAS is not containing the V_VOLUME variable.
file: MySensorsChildSGas.java
github link: https://github.com/tobof/openhab2-addons/blob/MySensors_Binding/addons/binding/org.openhab.binding.mysensors/src/main/java/org/openhab/binding/mysensors/internal/sensors/child/MySensorsChildSGas.javaas by: https://www.mysensors.org/download/serial_api_20#sensor-types SGAS should also include a V_VOLUME variable as wel as a V_FLOW
For now i adjusted my sensor to use one of the custom var fields. but it would be nice to use the V_VOLUME variable for this.
-
I have a general question that I can't seem to find an answer to either here, in the openhab docs, or anywhere googling between the two.
On a Raspberry Pi 3 running openhabian 1.4 (stretch 9.4)
running openhab 2.2
Mosquitto 1.4.10
mysgw 2.2.0 (MQTT)And an arduino pro mini 3.3v test sensor node running the door/button sketch at version 2.2.0 also.
The sensor node can communicate over rf24 just fine and the broker receives and sends messages to it without issue.
My question is this: Does this openhab 2.2 mysensors binding replace or work in concert with the original openhab 2.2 PaperUI-installed MQTT binding? And same for the MySensors MQTT Gateway that's part of the Mysensors binding and mysgw?
I ask because when I follow the installation instructions from the github wiki and start everything up, I get a persistence in use error in org.eclipse.smarthome.io.transport.mqtt.MqttService. And it appears that my original broker is running fine, which suggests I'm trying to run two brokers and they're uninterested in cooperating.
The installation instructions I've seen (a couple places) say to use mqtt.cfg and org.eclipse.smarthome.mqtt.cfg with the same settings.
Hoping the answer is a simple, "stop mysgw and just run the paperUI MQTT Gateway" or the like.
Thanks!