[RELEASE] Lock User Management (LUM)

As of Monday morning May 8, I all of a sudden stopped getting lock/unlock notifications even though I haven’t made any modifications to the SmartApp or lock since it was installed over 3 months ago. I just upgraded to the latest version, 05.05.01, but that didn’t fix the issue. I am however still seeing all other notifications such as battery percentage, codes being reset, added and then set, etc…

Any ideas?

Any Z-Wave or ZigBee lock (just need the right device handler), it’s been tested with Schlage, Monoprice, Yale, IDLock, Danalock, Kwikset (as for individual models it 100+ counted so far but they’re all variants of each other across multiple countries so as long as the main brand works, the models will also work).

Thank you.
I’m a big fan of your hard work, and purchased access in the past (under a different id).

1 Like

Had some cases where the door lock doesn’t accept the code so I had to use my phone to open and close. Strange!

This would typically indicate one of two things:

  1. The code length/digits doesn’t match the lock configuration
  2. There’s a communication reliability/z-wave mesh issue between the lock and hub, reboot the hub, do a z-wave repair and if needed add a active z-wave device between the lock and hub to strengthen the mesh

following from [RELEASE] Universal Enhanced Z-Wave Lock, Schlage Lock, Yale Lock, Kwikset Lock, IDLock, DanaLock and August Lock Device Handler with Alarm Control, Notification, RFID, Door Sensor and advanced features

I can see how to set a schedule, but how do i set a schedule that has a presence condition? the “… only when these people are NOT present” option seems to be linked to “Notify on use” - are you saying that it’s a general condition on the schedule, and not a condition only for the notification?

When you create actions for code locks/unlocks (either for a user or generally for all) you can specify the dependency of presence of users in the settings, ie. don’t run actions if XYZ users are present.
Schedules are the ability for folks to use the codes, you can just combine the two independently, set a schedule for a user and create a custom action for the user and set the don’t run actions if XYZ users are present.

In my testing, the actions trigger after the lock has opened (I.e. The completion of door lock opening event triggers the action, not the starting of the door lock opening event). I want to have the schedule block the code based on mode or presence.

Given the way ST work this is not an advisable strategy for a couple of reasons:

  1. Battery drain as people leave / arrive the code will added and removed constantly and this will drain the battery on the lock
  2. The top priority of the app is the quality/reliability, given the way the Z-wave mesh and ST works currently if the above point doesn’t create an issue the reliability will take a hit

So along these lines RBoy, with the existence of the Disable Code Entry existing when going into a Device in Things and being able to set the Configuration to Off so that it Disables ALL codes (with exception of the Master Code), is there a way to automate or implement a little code for that functionality by updating the actual device and disabling the keypad for ALL based on a Mode, SHM Status or Presence device. It wouldn’t target a specific User defined, but I think that would be less hectic and wouldn’t create a constant scenario creating battery drain and be very useful for someone that goes on vacation or business and in reverse have a configurable option that when a presence sensor (pet sitter) arrives at the house, they Disable Code Entry for a lock or locks could be turned back On for those devices. I think that would be a powerful addition to the app in general. Just a thought.

1 Like

That could be done depending upon the lock, if it supports disabling the keypad. I guess this could be looking into as a feature enhancement but what’s the use case. When in mode Away disable keypad entry? Isn’t that that point of the keypad codes is to allow folks to enter when away? I’m trying to see the practical aspect of it, it could be done very easily using CoRE but to build it into the app we need to understand how it will be used so that it can be designed effectively.

Ok - understood and thanks for the advice.

On a related note - can you programme RFID tags on a Yale Keyless Connected Smart Lock using the app?

Also, the lock specification says it can have up to 20 tags or codes. If I set the app to manage 20 slots, does it erase/overwrite the RFID tags programmed directly on the unit?

Programming RFID tags depends upon the device handler (the SmartApp only sends and received programming notifications).
If you’re using the Enhanced Z-Wave DH it supports reading and notifying RFID tags but not programming them (yet). RFID programming is very complicated so we decided not to implement it through ST for the simple reason that once tags are programmed you don’t normally un-program them hence you can it manually through the lock directly which will be an easier solution than trying to read the card numbers, entering it into ST and then having ST program them (and if you enter one incorrect number it won’t work etc) - hence the decision to have users program them directly.
Once programmed the Enhanced Z-Wave DH can read and report them and this SmartApp can also report and take action accordingly (it will notify the user that a RFID tag was used to unlock the door as reported by the DH).

Some locks like IDLock/Yale/Danalock support both keypad codes and RFID codes. The Enhanced Z-Wave Device Handler will take care of that, so when you’re programming the codes through this SmartApp the DH will only program the codes for the keypad and will not overwrite the codes for the RFID part. So if you lock supports 20 RFID tags and 2 keypad codes, the SmartApp program program the 2 users but will be able to report if the users used any of the 20 RFID tags to unlock the door. The user slots will depend upon your lock configuration, you can figure it our quite easily by entering names in your slots (e.g. User 1, User 2 etc) and then unlock the door using the RFID tags and keypad tags and see what the SmartApp reports for the user slots. It’s possible that keypad users slot number and RFID slot number may overlap (e.g. master code may be user 1 where as service code may be user 2 but RFID tags also start from user 1), in that case while entering the codes just don’t use 1 and 2 slots for RFID and start from User 3 for the RFID users.

For RFID users just enter the names and leave the codes blank (and also make sure you’re Enabled the option to Disable code verification/retry on the first page). This will allow the SmartApp to report the users using RFID tags but won’t overwrite the programming done on the lock.

Hope this helps.

Thanks for the detailed reply.

the main advantage is the ability to schedule RFID tags. Is it possible?

I’m using this one: https://smartthings.rboyapps.com/Devices/Z-Wave%20Lock%20with%20Alarm.groovy.txt

The lock seems to have 40 slots, 20 for tags and 20 for codes, and you can use up to 20 (mixed across the two sets of slots) at a time. I also have a couple of RFID tags programmed directly on the lock. I have the app set to “number of users” = 5. I get notifications when the codes are used, but not RFID tags. So reading your reply, I believe I need to increase the “number of users” to 40 - correct?

I’ve set “Enable incremental updates only and disable re-verification” to “on” on the first page, but when i go to the second page and try to save entries with names but no code value, i get the message

Oops! Looks like you need to double-check some inputs.

That depends up on the lock, this Yale model (if memory serves me correctly) does not support reporting or programming RFID cards/fob’s through the Z-Wave interface (some IDLock and Danalock models do). You can verify this easily.
You’re using the Enhanced Z-Wave DH so that good, open the IDE Live Logging, unlock your door using your RFID tag and look at what shows up on Live Logging. Filter the messages ONLY by those from the lock device (not the SmartApp or anything else, top row you can select the source of the logs in the IDE Live Logging).
PM me the messages (copy paste) and we’ll see what’s going on.

As for the reporting, yes you’re correct - we made a change some time ago to not allow only names to avoid confusion and improve reliability. For folks who just want reporting of the lock usage without the programming feature (intentional or not available, e.g. RFID programming), use this SmartApp

Just for the awareness of others - RBoy and I exchanged some logs from my lock via PM and he’s figured out how to report RFID usage, and that’s now available in the latest (v03.03.03) of the device handler. There are some things which need tweaking in the smart app - specifically, if you have tags and codes on the same slot number it can’t differentiate between them (so line up your slots across the two banks), but I’ve been super impressed with how quickly RBoy turned this around - thanks!


The updated Device Handler release notes, the SmartApp is already equipped to report the usage and will report it as UserX unlocked via RFID or Keypad as appropriate.

As @robal pointed out the way the lock is designed it has overlapping slots (1-20 for keypad codes and 1-20 for rfid codes), so when you’re registering the rfid card make sure you don’t use the same slots as the keypad users if you want the App to report and operate separate actions for each user. So use slots 1-10 for keypad and 11-20 for RFID and it should work fine.

Meanwhile we’re in touch with Yale product development team to try and fix this in the next firmware release.


I have been using your code with a Schlage BE469 for a while now, but sometime in the last few months of updates, I started to see this in my notifications:

<“Lock Name”> was locked by Master Code via keypad.

I can’t be sure, but I think this used to say something about being locked by the Schlage button, but I don’t have the logs from that long ago.

Can you confirm that something changed in your code causing this?

I wanted to check with you that this was the intended result of locking the door from the outside by pushing the Schlage button running under SA 05.05.01 and DH 03.03.01.

1 Like

Thanks for reporting this, yes this was due to a recent change in the Device Handler while adding support for reporting Master Codes. We will patch this up in the next release of the DH.

1 Like

###Door Lock Code Multi User Management with Notifications and Actions - Version 05.05.02

  • Update due to changes in the ST platform, now you can send SMS notifications to multiple numbers by separating them with a *

Recommend use the [Universal Enhanced Z-Wave Lock] ([RELEASE] Universal Enhanced Z-Wave Lock, Schlage Lock, Yale Lock, Kwikset Lock, IDLock, DanaLock and August Lock Device Handler with Alarm Control, Notification, RFID, Door Sensor and advanced features) device handler version 03.03.00 or newer for full SmartApp and automatic update notification functionality