Unknown device - I'm lost!

database
zwave
unknowndevice
Tags: #<Tag:0x00007fe0636126c8> #<Tag:0x00007fe063612560> #<Tag:0x00007fe0636123f8>

(Rob Haynes) #1

I am currently making Amazon rich by ordering Zwave devices. But so far 3 of them come up undefined. I’ve been searching the documentation here and am as confused as h.||. There is an infamous database. I found it once but now the links say page not found. (There is a link https://docs.openhab.org/addons/bindings/zwave/readme.html called “Full list of supported things”. Sounds like just what I want, but its broken.)

I intuit from some of the posts its fairly easy to modify a similar xml file and make it work. But I can’t find anything that tells me what to do with the xml file. How do I find the parameters its using to try to look up the device?


(Lucky) #2

Have you ready the database guide?

http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-database-guide


(Rob Haynes) #3

Yes, I looked there. That tells you how to add something to the database. Is that the way I get something to work? Or is there an XML file I put someplace where Openhab can find it so that it now “knows” about the device even though its not in the database. It tells you the minimum things you need in a text file, but not where it goes or the format of the file or what other things you can specify.

According to that doc it looks up stuff based on:
Manufacturer ID
Device Type
Device ID
Firmware version

In my case presumably its reading these from the device and not finding an entry in the database that corresponds. For me to create something to put in the DB, I need to know these but I haven’t found where openhab logs this.


(Lucky) #4

Everything you need is in the link I posted above. Did you read the entire guide?

Creating a device from an XML file
This allows creating of a device from the XML file that openHAB generates once it has initialised a device and this is the recommended way to create a device. Go to the Device List and click on the tools button in the top right of the page - this will provide you with the two options listed above. If you are uploading an XML file, you should enter the device name and label. Below this information is a box that allows you to paste in an XML file. Open the XML file for the node you want to add (in the /etc/zwave folder for OH1, and the {userdata}/zwave folder for OH2) and paste the data into this box and press the Submit button.  This will perform some sanity checks on the XML file to ensure that it has all the information required, and that it is consistent with the information you manually entered, and that another device with these identifiers doesn’t already exist in the database.

(Rob Haynes) #5

Here is why I dismissed that web address the first time around. I did a search for a few manufacturers that I knew were supported, like GE and Schlage. Neither are in the manufacturer list. So, my thinking was this is something old I’ve stumbled upon that might not be supported.

Does it really say in there where I find the ID’s, type and firmware version that OH discovered? If it does, I’m too dense to recognize it.


(Lucky) #6
Open the XML file for the node you want to add (in the /etc/zwave folder for OH1, and the {userdata}/zwave folder for OH2)

(Sascha Billian) #7

What kind of devices do you have?
I’m far from being a ZWave expert, but could it just be that the device inclusion was not completed?

Have you look at http://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list if you devices are already in the DB?


(Rob Haynes) #8

node5.xml (3.5 KB)
Attached should be my xml file. I don’t see in there the ID’s.


(Rob Haynes) #9

Its a Schlage BE468. It should be in the DB but I don’t see any Schlage devices there. I’ve exercised the device maybe 100 times since adding it to the controller, so it should have had time to sync up.


(Lucky) #10

It’s written on the guide. If it’s not there, you need to add (submit) it.


(Monika) #11

Hi Rob,

Schlage is owned by Allegion. Within the search specify ‘BE468’ and then select the manufacturer as ‘Allegion’. Spolier: The lock is within database so that’s great news.

Hope that helps,
Mon


(Rob Haynes) #12

Thanks Monika, that really helps.

Luckymallari, you are basically telling me RTFM, which believe me I have. I am still trying to find out how OH2 can tell me what its using to lookup the Manufacturer ID, Device Type, Device ID and Firmware version. I’ve looked in the database guide, the xml file generated by OH2 and the log from the OH2 console. I don’t recognize anything as the ID’s or the other DB keys.


(Scott Rushworth) #13

Not all of the information will be in the device’s XML until it has completed initialization. This should happen quickly, so there may be an issue. If you are interested in seeing an example, the XMLs can be exported from the db. Also, the BE468 uses security, which is not currently supported in the 2.2 release version of the zwave binding (you didn’t say what version of OH and zwave binding you were using). To use this device, you would need to look here…


(Rob Haynes) #14

Thanks Scott.

It is OH 2.2. No xml file is being generated and I’m seeing an exception in the log (see below). I’ll download the version you suggest and see what happens.

2018-03-15 21:25:08.362 [ERROR] [st.core.internal.thing.ThingResource] - Exception during HTTP PUT request for update config at ‘things/zwave:device:d74aa60d:node5/config’
java.lang.NullPointerException: null
at org.eclipse.smarthome.config.xml.AbstractXmlBasedProvider.get(AbstractXmlBasedProvider.java:151) [108:org.eclipse.smarthome.config.xml:0.10.0.b1]
at org.eclipse.smarthome.config.xml.AbstractXmlConfigDescriptionProvider.getConfigDescription(AbstractXmlConfigDescriptionProvider.java:50) [108:org.eclipse.smarthome.config.xml:0.10.0.b1]
at org.eclipse.smarthome.config.core.ConfigDescriptionRegistry.getConfigDescription(ConfigDescriptionRegistry.java:152) [103:org.eclipse.smarthome.config.core:0.10.0.b1]
at org.eclipse.smarthome.config.core.ConfigDescriptionRegistry.getConfigDescription(ConfigDescriptionRegistry.java:188) [103:org.eclipse.smarthome.config.core:0.10.0.b1]
at org.eclipse.smarthome.io.rest.core.internal.thing.ThingResource.normalizeConfiguration(ThingResource.java:735) [126:org.eclipse.smarthome.io.rest.core:0.10.0.b1]
at org.eclipse.smarthome.io.rest.core.internal.thing.ThingResource.updateConfiguration(ThingResource.java:415) [126:org.eclipse.smarthome.io.rest.core:0.10.0.b1]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) [178:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) [178:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) [178:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160) [178:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) [178:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) [178:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) [178:org.glassfish.jersey.core.jersey-server:2.22.2]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) [178:org.glassfish.jersey.core.jersey-server:2.22.2]


(Scott Rushworth) #15

If you are also using the 2.2.0 version of the zwave binding, then you will need to upgrade at least the binding. :wink: The dev binding also resolves the issue that in your log. If you are upgrading OH to a 2.3.0 snapshot, you may want to grab something older than 1230, since there could be some issues.

Please use code fences.