Is a Device "Raw Description" censored or incomplete?


(JJG) #1

The “Raw Description” used for fingerprinting is AFAIK supposed to come from the Z-Wave device itself.
For the Fibaro FGK-101 Z-Wave Door/Window Sensor (partially supported by ST), it is reported in “My Devices” as :
“0 0 0x2001 0 0 0 c 0x30 0x9C 0x60 0x85 0x72 0x70 0x86 0x80 0x84 0x7A 0xEF 0x2B”

But I know for a fact that this sensor supports Temperature Measurement, with the optional DS18B20, as explained in the User Manual : http://www.fibaro.com/en/the-fibaro-system/door-window-sensor

What I don’t understand is that for this sensor to actually support “Temperature Measurement”, its Raw Description should certainly include 0x31 [COMMAND_CLASS_SENSOR_MULTILEVEL], in addition to 0x30 [COMMAND_CLASS_SENSOR_BINARY].
But it does not.

So my question :
Is the “Raw Description” used for fingerprinting an exhaustive list of all capabilities supported by a given real Device, or is it a partial list, including only the capabilities the SmartThings Hub does support at this time ?

Note that the Fibaro Z-Wave Door/Window Sensor is actually a composite, multiple channels Device (3 channels : 2 binary, 1 multilevel), but that should not be the issue.
Or is it ?

Any help appreciated…


(Duncan) #2

The Raw Description we list is the entire Node Information Frame that the device reports, but that doesn’t always give you all the information you need to interact with a device. There are many cases where devices implement features in different ways.

Also, the command classes in the desc or fingerprint don’t have any connection to which capabilities you expose from your device type handler. The fingerprint is only used to type the device on join via dumb pattern matching, then it’s ignored.

My guess is all the temperature stuff is behind a different MultiChannel end point, and you’ll need to do a multiChannelCapabilityGet to see the multilevel sensor support. This is getting into Z-Wave commands we haven’t used before, so there might be parsing bugs.


(JJG) #3

Thanks duncan, it is much clearer.
I can confirm, for the Fibaro FGK-101, that the Temperature sensor is on EndPoint#2, and that SENSOR_MULTILEVEL Command (0x31) works only for it.
What I still don’t understand is why the BASIC Command (0x20) is not in the FGK-101 Raw Description, but it works anyway, so it is more a Fibaro documentation issue than a real nuisance.


(Duncan) #4

Every Z-Wave device is required to support BASIC so it generally isn’t listed.