ZWave binding updates

Sorry, this was wrong. The error occured between 2.2 and 2.3, at 2.3 I managed to fix it as described in

I have not been able yet to apply the same workaround on 2.4.

I used Openhab 2.3 and the old Zwavebinding. Now I update to the newest Snapshot with this new binding. Everything works fine. Only one device don’t work.

Vision Security ZS5101 Shock Sensor

I have exclude/inklude it, but now it shows me, „unknown device“.

Its a battery device and I have wakeup it, which worked at the old version, but not at the new one.

Has somebody an idea?

Hey all, and thanks for the update!

I followed the Recommended update process as per the first message, and it worked great.

These are the things I tried but that did not work well at all.

  1. defining the devices in .things without defining channels => what a mess, no device ever really worked, they initialize, then they’re ok, then they’re not and the items never worked

  2. installing via paperui worked the best, when I tried removing from paper ui and installing via addons.cfg, it failed and would not work even after a couple of restarts.
    2.a. I was not able to make zwave work at all with that process (addon via addons.cfg), I got the message:

    307 │ Active │ 80 │ 2.4.0.M5 │ org.openhab.binding.zwave
    openhab> java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
    java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
    java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver

My plan was to have the devices in .things files, I then gave up that idea and only kept the bridge in a .thing file and had the devices themselves being discovered and added in paperui.

If anyone has pointers about how to make it all work with static .things files for devices, I’d love to know.

here are my things files
bridge:

Bridge zwave:serial_zstick:zStickController "Z-Wave Serial Controller" [
  port="/dev/ttyACM0",
  controller_softreset="false",
  controller_master="true",
  heal_enable="true"
]

devices:

Thing zwave:device:zStickController:node45 "CWS-3101 Wall Switch" (zwave:serial_zstick:zStickController) @ "Some Room" [node_id=45]
Thing zwave:device:zStickController:node50 "Soft Remote Remote Control" (zwave:serial_zstick:zStickController) @ "Kids Room" [node_id=50]
1 Like

Please see the following thread -:

just saw this on the log by coincidence.
not sure if it is interesting

0:13:21.391 [ERROR] [ave.internal.protocol.ZWaveController] - NODE 50: Restore from config: Error deserialising XML file. com.thoughtworks.xstream.converters.ConversionException:  : ParseError at [row,col]:[427,1]
Message: XML document structures must start and end within the same entity. :  : ParseError at [row,col]:[427,1]
Message: XML document structures must start and end within the same entity.
---- Debugging information ----
message             :  : ParseError at [row,col]:[427,1]
Message: XML document structures must start and end within the same entity.
cause-exception     : com.thoughtworks.xstream.io.StreamException
cause-message       :  : ParseError at [row,col]:[427,1]
Message: XML document structures must start and end within the same entity.
class               : org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveDeviceResetLocallyCommandClass
required-type       : org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveDeviceResetLocallyCommandClass
converter-type      : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path                : /node/endpoints/entry/endPoint/supportedCommandClasses/entry[15]/COMMAND_CLASS_DEVICE_RESET_LOCALLY
line number         : 427
class[1]            : java.util.concurrent.ConcurrentHashMap
converter-type[1]   : com.thoughtworks.xstream.converters.collections.MapConverter
class[2]            : org.openhab.binding.zwave.internal.protocol.ZWaveEndpoint
class[3]            : org.openhab.binding.zwave.internal.protocol.ZWaveNode
version             : 1.4.7
-------------------------------

is a qubino din rail dimmer (got 16 of those)
image

Anyone know what might be causing this?
https://community.openhab.org/t/fibaro-dimmer-issues-after-upgrade/56320

Regards,
Josh

On the recent versions of openhab / zwave I have this constantly.
After a restart randomly nodes get stuck at REQUEST_NIF … also mains.
Evey restart other nodes are affected. I was thinking my slow Pi2 just can’t handle the 80 zwave devices … however I did not inestigate deeply and it could be another problem.

Hi Chris,

Great work on your zWave binding; I follow your threads and your always so responsive which makes me believe this is your full time job :wink:

Anyway; I’m running OH2.3 on a Synology NAS and I have NOT upgraded to OH2.4 but I’m running your zWave 2.4 M4 build w/o any issues.

Can you point me to where you store your zWave binding downloads so I can get the zWave 2.4 M5.x ?

Best, Jay

It sure feels like it sometimes :slight_smile: .

They aren’t stored anywhere as such - but there’s is the CI server where the builds are done, so the latest build can always be found here.

Thanks a lot for the link, I finally understood (read the docs, read the docs…) what I was doing wrong.
So based on the syntax:

Thing <binding_id>:<type_id>:<thing_id> "Label" @ "Location" [ <parameters> ]

… for the end result I had to:

  • determine the type_id for each device by searching in the cd-jackson database (as per the mentioned thread)
  • for every z-wave device in a .thing file, I had to replace “device” with the value of <thing-type id=<value> from the cd-jackson XML output
    • wrong: Thing zwave:device:zStickController:node5
    • correct: Thing zwave:danfoss_mt02650_00_000:zStickController:node5
  • .things files DO NOT NEED the channels

So now, I have all my z-wave devices defined in .things files and don’t require discovery if I need to restore oh2 again using my saved /etc/openhab2 backup

It is just annoying that PaperUI still discovers the devices using the type-id: device
My z-wave bridge is defined as:

  • Bridge zwave:serial_zstick:zStickController "Z-Wave Serial Controller"...
    And the things discovered in PaperUI are seen as:
  • zwave:device:zStickController:node27

PaperUI uses the zwave:device:... naming which I cannot use in static files. I’ll of course just ignore the device discovery.

Lessons learned though: keep the zwave bridge in a .thing file separate form the devices’. With all the edit work in the devices file, OH2 did not have to initialize the bridge every time I saved it and so it was just quicker to see the outcome in the logs.

when I include the device in “non secure inclusion mode” the device was found correctly. In the secure mode it is an “unknown device”. So how I can include it in secure mode?

According to the manual and the database it does not support secure inclusion.

I didn’t check the manual, but the database shows security is supported. Don’t look at the “security” box in the overview - look at the fact that the SECURITY command class is supported (which apparently it is).

Yes, that is where I looked at. In addition to that there is no hit when searching the manual for “secure” or “security”, so I came to a wrong conclusion. Sorry :sunglasses:

Hmm, When I read it Right:
According to this manual Security is Supported.

http://manuals-backend.z-wave.info/make.php?lang=en&sku=VISEZS5101-5

Yes, as I said above, it is supported.

But why Security inclusion don‘t work?

Just a thought, but the device may need to be in close proximity to the controller to be securely included.

What does the log file show? It should log what is happening, and if security fails, it will log some information as to why it failed. Maybe this will help to answer your question?

Looking for recommendations . . .

I have a bunch of WeMo devices controlling lights; 3 of them are for the outside lights.

I’d like to replace my time based rules when to turn lights on/off with actual light levels outside. I have a bunch of the Aeotec Multisensor 6, Z-Wave Plus 6-in1 motion devices
which I do use the Luminance function of them to control my HUE Lights inside. The negative side of this device is it only polls hourly.

Does anybody have a better suggestion for a zWave device that “just” does Luminance that I could mount in a window pointing outside which intern would drive my WeMo light activation?

Best, Jay