Textual configuration of Zwave Items


I saw that some discussion is going on in the Testing Z-Wave Binding on openHAB-2 Thread and I wanted to put this into it’s own thread as I think it’s going to be needed by more people :slight_smile:

I received my AeonLabs Z-Stick Gen5 on Friday and a TZ67 Wall Plug Dimmer to test Zwave (i wanted to have two external devices to add them to the upcoming Docker Container ;)).

Since I keep deleting the database all the time I want to keep all things in a proper things file and use the Discovery only for gathering initial information on how I need to add it to the things file.

According to the ESH documentation I would expect the configuration to look like:

Bridge zwave:serial_zstick:controller [ port="/dev/ttyACM0", controller_softreset="false", controller_master="true", heal_enable="true", security_networkkey="XX XX XX XX XX XX XX XX" ]
Thing zwave:tkb_tz67_00_000:controller:zwavedimmer (zwave:serial_zstick:controller) [ zwave_nodeid="3" config_1_1="0" ]

The bridge comes online and works fine. The other documented variant with curly braces does not work (rfxcom does in my config)
The device itself is not discovered correctly. Instead it wurns up in the inbox:

openhab> inbox
NEW [zwave:device]: Z-Wave Node 3: TZ67 Wall Plug Dimmer [thingId=zwave:device:controller:node3, bridgeId=zwave:serial_zstick:controller, properties={zwave_class_basic=ROUTING_SLAVE, zwave_class_generic=MULTILEVEL_SWITCH, zwave_frequent=false, zwave_version=1.12, zwave_listening=true, zwave_deviceid=1553, zwave_nodeid=3, zwave_routing=true, zwave_beaming=true, zwave_class_specific=POWER_SWITCH_MULTILEVEL, zwave_manufacturer=280, zwave_devicetype=514}, timestamp=Sun Mar 27 00:11:10 CET 2016, timeToLive=UNLIMITED]

When I add and link it with an item, the Dimmer works.

Dimmer UG_Hannes_zwavedimmer        "ZwaveDimmer [%.1f]"     (UG_Hannes,Lights)   { channel="zwave:device:controller:node3:switch_dimmer"}
openhab> things
zwave:serial_zstick:controller (Type=Bridge, Status=ONLINE, Label=Z-Wave Serial Controller, Bridge=null)
zwave:tkb_tz67_00_000:controller:zwavedimmer (Type=Thing, Status=OFFLINE, Label=TZ67 Wall Plug Dimmer, Bridge=zwave:serial_zstick:controller)
zwave:device:controller:node3 (Type=Thing, Status=ONLINE, Label=Z-Wave Node 3: TZ67 Wall Plug Dimmer, Bridge=zwave:serial_zstick:controller)

I also tried excluding and including the device again (hence the ID 3) but it didn’t change.
What did I do wrong? Is there any required parameter missing in my things file @chris?

Thanks a lot for your help!


1 Like

Why isn’t this correct? It looks ok to me I think?

Sorry - I’m not familiar with the OH2 config files - it looks ok to me, but I’ve literally never used this.


Sorry that it took some to respond :frowning:
It is discovered correctly, yes. So You can see node 3 in the inbox and create it from there.
But the textual configured version should supercede the one in the database, so it’s not supposed to be listed :slight_smile:

I am not sure if I read the code correctly but wouldn’t make this conversion to Integer any other Thingname than node3 impossible, despite the config parameter zwave_nodeid?

Cheers Hannes

Sorry - I’m not sure what you mean by this…

I have a similar problem with textual configuration of Z-wave items.
If I define the items in zwave.things file like this:

Bridge zwave:serial_zstick:controller [ port="/dev/ttyACM0", controller_softreset="false", controller_master="true", heal_enable="true", security_networkkey="XX XX XX XX XX XX XX XX" ]

Thing zwave:device:controller:node4 (zwave:serial_zstick:controller) [ zwave_nodeid="4" config_1_1="0" ]
Thing zwave:device:controller:node3 (zwave:serial_zstick:controller) [ zwave_nodeid="3" config_1_1="0" ]
Thing zwave:device:controller:node2 (zwave:serial_zstick:controller) [ zwave_nodeid="2" config_1_1="0" ]

they show up as things, but OFFLINE, and never gets to any other stage.

But if I remove my devices from the things file, they are discovered and end up in the inbox, from there I can add them and it works!
I figure there must be something wrong with my things file, but I can’t figure out what it is.
This is an example output line from the ‘things’ command in the OSGi console:
zwave:device:controller:node4 (Type=Thing, Status=ONLINE, Label=Z-Wave Node 4: FGS222 Double Relay Switch 2x1.5kW, Bridge=zwave:serial_zstick:controller)

I stole the Thing config lines from Hannes above. But I am not sure what config_1_1=“0” really means?

Btw, I find the commands things, items, links very useful in the OSGi console. Are there any other commands that I can check to see whats going on?
In the debug log I can see the Z-wave devices communicating and it seems to be all good.

Here are some of the resources I have found on Textual configuration of Z-wave in OH2:
Are there any more documentation available?

I am also a bit confused if I need a conf/services/zwave.cfg file or if the conf/things/zwave.things is the only one I need?

Another question is can I make the openHAB UUID consistent between installs (i.e. configure it in some config file)? Now it regenerates a new one in userdata/uuid on every re-install.

Sorry if this is all obvious to you all, I am just starting to understand the OH2 concept.


1 Like

I can answer a few questions here, but probably not many as I don’t use text files for configuration

I’m not sure of the syntax, but I note that for the controller you have commas between the config settings, where for the nodes, you don’t. Maybe it doesn’t matter either way, but maybe there’s something wrong here.

I don’t believe this is supported. Again, I don’t know if this is a problem or not if you have configuration that doesn’t tie up with the binding - maybe not.

Is there anything in the log? Any exceptions?

No - this isn’t required for OH2 bindings.

Thanks @chris. I ended up using the 1.9 z-wave binding for now.
I will try your suggestions later on.

hey tobbesjufem and others, wondering if you ever had success with this? i’m trying to do the same thing, but not having much luck…

@jayekub I have not had the time to try again. I guess since 1.9 binding is working for me I’ve been a bit lazy. Still very much wanted though, can’t be running an 1.x binding forever.