Zwave Lock Manager

Ok… refreshed/healed/tested again and now it seems to be updating… it’s like z-wave stopped doing anything… I’m very slowly enabling them while watching the log. Thanks… awesome work!

On a side note… has anyone done anything with an automation to make the alarm mode to change to tamper at night only? We like to have activity alert on normally as we have small kids, so it’s nice to hear if anyone is opening the door, but I was thinking it may be nice to have it go to the tamper mode with the alarm for nighttime (like a home ARMED mode) when we are asleep. Anyone else do that? and does it consistently work? I would never hear the end of it if the 90db alarm went off unexpectedly while I was at work from her opening the door.

I have not done a ton of testing lately, but the tests I did a while back worked for the settings I tried.

So I have an input selects for the various schlage zwave options
They’ll be named like this - lock_zwave_option_7_back (this is the one for what you asked about)

If you created an automation to change the value of that input select to what you wanted it would trigger the automation that is already set up in the package.

So something like this
Trigger - Whatever you use to determine it’s night (sun compoment, time componet, alarm modes, etr)
condition - Whatever you may want to set
Action -

  - service: input_select.select_option
    entity_id: input_select.lock_zwave_option_7_back
    data:
      option: 'Tamper'

the options are Alarm Off, Activity, Tamper or Forced Entry

I did change this manually a few times back and it worked, but I never went much further with it. If you do get it working, would you mind posting your success or failures for others

Been reading through trying to understand how this works. Am I correct in saying that I just replace any reference to the following:

Names in needed in entity registry:
zwave.lock_front_door_deadbolt
lock.lock_front_door_lock
sensor.lock_front_door_deadbolt_alarm_type,
sensor.lock_front_door_deadbolt_alarm_level

with these 4 in my configuration?

zwave.schlage_allegion_be469_touchscreen_deadbolt
lock.schlage_allegion_be469_touchscreen_deadbolt_locked
sensor.schlage_allegion_be469_touchscreen_deadbolt_alarm_type
sensor.schlage_allegion_be469_touchscreen_deadbolt_alarm_level

Those are the 4 that most closely match to what you say to replace. If I just replace all in that order it should work right? Or are there other things I need to change? I only have on lock on my back door.

That should do it, nothing else needs to be done but renaming those.

Just to clarify, the easiest way to get this to work is to rename your entities to match the names in the package.

So rename
zwave.schlage_allegion_be469_touchscreen_deadbolt
to
zwave.lock_front_door_deadbolt

Only posting this because I was not positive from your comment.

Now in your case, you can change the yaml or entities for back door. Just look at the comments in the lock package, It should point out where you should change _front to_back,

Renaming them did work! Everything works great so far!

One question I had, I set up a one time use card like in your first post. I enable it, set a name, a code is set, I select my only door, and then is there something else I need to do? Doesn’t seem that the code works. I have made sure everything on that card is the correct slot (in this case using slot 16).

What is not working. The code does not get loaded on the lock after you select the lock, as i you cannot unlock the door with the generated code? Or it does not clear when used?

The automation - “Keypad switch turned on” is what sets a code for any slot
the automation - “Keypad clear code after one time use code is used for 16 through 18” is what clears that code when it’s used once.

Make sure they are turned on, and are set up properly

The first thing, doesn’t seem the code gets loaded on the lock. Going to try what you said and report back.

Ok I tried using keypad switch turned on and tried to unlock using the one time code, the code worked and then the lock alarm started going off. I pulled the batteries but now the alarm just goes off when i connect it back up.

Yikes, the one time code is just a normal code, no reason for it not to work. Now on the other hand depending on your lock settings, entering the wrong code several times may trigger the alarm. Maybe the code was still being loaded in the lock while you were trying to unlock the door? The alarm will stop after a bit.

So what should happen
code gets loaded (might take 30-60 seconds) to load into the lock depending on your zwave network
Code get used - door unlocks
the code is deleted from the lock (might take 30-60 seconds)
wait those 60 seconds and try the code again, it should not work. One or two tries should be enough for you to confirm.

if you enter a wrong code too many times, the alarm will go off (I think for 15-30 seconds)

Ahhh. I probably wasnt patient enough. I was running to the back door right away. Trying a new one and letting it sit here.

Still did not work. Let me try to understand your earlier statement/the process. Set slot 16 one time code to enable, set the name, set the code (or use the auto generated one), select the door. Then do I have to select “Keypad switch turned on”?

You should do the following in this order
Select Enabled
Enter a name
The code should already be generated when you selected “enabled”
but if you want a different code change it now
Turn on the “Door/Lock”

The trigger for the code loading into a slot is the turning on of the door/lock switch

Cool. I’m trying it now. Thank you for all the help.

I am assuming once I turn on the lock I should eventually see something in the zwave logs, like it sending the code to the lock, right?

Yes, turning it on will trigger the automation “Keypad switch turned on”
The action for that automation is

    action:
      - service: lock.set_usercode
        data_template:
          node_id: >-
            {% set object_id = trigger.to_state.object_id %}
            {% set lock_name = "_".join(object_id.split("_")[3:-1]) %}
            {% set lock_id = 'lock_' ~ lock_name ~ '_door_lock' %}
            {{ states['lock'][lock_id].attributes.node_id }}
            
          code_slot: >-
            {% set object_id = trigger.to_state.object_id %}
            {% set code_slot = "_".join(object_id.split("_")[2:-2]) %}
            {{ code_slot }}

          usercode: >-
            {% set object_id = trigger.to_state.object_id %}
            {% set code_slot = "_".join(object_id.split("_")[2:-2]) %}
            {% set user_code_id = 'door_keypad_' ~ code_slot ~ '_code' %}
            {{ states['input_text'][user_code_id].state }}

Got it. Had to redo the package. Renaming things muxed it up. Changed my entity names and all is good. Should have done it from the start. Thanks again!

1 Like

More of just an FYI… So I didn’t really do much but start quickly testing the changing of the alarm modes and the first thing I noticed is my older Z-wave BE469 lists the mode as “Activity” and the newer Z-wave plus BE469 lists that same mode as “Alert” so that’s why it wasn’t changing back for me after switching to tamper. If anyone else has both z-wave and z-wave plus models, if they could confirm they see the same, it would be appreciated.

1 Like

Why my start time changed suddenly to this

That would be due to your sensors not restoring their state upon a HA restart.

Looks like that but the major problem I’m having is that its not deleting the temporary codes that I assign to the doors any idea

Are the scripts running? Automations running? Was it working previously, and just stopped working at the same time the dates changed? When you say temp codes, you scheduled codes? Did the times change for those as well?