Setting Protection Command Class - Protection by Sequence

Hi all

I have a Fibaro Keyfob, and would like to set it so that it locks automatically to prevent unintentional scene activation. To do so, according to the manual, the Protection Command Class must be set to Local Protection by Sequence. I can then use a sequence of button presses to unlock the keyfob. This is handled automatically if using a Fibaro system, but no doubt has to be done manually with Vera.

I’ve done some research, and it appears that the Protection Command Class has a variable of 0x75 hex/117 dec (

My assumption is the default for this is 0 (disabled) and that it probably needs to be “1” to change it to “Protection by Sequence”

I tried adding this in via the gui (eg as a variable called “117” and “2 byte dec” (also tried “1 byte dec”) data size, with the desired value of “1”. I could not save this to the keyfob. I suspect I’m doing something stupid - any suggestions about what I’m doing wrong? I also tried “monitor only” but couldn’t see anything. Do I need to change the variable name to something else, perhaps? Have also tried calling it “COMMAND_CLASS_PROTECTION_V2” or “COMMAND_CLASS_PROTECTION” but no go. Maybe I’m in totally the wrong location for doing this… advice welcome!

You’re mixing up “Device Parameters” as shown in APT-102 and being able to send a specific Z-Wave Command Class command.

In the first instance, you need to set Parameters 1 and 2 appropriately as shown in the manual - have you done that first?

Those set the unlocking sequence and the locking timeout.

To actually set the device into Lock Mode you need to send a Protection Command Class message with value “Protection By Sequence” and to disable lock mode you use the value “Unprotected”. These are indeed 1 and 0 respectively.

The Protection Command Class is rather new, so I wouldn’t expect to see it supported in Vera (or many other Z-Wave controllers) any time soon.

You might be able to do it using raw Z-Wave by opening the test lua window and running the following commands, replacing “20” with the NODE ID of your Fibaro Keyfob (shown on the SETTINGS tab like “ID20”).

To set Protection By Sequence

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='20',Data='117 1 1'},1)

To set Unprotected

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='20',Data='117 1 0'},1)

You’ll probably need to wake the device up manually so it can receive the command, it might take a few attempt to get the timing right.

If you know your way around the LuaUPnP.log you can monitor it and see the progress. You can also use the following to GET the current value, which will show in a reply from the device in the log:

luup.call_action('urn:micasaverde-com:serviceId:ZWaveNetwork1','SendData',{Node='20',Data='117 2'},1)

No guarantees that will work, but let us know if it does :slight_smile:

Brilliant - Had set the other parameters first, but they were being ignored because of that command class setting. Ran the luup command and all good! Thanks heaps.