[Solved] 2/10/2017 ZWave Binding Broke ALL Switch Things

I updated using apt-get this morning to fix my Aeon Labs Gen6 Motion Sensor (It Works!) and I noticed that my lights weren’t turning on and the error in the log:

17:29:28.714 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Command received zwave:device:3dfe58f3:node11:switch_dimmer --> ON
17:29:28.717 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Command for unknown channel zwave:device:3dfe58f3:node11:switch_dimmer with OnOffType

made me think that the channel definition for my zwave devices changed like the Sonos had, so I deleted one of the ZW3003, GE 12724 In-Wall Dimmer Things and re-added it, now it’s status is:

Status: UNINITIALIZED - HANDLER_INITIALIZING_ERROR Invalid type '{org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveSwitchAllCommandClass.SwitchAllMode}' of configuration value!

I rebooted and it came back to ONLINE but its all still unresponsive. I updated this morning and now none of my zwave switches work, previously I had been using the Master binding from a few days ago, so the breaking change was recent.

Edit:

@chris made a change to the binding to plug the initialization hole that a change in the ESH framework exposed. The solution is to update to binding 2.1.0.201702121957 or newer and go through Habmin to choose a value in the Thing->Device Configuration->Switch All Mode dropdown. Then restart and it should all come back.

@chris It looks like I’m getting related errors to @Mike_Bagdanoff 's and can’t control my switches either.

 2017-02-10 19:01:29.605 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured during notification about bridge status change on thing 'zwave:device:b985f5e3:node25': Invalid type '{org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveSwitchAllCommandClass.SwitchAllMode}' of configuration value!
java.lang.IllegalArgumentException: Invalid type '{org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveSwitchAllCommandClass.SwitchAllMode}' of configuration value!
	at org.eclipse.smarthome.config.core.ConfigUtil.normalizeType(ConfigUtil.java:78)[94:org.eclipse.smarthome.config.core:0.9.0.201702100936]
	at org.eclipse.smarthome.config.core.ConfigUtil.normalizeType(ConfigUtil.java:56)[94:org.eclipse.smarthome.config.core:0.9.0.201702100936]
	at org.eclipse.smarthome.config.core.Configuration.setProperties(Configuration.java:184)[94:org.eclipse.smarthome.config.core:0.9.0.201702100936]
	at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.updateConfiguration(BaseThingHandler.java:475)[105:org.eclipse.smarthome.core.thing:0.9.0.201702100936]
	at org.eclipse.smarthome.core.thing.binding.ConfigStatusThingHandler.updateConfiguration(ConfigStatusThingHandler.java:65)[105:org.eclipse.smarthome.core.thing:0.9.0.201702100936]
	at org.openhab.binding.zwave.handler.ZWaveThingHandler.updateNodeProperties(ZWaveThingHandler.java:1408)[203:org.openhab.binding.zwave:2.1.0.201702102300]
	at org.openhab.binding.zwave.handler.ZWaveThingHandler.bridgeStatusChanged(ZWaveThingHandler.java:457)[203:org.openhab.binding.zwave:2.1.0.201702102300]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$12.run(ThingManager.java:844)[105:org.eclipse.smarthome.core.thing:0.9.0.201702100936]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_121]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_121]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]

I’ll toss in my “me too” here… Regardless of snapshot zwave binding or experimental binding same problem. This seems like a openhab issue…

Did you roll back to an earlier Zwave binding?

you can do that?

You used to be able to using the AddOn’s folder. I was just trying to figure out how to do it in the new structure but thought that was what you were referring to. I just rolled back to the last snapshot from 0205 but the switches still don’t work. So I think it’s definitely in the Zwave binding. Give me a few minutes to reupdate to the latest snapshot and figure out where to put the older version of the binding and I’ll be back.

I’m pretty sure I was using the 0205 snapshot yesterday which was working fine, you may have to delete and reinstall Things to get them working again in the older binding.

The addons folder should work, thats where I was putting the experimental zwave binding when I was fiddling with that last week.I just really didn’t know where you could get just the older zwave binding.

You can get them from here: https://oss.jfrog.org/artifactory/oss-snapshot-local/org/openhab/binding/org.openhab.binding.zwave/2.1.0-SNAPSHOT/

I put mine in the addons directory, uninstalled the latest Zwave and can’t get the 0208 binding to start. Getting the following error in Karaf if I try to manually start the bundle:

Error executing command: Error executing command on bundles:
        Error starting bundle 212: Could not resolve module: org.openhab.binding.zwave [212]
  Unresolved requirement: Import-Package: gnu.io

This is a problem with installing the binding outside PaperUI, you can run this in the Karaf console to fix it:

feature:install openhab-transport-serial

But wouldn’t that just install the latest version? Or are you saying that will install the version out of /addons?

that will install the missing serial package that normally gets installed with the binding in PaperUI. Dumping the .jar in the addons folder leaves out this dependency.

Great, thanks!!

So the 0205 and 0208 Zwave snapshots on the latest OH2 snapshot are throwing off the same error. Going back to the 0205 for both OH2 and Zwave to see if that works. Otherwise, I wonder if something got crossed over from his beta builds and will require the deletion / reinstall of things like you suggested

@Mike_Bagdanoff Success!!! Rolling both back to the 0205 worked. I’m back up and running.

K, so I guess that means the bug is in the runtime. Bah, I’ll roll back tomorrow.

how do you roll back?

assuming you are on a linux flavour:

sudo apt-get install openhab2=2.1.0~20170205135640-1

You can replace the =* with what ever version you want to go back to. You can see the different versions using:

sudo apt-cache show openhab2

There is another summary view of all the version but I don’t remember it right now

1 Like

Thanks, that totally worked and it has the beneficial side-effect that the Gen6 motion sensor that wasn’t working before now works, the fix that was in todays binding was in the setup of the device. Now that it is set up, it works with the 0205 binding.

I think there was a change in ESH that exposed a bug in the binding that has always been there for this setting. Please make sure that you use the latest binding and see if that helps. You may need to resale all things or even delete them - I’m no sure at the moment.

Chris,

I have installed the binding from last night and delete all z wave things. After adding a Fibaro FGS 222 Double Relais, I have got the following exception:

2017-02-11 11:23:31.177 [WARN ] [.core.thing.binding.BaseThingHandler] - Error while applying configuration changes: 'IllegalArgumentException: Invalid type '{org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveSwitchAllCommandClass.SwitchAllMode}' of configuration value!' - reverting configuration changes on thing 'zwave:device:pailszwave:node18'.
2017-02-11 11:23:31.182 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured while initializing handler of thing 'zwave:device:pailszwave:node18': java.lang.IllegalArgumentException: Invalid type '{org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveSwitchAllCommandClass.SwitchAllMode}' of configuration value!
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Invalid type '{org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveSwitchAllCommandClass.SwitchAllMode}' of configuration value!
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)[:1.8.0_65]
	at java.util.concurrent.FutureTask.get(FutureTask.java:206)[:1.8.0_65]
	at org.eclipse.smarthome.core.common.SafeMethodCaller.callAsynchronous(SafeMethodCaller.java:194)[103:org.eclipse.smarthome.core:0.9.0.201702100936]
	at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:83)[103:org.eclipse.smarthome.core:0.9.0.201702100936]
	at org.eclipse.smarthome.core.common.SafeMethodCaller.call(SafeMethodCaller.java:67)[103:org.eclipse.smarthome.core:0.9.0.201702100936]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$9.run(ThingManager.java:698)[110:org.eclipse.smarthome.core.thing:0.9.0.201702100936]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_65]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_65]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_65]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_65]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_65]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_65]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]
Caused by: java.lang.IllegalArgumentException: Invalid type '{org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveSwitchAllCommandClass.SwitchAllMode}' of configuration value!
	at org.eclipse.smarthome.config.core.ConfigUtil.normalizeType(ConfigUtil.java:78)[99:org.eclipse.smarthome.config.core:0.9.0.201702100936]
	at org.eclipse.smarthome.config.core.ConfigUtil.normalizeType(ConfigUtil.java:56)[99:org.eclipse.smarthome.config.core:0.9.0.201702100936]
	at org.eclipse.smarthome.config.core.Configuration.setProperties(Configuration.java:184)[99:org.eclipse.smarthome.config.core:0.9.0.201702100936]
	at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.updateConfiguration(BaseThingHandler.java:475)[110:org.eclipse.smarthome.core.thing:0.9.0.201702100936]
	at org.eclipse.smarthome.core.thing.binding.ConfigStatusThingHandler.updateConfiguration(ConfigStatusThingHandler.java:65)[110:org.eclipse.smarthome.core.thing:0.9.0.201702100936]
	at org.openhab.binding.zwave.handler.ZWaveThingHandler.updateNodeProperties(ZWaveThingHandler.java:1408)[219:org.openhab.binding.zwave:2.1.0.201702102300]
	at org.openhab.binding.zwave.handler.ZWaveThingHandler.bridgeStatusChanged(ZWaveThingHandler.java:457)[219:org.openhab.binding.zwave:2.1.0.201702102300]
	at org.openhab.binding.zwave.handler.ZWaveThingHandler.initialize(ZWaveThingHandler.java:150)[219:org.openhab.binding.zwave:2.1.0.201702102300]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:701)[110:org.eclipse.smarthome.core.thing:0.9.0.201702100936]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$9$1.call(ThingManager.java:1)[110:org.eclipse.smarthome.core.thing:0.9.0.201702100936]
	at org.eclipse.smarthome.core.common.SafeMethodCaller$CallableWrapper.call(SafeMethodCaller.java:181)[103:org.eclipse.smarthome.core:0.9.0.201702100936]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_65]

Any idea what I can try to do?