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

Here’s what I think has happened.

There was a configuration error in the binding - this was always there, but never spotted, and never an issue. A check has likely now been added into ESH to check the type of configuration items and is throwing an error.

Does the thing start and go to ONLINE, or do you get an uninitialised state in HABmin (blue cog item next to the thing)?

I’ll try and update my system to test this…

Does the device continue to ONLINE, or stay in an uninitialised state?

I’s in the uninitialized state and has not all channels available:

Can you try the following -:

Select the thing, go to device configuration, select the “Switch All Mode” (see below) and change it to something and click SAVE. Then see if the thing will initialise (you might need to restart the binding).

Thanks, that seems to help. The thing is now online…

1 Like

Thanks - so this is the solution everyone needs to do to fix this. Note that it will only work with the very latest binding from late last night (10th Feb EU time).

I’ve upgraded today to latest openhab snapshot and all my z-wave relay stopped working.

My device are online but if I send command to them, I’m not getting any response.

Please see the solution above. Make sure that you REALLY are running the absolute latest binding and perform the above for all devices.

That said, you don’t actually say what your problem is, so if it’s not this issue, then please provide further information/logs etc (preferably in a new thread).

Unfortunately, this fixed it only half: Although it is now online, the other channels are still missing.

When I try to turn on the switch, nothing happens and i get the following in the DEBUG log:

2017-02-11 16:35:37.377 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 25: Command received zwave:device:pailszwave:node25:switch_binary --> ON
2017-02-11 16:35:37.379 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 25: Command for unknown channel zwave:device:pailszwave:node25:switch_binary with OnOffType

Any further idea?

As near as I could tell before I abandoned ship it looks like the homeid of the network changes with this update and yet all commands try to send to the old homeid channels. Very strange, I spent hours and hours on this last night even re-initializing my network and re-including devices. Still didn’t work when I gave up.

I’d be really surprised if the home ID changed - the HOME ID comes directly from the stick. Why do you think the home ID changed? Even if it did, I don’t think that would change anything since the binding doesn’t use it - it’s certainly not part of any command that the binding sends to another device.

Also, remember that this was not a change to the ZWave binding that caused this - it was a change in the framework. I made a very simple change (1 word) in the binding to fix it, but again, nothing at all to do with the home id -:

I think you’re in the UK right? This was probably not fixed with the binding update until quite late last night so possibly you didn’t have the fixed version. As you can see from the link above, the change was made at 11PM, and the build was done after that.

I would recommend to make sure you’re using the latest version.

Not really - without some sort of log showing the initialisation I’d not sure what’s happening. There’s really been no change to the ZWave binding, so it should just need to be reinitialised to fix the initialisation error that happened after the ESH update.

Hi Chris

I have removed all nodes except node 25 and then I restarted the openhab. This happend at 17:41. After the restart node 25 was online, but has still only 3 channels.

I have stored the debug log here:
https://drive.google.com/open?id=0B6jraur4azX2RHJ4VlN0Rmo0VDA

In addition there was this exception during the startup:

2017-02-11 17:42:03.127 [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:node25’.
2017-02-11 17:42:03.134 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occured during notification about bridge status change on thing ‘zwave:device:pailszwave: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)[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.eclipse.smarthome.core.thing.internal.ThingManager$12.run(ThingManager.java:844)[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]

I’ll try that this evening and let you know if it’s working for me. Thanks for your help.

1 Like

I’m attempting a fresh install of openhab2, up to date as of 7:01 PM Saturday, February 11, 2017 Greenwich Mean Time (GMT) (Snapshot 2.1.0~20170210142723-1). Still not working with any of my switch devices.

@chris Same here. Went ahead and just did an upgrade. All my zwave devices were showing online but still not controlling my switches and throwing off the same ThingManager errors. Tried changing one device Switch All status both restarted the binding in Karaf and did a full system restart but control still doesn’t work.

I did do a version check and it’s the 2.1.0.201702102300 version of the Zwave binding.

Edit: To update my earlier rollback, I only had to rollback the OpenHab to the Feb 5th build to get everything working. I didn’t have to reinstall the old ZWave binding this time around.

Similar issues here - not sure how to check zwave binding version but openhab was on 2.1.0~20170210142723-1 after doing an apg-get update and upgrade, which is only Friday afternoon not Friday night, so maybe need to wait for the next snapshot version to build before it’ll work. I tried changing switch all status and restarting openhab2 but no joy.

@rgerrans’s instructions above to install openhab2=2.1.0~20170205135640-1 worked a treat in the meantime - will try a newer version in a day or two.

I’ve found a second instance where the wrong type is set - the update is building now so hopefully updating shortly will solve the issue. You will still need to do the change I suggested above otherwise the thing won’t initialise.

Build is complete if people want to try. If you revert back to the old runtime, then you’ll need to do this each time you swap between new and old versions of ESH.

1 Like

Hi Chris, How do I update to this latest build. Is it available to download somewhere?
Thanks

You can update to it just like any other update - in Paper UI / HABmin, uninstall the binding, wait 30 seconds, and install it again. It should automatically pick up the latest binding.

Note that this only works if you are using the SNAPSHOT build - but then you wouldn’t have this problem if you weren’t ;).