OH2 Z-Wave Thing discovered but not recognized

I’m a noob, still learning how this all goes together.

I’m starting out with a few Z-Wave devices. I have them working in OH1.8, and I’m trying to get them working in OH2. I have discovered them in HabMin2. The ones it recognizes, I have connected to Items that I carried over from my 1.8 files, and those work fine.

I have one Thing that is marked as an Unknown Device. It’s a Linear PD300Z-2 plug-in dimmer. Over on cd-jackson.com, there’s what appears to be a preliminary entry for it. It is described as incomplete. But, there’s probably enough info there to get it working in a test environment. After all, OH1.8 can talk to it.

I’ve been searching around for the last hour, and I haven’t found a straightforward way to add that in. What I think I want to do is incorporate it into my local copy of the database, if that’s possible. It would be nice if there were a simple editing tool, or a “read XML file” option.

But, from what I’ve gleaned, the only way to do it, currently, is to set up an entire Eclipse development environment. I can do that, I suppose. But, since this is basically still at the in-my-spare-time phase, I was hoping for something a little more light weight.

Any hope of that?

Thanks,
Drake

There is always hope :slight_smile:

I took a quick look at the device entry in the database. It is missing the XML file that is generated by the binding. If you have this file available for that node ID, attach it here and we can get it added to the database. Look in userdata/zwave there should be some files in there nodeX.xml. These correspond to your z-wave node IDs.

The xml data, as you have discovered, is part of the z-wave binding. If you want to edit it by hand, you will need to get into the source code, as you also mentioned. The preferred approach is to update the entry for the device in the database as everyone will benefit from having the device supported.

If you don’t mind me waxing a little philosophical, I love the idea of the database being updated, to help everyone. But, unless I’m missing something, if it’s incorporated into the source code, then it’s not really a “database” so much as “hard-coded data,” is it? When was the last time the database was released? To me, a database has entries that can be updated individually, and potentially even synced both directions. Sucking it into the source code strikes me as a fairly serious design mistake. If it was done for performance reasons, I’d have strongly advocated caching the database, instead. If it takes too long to build the cache, then save the cache to disk after it’s generated, for quick loading the next time.

I’ve seen mentions that this decision was made as part of ESH, implying that that is a separate group from openHAB? Hopefully, someone can advocate for an external database?

Just my minuscule opinion.

node5.xml (3.2 KB)

If you search the forum for ‘z-wave database’, there are two posts from the author that will help. Here is one: Z-Wave database maintenance

I have uploaded your xml file for the device, and published it. It should be in the next PR.

The database is updated regularly - as @xsnrg said, do a search on the forum as I’ve posted a number of messages about it.

The database is however just that - a database. It is exported, and compiled into the binding. There are a number of reasons for this, and it’s been discussed a number of times over the past year or two. There needs to be some control over it for starters, otherwise people can modify the configuration such that it breaks the binding, and becomes very hard to work out what is happening. You are welcome to contribute to the database - I welcome all input :slight_smile:

Since @xsnrg has added the data, it should be in tomorrows binding.

So, another noob question. I’ve been searching for half an hour and haven’t found an answer, yet.

How do I get a current copy of the binding with the new device added?

Download the latest snapshot of OH2. Depending how you have set up OH2 it will either automatically install the updated binding or in the paper UI you will just need to press uninstall and then install again.

I am litterally getting mad with OH2.
I have previously installed and recognized zwave items with success (all are listed as unknown device)
Now I am trying to setup a demo for my company and it does not recognize a single device…

I am using win10 and the latest snapshot of OH2 and an aeon zwplus dongle (properly recognized)
I can also see that the latest zwave binding is installed
list on the console:

189 | Active | 80 | 2.0.0.201609130631 | ZWave Binding
190 | Active | 80 | 2.0.0.201609130631 | openHAB Serial Transport Bundle

I tried also with zwave (not plus items to make sure they are in the db) but I have no success.

What the heck can it be??
Thanks for your support

You don’t say what the devices are? Are you sure they are in the database (ie your exact version). If they are battery devices, they will need to be woken up so that the binding can discover their services.

Also, what do the logs show?

I am trying fir example with a fibaro smart plug (version 1 so zwave not plus).

I used exactly to rule out zwplus or newer items problems )

1 Like

Ok, but we still can’t confirm that it’s in the database. If you can provide a debug log, or at least some information on what device your using, we can confirm if it’s supported, and what’s happening…

Here ia a filtering of the debug log (started OH2 in debug mode).

14:52:03.010 [INFO ] [ing.zwave.handler.ZWaveSerialHandler] - Connecting to serial port 'COM5'
14:52:03.794 [INFO ] [ing.zwave.handler.ZWaveSerialHandler] - Serial port is initialized
14:52:03.798 [INFO ] [mmandclass.ZWaveSecurityCommandClass] - Update networkKey
14:52:03.836 [INFO ] [ve.internal.protocol.ZWaveController] - Starting ZWave controller
14:52:03.836 [INFO ] [ve.internal.protocol.ZWaveController] - ZWave timeout is set to 5000ms. Soft reset is false.
14:52:06.994 [INFO ] [age.SerialApiGetInitDataMessageClass] - NODE 1: Node found
14:52:06.994 [INFO ] [age.SerialApiGetInitDataMessageClass] - NODE 2: Node found
14:52:06.994 [INFO ] [age.SerialApiGetInitDataMessageClass] - NODE 3: Node found
14:52:06.995 [INFO ] [age.SerialApiGetInitDataMessageClass] - ZWave Controller using Controller API
14:52:06.995 [INFO ] [age.SerialApiGetInitDataMessageClass] - ZWave Controller is Primary Controller
14:52:06.995 [INFO ] [age.SerialApiGetInitDataMessageClass] - ------------Number of Nodes Found Registered to ZWave Controller------------
14:52:06.995 [INFO ] [age.SerialApiGetInitDataMessageClass] - # Nodes = 3
14:52:06.995 [INFO ] [age.SerialApiGetInitDataMessageClass] - ----------------------------------------------------------------------------
14:52:07.000 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 3: Initialising Thing Node...
14:52:07.000 [WARN ] [ding.zwave.handler.ZWaveThingHandler] - NODE 2: Initialising Thing Node...
14:52:07.216 [WARN ] [rialmessage.IsFailedNodeMessageClass] - NODE 3: Is currently marked as failed by the controller!
14:52:11.358 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 3: Node is DEAD. Dropping message.
14:52:15.493 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Got an error while sending data. Resending message.
14:52:19.607 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Got an error while sending data. Resending message.
14:52:20.704 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
14:52:24.847 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 3: Node is DEAD. Dropping message.
14:52:28.959 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
14:52:33.101 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 3: Node is DEAD. Dropping message.
14:52:37.243 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
14:52:47.221 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 3: Timeout while sending message. Requeueing - 0 attempts left!
14:52:47.222 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 3: Got an error while sending data. Resending message.
14:52:47.369 [ERROR] [ssage.ApplicationCommandMessageClass] - Error processing frame: Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 03 07 86 12 03 03 34 19 19  >> Attempt to read message payload out of bounds: Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 03 07 86 12 03 03 34 19 19  (10)
14:52:52.336 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 3: Timeout while sending message. Requeueing - 2 attempts left!
14:52:52.336 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 3: Got an error while sending data. Resending message.
14:52:52.373 [ERROR] [ssage.ApplicationCommandMessageClass] - Error processing frame: Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 03 07 86 12 03 03 34 19 19  >> Attempt to read message payload out of bounds: Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 03 07 86 12 03 03 34 19 19  (10)
14:52:57.340 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 3: Timeout while sending message. Requeueing - 1 attempts left!
14:52:57.340 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 3: Got an error while sending data. Resending message.
14:52:57.375 [ERROR] [ssage.ApplicationCommandMessageClass] - Error processing frame: Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 03 07 86 12 03 03 34 19 19  >> Attempt to read message payload out of bounds: Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 03 07 86 12 03 03 34 19 19  (10)
14:53:02.342 [ERROR] [ocol.ZWaveController$ZWaveSendThread] - NODE 3: Timeout while sending message. Requeueing - 0 attempts left!
14:53:02.342 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 3: Got an error while sending data. Resending message.
14:53:02.377 [ERROR] [ssage.ApplicationCommandMessageClass] - Error processing frame: Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 03 07 86 12 03 03 34 19 19  >> Attempt to read message payload out of bounds: Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 03 07 86 12 03 03 34 19 19  (10)
14:53:07.344 [WARN ] [ocol.ZWaveController$ZWaveSendThread] - NODE 3: Too many retries. Discarding message: Message: class=SendData[0x13], type=Request[0x00], priority=Config, dest=3, callback=20, payload=03 02 86 11
14:53:08.636 [ERROR] [alization.ZWaveNodeInitStageAdvancer] - NODE 3: Node advancer: Retries exceeded at SET_ASSOCIATION
14:53:13.916 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
14:53:30.555 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
14:54:50.525 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
14:57:26.400 [ERROR] [alization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: Retries exceeded at PING
15:02:50.571 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
15:13:30.481 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
15:34:50.515 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
16:04:50.579 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
16:34:50.548 [ERROR] [l.serialmessage.SendDataMessageClass] - NODE 2: Node is DEAD. Dropping message.
17:04:46.402 [ERROR] [alization.ZWaveNodeInitStageAdvancer] - NODE 2: Node advancer: Retries exceeded at PING

Device is a FGWPE/F-102

OMG in the db there is just one fibaro device.
Am i selecting incorrectly?

Well, for starters you should try and get the devices communicating. Currently the binding is seeing all your devices (well, devices 2 and 3) as DEAD. This is normally a bad sign and given that the binding can’t communicate with the devices, they won’t be discovered.

I’m moving from OH 1.8 to OH2. COnfigured the zwave controller and it becomes online.
Then I run the zwave discovery and it detects all 23 devices, but only two of them completely. All others will be discovered as “Unknown Device” even if they are the same types than the one found correctly (Fibaro roller shutter). I tried this 3 times from a frsh install, but still most devices will not be discovered correctly.
Any idea how to fix that with OH2? Alle devices are running in my OH 1.8 without problems.

You do not mention directly, but are you using Habmin or directly in PaperUI?

Either way, you could start looking into this by seeing if the devices are truly the same or if they have, for example, different firmware. If you go to the information for the thing in either interface, (PaperUI calls it zwave version, Habmin calls it firmware version) are they the same between the device working and the device not working?

One other thing to consider, I do not have rollershutter controllers, are some battery operated? If so, have some patience and they should get identified. They have to go through a wake period or two to get initialized.

Restarting OH2 two times fixed the problem:slight_smile:

I realize this thread is old but I wanted to suggest something that worked for me. I have tried several times to upgrade to Openhab 2 (from 1.8) without luck. A couple of days ago, I installed OH 2.1 and decided to keep at it until I got it working. The problem that I’ve always had was that my Z-Wave devices would be seen, but always showed as ‘unknown’, and the status would never change. I was finally able to get most of them to work by doing a hard reset on the zstick, and re-adding them all again.

I still have a few that haven’t been recognized, but I’m hopeful that they will be picked up soon.

usually a hard reset of the controller is not nessesary. While on OH2 the most commonnissues are
a) device needs to be paired really nearby the controller (the registration frames are nit routed through the mash network) or
b) the device is not in tge zwave database (new or not very common)

Which devics still don’t work?