OH2 Z-Wave refactoring and testing... and SECURITY

Perfect - thanks for the feedback :slight_smile: .

Hi All,
I am trying to add my zwave things into OpenHab 2.2.

Running one of the latest snapshots of the zwave plugin:

openhab> bundle:list | grep ZWave
246 │ Active   │  80 │ 2.3.0.201802081624     │ ZWave Binding
openhab>

Thing configured like this:

Bridge zwave:serial_zstick:cont "ZStick" @ "Home" [
  port="/dev/ttyUSB0",
  controller_softreset="false",
  controller_master="true",
  controller_inclusiontimeout=300,
  heal_time=5,
  heal_enable="true",
  security_networkkey="....."
]
Thing zwave:aeon_dsc06_00_000:cont:node3 "ZWave Node3" (zwave:serial_zstick:cont) [node_id=3]

My Error is:

2018-02-11 15:43:07.638 [ERROR] [ding.zwave.handler.ZWaveThingHandler] - NodeID is not set in zwave:aeon_dsc06_00_000:cont:node3

I have seen tonnes of different formats for the .things file. Is what I have the latest version for the 2.3 development branch?

Thoughts?
Many thanks.

To be honest I do not know. But I let OH discover and configure the things, while I take care of items, sitemaps and rules with files. This works fine. Would this be an approach for you too?

I had that originally, and it worked. But I find it hard to maintain the configurations in a UI. Much easier to change it in a text file if I am doing multiple changes.

Why would you do multiple changes on a single controller :rofl:

I also tried the manual thing configuration a while ago, but then realized that all config parameter changes have to be done via text file which can be a mess. No more easy config change for devices via PaperUI or HABmin.

So I went with @vossivossi approach and this works fine since almost two years.

You realized slightly wrongly…

Config parameter changes can not be done by openhab at all if you use text files. The binding only configures devices when it receives a configuration update, and the REST interface blocks these when the thing is manually configured.

See the recent discussion here -:

Maybe I used the wrong term :sunglasses:

What I meant is for example changing the invert_percent config parameter for a rollershutter from false to true like:

Thing zwave:fibaro_fgrm222_24_024:controller:node11 "Z-Wave Node 11: FGRM222 Roller Shutter" (zwave:serial_zstick:controller) [ node_id=11 ] {
	Channels:
Type blinds_control : blinds_control [ config_invert_percent="true" ]
}

Or did that stop working too?

No - these parameters you can set in the config files - it’s “just” the configuration of the device that you can’t do at all…

1 Like

Oh, sorry. I guess I didn’t think to check the documentation since you have to have the newest, “unstable” version in order to get all of the security features (from my understanding). I assumed the documentation was only updated to the stable version. My mistake.

I actually am planning on trying to contribute some PRs in the future, once I get the hang of OH2; there are still a bunch of features that I know nothing about. And I need to brush up on Java; I haven’t worked with it in 8 years.

But anyways, thanks for all your contributions! They are much appreciated!

Hello, during my testing of the February 8th build is that my front door lock is not recognized as a lock. It is recognized as:
Z-Wave Node 002 (0109:2006:0621:19.6) and because of this has not features of a door lock. On the version of the binding that is available through the extension browser (either HABmin or PaperUI as version 2.2.0) sometimes it sees my door lock as a generic door lock. For the record if it helps I have a Z-Wave Deadbolt Door lock from MonoPrice.

I guess it’s not in the database - the database will need to be updated before you will see the channels.

I’m not quite sure what you’re referring to, but probably you’ve seen the device class which is not linked to the device type itself. The device type is directly derived from the numbers you posted above.

I understand, I will follow the instructions for adding a new device to the database. Is the database compiled into the resultant binding jar file or is it accessed by the jar at runtime from somewhere. I.E will a new build be required to see database changes?

The database is compiled into the binding itself, so once the database is updated, it’s reviewed, approved, exported and then compiled into the binding.

Thank you, Luckily it appears as though someone has started the process. For anyone who also has this lock you can follow the progress that someone else started.

http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/301

Although it notes that it doesn’t support security. But as a door lock I was pretty sure it did otherwise it would have been possible to set lock codes with other builds of this binding. I can upload my XML file for consistency as an up-to-date version although I’m not currently allowed any database edits.

I suspect that the database was created by someone who hadn’t included it securely, so it doesn’t include any channels - or the secure tick on the box… Note that the tickboxes generally aren’t used by the binding, so not ticking security won’t impact anything - the binding will work all this out by itself.

Please can you upload your xml file to this entry and hopefully it will sort things out…

I will request edit rights through email and then upload the xml file I have.

Thanks

It’s ok - I’ve found you in the system so will update your access in a few minutes… (sorry - didn’t realise you didn’t already have access).

Thank you. Now I just need to find {userdata}/zwave on Ubuntu server

Thank you for the help, I’ve submitted the XML that I have although I wasn’t able to change the setting regarding SECURITY. According to the manual attached to that device it does support it.

Are you really sure that the device is securely included? In HABmin, is there a green tick next to the properties for security?

The XML doesn’t show any information about security, and doesn’t contain any of the command classes I would normally expect a lock to support (like the LOCK command class :wink: ).