Z-Wave the public standard

ZWare No Category from device


we have successfully added a node by using the zwportald (querying it by sending serialized avro requests).
However, when we try to get the list of nodes, we get the following structure:

  "id": 7,
  "property": 8,
  "vendor_id": 134,
  "product_id": 29,
  "product_type": 2,
  "category": 0,
  "alive": 5,
  "secure": 0,
  "zwave_library_type": 3,
  "zwave_protocol_version": 835,
  "application_version": 274,
  "FLiRS": 0,
  "sleep_capable": 1,
  "wake_up_interval": 4080,
  "s2_keys_valid": 1,
  "s2_grant_key": 0,
  "s2_dsk": "",
  "external_version_info": {
    "is_external_supported": 0,
    "hardware_version": 0,
    "target_version_info_array": []

This is a binary switch from Aeotec/Aeon. Why the category is 0 ? ( Where I can find the list of Manufactured ID/ Product Id/ Product Type for every vendor?)


hi demarcogiu,

impressed that you are using the AVRO interface which is not even documented :blush:

‘category’ was a field we used before Z-Wave Plus was available to help identify the device beyond its device class. This information is picked directly from the device database file. so if this information is not populated in the file, it will be 0.

As strings are normally only used in the apps, you can find vendor strings in


Thank you miskit.
The use of AVRO was a must, beacuse we have a third-party application, and re-writing it in C++ to use ZWare-C is too much work.
Under src\zwave\zweb\zapps_local\lib I have

drwxr-xr-x 5 pi pi  4096 giu 13 13:14 .
drwxr-xr-x 4 pi pi  4096 apr 10 14:14 ..
-rw-r--r-- 1 pi pi   853 feb  1 05:02 common.css
drwxr-xr-x 2 pi pi  4096 apr 10 14:14 images
drwxr-xr-x 2 pi pi  4096 apr 10 14:14 jquery
-rw-r--r-- 1 pi pi  4207 feb  1 05:02 loggedin.css
drwxr-xr-x 2 pi pi  4096 giu 13 13:14 OOUI
-rw-r--r-- 1 pi pi  1065 feb  1 05:02 prelogin.css
-rw-r--r-- 1 pi pi 41108 feb  1 05:02 publicFunc.js
-rw-r--r-- 1 pi pi  5038 feb  1 05:02 style.css
-rw-r--r-- 1 pi pi     6 feb  1 05:02 VERSION
-rw-r--r-- 1 pi pi    58 feb  1 05:02 ZWareWebSite.css

Moreover, how can i get the category or the device category of the included device? Shall I consider the if_type and ep_type only?

However, we still do not understand how to insert or edit new devices info. I see that there is file called zwave_device_rec.txt in zwportal. One way to map sensor triplet (vid,pid,ptype) to a valid description of the sensor would be the inspection of that file by entering with the triplet, which is the only information we can get from get_list_node. Finally, I think this db file is edited by hand, isnt’it?


Sorry, I must have used the wrong version. Which SDK are you on?
You can also get vendor id strings from:

the ep contains the generic & specific device class & zwaveplus information that can be used to categorize the device.

The device database is edited by hand. it is also part of our whitelisting process where we ensure partner devices work smoothly with z-ware even with older & less informative command classes or versions. the JSON structure is documented in the Z-Ware Library User Guide Section 4.3.5.


Thank you. But what I do not undertand is this: the device DB file is edited by Silicon Labs or by the developer?
I mean: If I do not find a device included in the DB, what shall I do?



My questions are very basic.
I am reading the INS12902 Instruction-for-Z-Ware-Web-Developer,
although I am interfacing to the zwportald through AVRO RPC.

It is not clear:
1 - how to know the category of the device (which in the guide is cited in 5.2). Is it necessary? In my case, when I do a zwnet_get_node_list I get always 0. So: how to know which is the category/type of the device?
2 - how to know which commands are supported by the device. If I knew that, I could select the right URI command to use to query the node.
3- How to insert the configuration of the specific device into the zwportald?