Latest zwave 2.1 SNAPSHOT problem (April 3 2017)

@chris

I am having trouble with the latest 2.1 SNAPSHOT. The last one I have that works is 31st March.

I cloned your repository and built it. It gave me a few warnings, - like this:

[WARNING] The effective compiler target level 1.8 is incompatible with the following OSGi execution environments: [JavaSE-1.7 (assumes 1.7)] 

but built Successfully. Running it however throws NPE’s (it kind of works, but throws NPE’s every so often). OK I figured I had something wrong in my set up, I’m using Maven to build, not the IDE.

There hasn’t been a latest build on Cloudbees for a few days (looks like the whole build failed), but today, there was a new zwave binding, so I pulled it - and it does the same thing as my local build.

Is something currently broken? should I give up playing with it until it’s stable again?

Thanks,

It looks like you need to upgrade your Java version - the error states you have Java 7, and it requires Java 8.

I tried both, I have both installed. Still doesn’t explain why the latest snapshot from Cloudbees doesn’t work either…

Ok - I’m not sure then. All I can say is that’s what the error means so you should use Java 8 based on this.

Chris,

Seems it’s the other way round, in your META-INF/MANIFEST.MF the required JRE is Bundle-RequiredExecutionEnvironment: JavaSE-1.7 and I’m using 1.8. Changing this to Bundle-RequiredExecutionEnvironment: JavaSE-1.8 gets rid of the warning, but that doesn’t make any difference, still lots of NPE’s

2017-04-03 17:20:19.185 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0B 00 04 00 1F 05 31 05 05 01 28 F2
2017-04-03 17:20:19.185 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-04-03 17:20:19.185 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0B 00 04 00 1F 05 31 05 05 01 28 F2
2017-04-03 17:20:19.185 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 1F 05 31 05 05 01 28 F2
2017-04-03 17:20:19.185 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 1F 05 31 05 05 01 28
2017-04-03 17:20:19.185 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 31: Application Command Request (INITIALIZING:INIT_NEIGHBORS)
2017-04-03 17:20:19.185 [ERROR] [ve.internal.protocol.ZWaveController] - Exception during ZWave thread: Input 2. {}
java.lang.NullPointerException
        at org.openhab.binding.zwave.internal.protocol.ZWaveNode.setNodeState(ZWaveNode.java:235)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:46)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:248)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:214)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:208)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveInputThread.run(ZWaveController.java:1324)[241:org.openhab.binding.zwave:2.1.0.201704032113]
2017-04-03 17:20:19.965 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 09 00 04 00 1F 03 80 03 64 09
2017-04-03 17:20:19.965 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-04-03 17:20:19.965 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 09 00 04 00 1F 03 80 03 64 09
2017-04-03 17:20:19.965 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 09 00 04 00 1F 03 80 03 64 09
2017-04-03 17:20:19.965 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 1F 03 80 03 64
2017-04-03 17:20:19.966 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 31: Application Command Request (INITIALIZING:INIT_NEIGHBORS)
2017-04-03 17:20:19.966 [ERROR] [ve.internal.protocol.ZWaveController] - Exception during ZWave thread: Input 2. {}
java.lang.NullPointerException
        at org.openhab.binding.zwave.internal.protocol.ZWaveNode.setNodeState(ZWaveNode.java:235)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:46)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:248)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:214)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:208)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveInputThread.run(ZWaveController.java:1324)[241:org.openhab.binding.zwave:2.1.0.201704032113]
2017-04-03 17:20:20.050 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0C 00 04 00 1F 06 31 05 03 0A 00 00 D3
2017-04-03 17:20:20.050 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-04-03 17:20:20.050 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0C 00 04 00 1F 06 31 05 03 0A 00 00 D3
2017-04-03 17:20:20.051 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 0C 00 04 00 1F 06 31 05 03 0A 00 00 D3
2017-04-03 17:20:20.051 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 1F 06 31 05 03 0A 00 00
2017-04-03 17:20:20.051 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 31: Application Command Request (INITIALIZING:INIT_NEIGHBORS)
2017-04-03 17:20:20.051 [ERROR] [ve.internal.protocol.ZWaveController] - Exception during ZWave thread: Input 2. {}
java.lang.NullPointerException
        at org.openhab.binding.zwave.internal.protocol.ZWaveNode.setNodeState(ZWaveNode.java:235)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:46)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:248)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:214)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:208)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveInputThread.run(ZWaveController.java:1324)[241:org.openhab.binding.zwave:2.1.0.201704032113]
2017-04-03 17:20:20.125 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0B 00 04 00 1F 05 31 05 1B 01 00 C4
2017-04-03 17:20:20.125 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
2017-04-03 17:20:20.125 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0B 00 04 00 1F 05 31 05 1B 01 00 C4
2017-04-03 17:20:20.125 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 0B 00 04 00 1F 05 31 05 1B 01 00 C4
2017-04-03 17:20:20.125 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 1F 05 31 05 1B 01 00
2017-04-03 17:20:20.125 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 31: Application Command Request (INITIALIZING:INIT_NEIGHBORS)
2017-04-03 17:20:20.125 [ERROR] [ve.internal.protocol.ZWaveController] - Exception during ZWave thread: Input 2. {}
java.lang.NullPointerException
        at org.openhab.binding.zwave.internal.protocol.ZWaveNode.setNodeState(ZWaveNode.java:235)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:46)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:248)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:214)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:208)[241:org.openhab.binding.zwave:2.1.0.201704032113]
        at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveInputThread.run(ZWaveController.java:1324)[241:org.openhab.binding.zwave:2.1.0.201704032113]

I’ll wait a bit for some new builds, and see what happens. maybe it’s my old 2.0 runtime.

No - the manifest sets the minimum value required. So as far as ZWave is concerned, it’s set to require a minimum of Java 7 (so you can run it in Java 7 or Java 8). However, the error was saying that something in your system wants Java 8 and I believe that this is the minimum required for the runtime and therefore OH2.

I don’t really have time to look at the exceptions tonight - I’m not sure why it would have started as there haven’t been any real changes to the master branch for a few weeks and we know it’s been working since then as there have been database updates in the past few days that have been working.

I wouldn’t worry about It, it’s probably something I’m doing, or something in OH2, as I saw that there hadn’t been any real changes since the 31st - which works fine.

JJust looked at the output from the daily SNAPSHOT on Clodbees, and it has this in it:

[WARNING] The effective compiler target level 1.8 is incompatible with the following OSGi execution environments: [JavaSE-1.7 (assumes 1.7)] @ MavenProject: org.openhab.binding:org.openhab.binding.zwave:2.1.0-SNAPSHOT @ /scratch/jenkins/workspace/openHAB2-Bundles/bindings/org.openhab.binding.zwave/pom.xml
[WARNING] Parameter 'useProjectSettings' is set to true, but preferences file '/scratch/jenkins/workspace/openHAB2-Bundles/bindings/org.openhab.binding.zwave/.settings/org.eclipse.jdt.core.prefs' could not be found!

Which are the same warnings I’m getting. Of course that build has the same NPE’s as my local build.

So I’m now suspecting that it’s something in OH that’s changed. The last successful build was the 31st, builds since then have all failed.

Can you build and run successfully?

I don’t think your NPEs are related to the Java version, although I might be wrong.

Yep - no problem.

If you get a chance can you post your .jar file so I can try it? Like to see if it’s my installation or something.

Thanks,