Local protection not working from Home Assistant

I cannot get a local protection setting to stick manually in Home Assistant, nor will any sort of automation work reliably. My automation is erroring out with “error: type”.

What I do in the automation is:

Action: Set value of a Z-Wave Value
command class: Protection
property: local
property_key: (blank)
endpoint: (blank, have also tried 0)
Value: 1

Then, to unset, the same, but with Value: 0.

This is to lock out my toddler from turning on the light in his room at night. >_<

Any ideas? Need any more information?


If you’re using HA I assume you’ve moved to the new zwaveJS integration.
You should see a separate entity used to control local protection.
As an example:

All you have to do is set your automation to set the state of the select option.

Here are the values:
Local Protection

Value Text Description
0 Unprotected Device operates normally. Can be set by via zwave or by pressing config x8
1 Protection by Sequence Physical buttons do not control the load, but you can still trigger scenes and control associated devices. Can be set by via zwave or by pressing config x8
2 No Operation Possible Physical buttons are completely ignored (note: you can still do some things, like factory reset). Can only be set via zwave

Have you tried using the Developer / Services tool to test what you are trying to do?

That’s what doesn’t stick, unfortunately, but thanks for the suggestion!

Trying that now. :slight_smile:

So, good news is that the developer/services tool helped me learn what the difference is between setting 1 and 2 for local protection. 1 doesn’t seem to work for my Black series switches, if it’s even supported for them. Option 2 for local protect, however, seems to work great.

For anyone else trying the same thing, here’s what I set in my automation:

Action: Set value of a Z-Wave Value
command_class: Protection
property: local
property_key: (blank)
endpoint: 0
Value: 2

Note that sending a “Change (device name): Local protection state option” command did nothing for my switches.

I’ll report back tomorrow after the automation has run tonight. :smiley:

You can also press the config button 8x to enable/disable local control

It looks like you are trying to set a zwave parameter in your automation. That will work too but it’s more complicated.
What I am saying is to toggle the created protection entity instead by calling the select.select_option service

Thank you so much for explaining! I’ve altered it to do that instead.

Does that mean you got it working? :smiley:

“Option 2 not valid for Black Series On/Off Switch: Local protection state”

So, no. :frowning:

I’ll try Option 1.

Gave the same error. :frowning:

Maybe I’m not doing it right?

Is that what you meant? I tried 0,1,2, and “No operation possible” in the Option box, without success.

I bet it’s because of this:

options: unknown (0x08), unknown (0x09), unknown (0x0a)

So I probably need to set it to “unknown (0x0a)” if I’m going to use this method?

You may be able to try something like this:

service: zwave_js.set_value
  entity_id: light.living_room
  command_class: '117'
  property: local
  value: 0

0,1,2 are not options.
If you go to the entities tab, open your select.bathroom_light_local_protection_state, you’ll see the 3 dropdown options are Unprotected, ProtectedBySequence and NoOperationPossible. Since you’re telling it to select 1, and 1 isn’t in the dropdown, it will error out.

You MAY need to use quotes, haven’t really played with this much. So you may have to use “Unprotected”. Play with it in the dev tools

Thanks for the tip, but I’ve tried that and it’s not worked.

Those aren’t options either. My choices are unknown (0x08), unknown (0x09), and unknown (0x0a).

Local operation can be locked out by setting “2” via the “Set value of a Z-Wave value” or by setting “unknown (0x0a)” via the “Call service select.select_option”. Neither one seems to be able to re-enable local operation afterwards. The former (with either “0” or “unknown (0x08)” results in “error: type” and the latter just doesn’t have an effect.

I just tested and this works fine.

service: select.select_option
  option: ProtectedBySequence
  entity_id: select.basement_hallway_lights_local_protection_state

Looks like this in UI mode

“Option Unprotected not valid for Black Series On/Off Switch: Local protection state” in the trace. :frowning: :cry:

I’m calling the entity in the same way, it’s jut not working.

What do these look like on your end.


Home Assistant Entity:


Please try re-interviewing the node. Those should not show Unknown in the drop down.