[EDGE] Universal Enhanced Z-Wave Lock Driver for Schlage, Yale, Kwikset, IDLock, Popp, Danalock, August Pro, Keywe, Philia, Samsung

A “future proof” Universal Enhanced Z-Wave Lock driver

This driver is enhanced to fix bugs in the stock ST ZWave Lock driver, include patches for bugs in lock firmwares and bring out additional features for Schalge, Yale, Kwikset, IDLock, Popp, Samsung, Delaney, August Pro, Danalock, KeyWe, Philia, Vivint, Locstar etc zwave locks (see below for a full list of models and features). This works with all ZWave locks and newer ZWave Plus locks (see below for a list of locks tested).

It discovers/learns the lock features and automatically configures them. If a feature is not supported by the lock it will not show up or say Unsupported.

You need SmartThings Smart Lock Guest Access (SLGA), Advanced Web UI or a SmartApp like Lock User Management (LUM), Rental Lock Automater (RLA) to program user codes, create actions for locking/unlocking/user codes and notify you.

You can also use Routines and Scenes to create rules and access advanced features like the built in Alarms, One touch lock, Auto lock, Audio, Code entry, Action types, User names, User slot id’s, User pin codes and other lock features. These rules will run locally on the hub.

Automation Examples

Classic App

Comparison of lock model features

Cheapest and Best Z-Wave Smart Locks

Recommend reading these posts about limitations of specific lock models

Tested and verified and optimized on the following lock models:

  • Yale Z-Wave/Plus locks (zw, zw2, zw3 modules) (YRD 652/642/622/612/450/446/440/430/420/410/256/240/226/216/210, YRL 256/226/216, YRC 652/642/622/612/157/137, B1L, T1L, YRDxxx, YRLxxx, YRCxxx, Assa Abloy, Keyfree, Assure, Conexis, Touchscreen, Deadbolt, RealLiving, nexTouch, YDM7116) (DPS sensor)
  • Schlage Z-Wave/Plus locks (FE469, BE469, BE468, FE599, JEF109, BE369)
  • Kwikset Z-Wave/Plus locks (954/Obsidian, 916, 914, 912, 910, 888, 620, 6xx, 8xx, 9xx)
  • Vivint Z-Wave locks
  • DanaLock Z-Wave/Plus locks (V2/V3)
  • August Pro Z-Wave/Plus locks (door sensor)
  • IDLock Z-Wave/Plus locks (101/150) (door sensor)
  • Samsung Z-Wave/Plus locks (SHP-xxx, SHS-xxx)
  • Ultraloq (U-Bolt, U-Bolt Pro)
  • Alfred locks
  • Delaney Z-Wave/Plus locks (ZWxxx)
  • Locstar Z-Wave/Plus locks
  • Monoprice Z-Wave locks
  • KeyWe Z-Wave/Plus locks (door sensor)
  • Philia Z-Wave/Plus locks (door sensor)
  • Popp Z-Wave/Plus strike lock (POPE 012501) / keypad
  • TLJ Z-Wave Plus access control (deadbolt, lever, keypad)

Key features supported by driver (depending on lock model)

  • Automatic discovery of lock features
  • Program user and master codes
  • Scan for existing user codes / RFID tags
  • Display programmed user codes and RFID tags
  • Lock/Unlock
  • Privacy/Vacation/keypad control
  • Autolock
  • Audio/volume control
  • One touch/Lock n leave
  • Alarm mode
  • Alarm sensitivity
  • DPS/Door sense
  • Passage mode (semi-permanent unlock)
  • Manual/Keypad/Autolock/RFID/Bluetooth reporting
  • Temperature alarm
  • Tamper alerts
  • Emergency alerts (police/fire)
  • Battery life optimization
  • Configure lock settings (device settings page)
  • Enhanced programming communication for a weak mesh
  • Handling of missing information while pairing locks
  • Patch for firmware defects lock firmware which causes a loss of user details in lock/unlock notifications
  • Fix for pairing of some lock models causing loss of notifications

Most features can be accessed by the SmartThings mobile app Scenes and Routines to create custom rules and automations.

Pull down on the device page from the SmartThings mobile app to trigger a refresh and discover the locks capabilities and the supported tiles will be enabled.

NOTE: Only features for supported/discovered features will be enabled (if it’s greyed out or says Unsupported, it means the lock doesn’t support the feature/isn’t responding to the discovery request). It helps to add a buffering device/repeater within 20ft of your lock for best performance

You can find the installation/update instructions here.

List of available custom commands to use via SmartThings CLI/API:

  • disableAutolock
  • enableAutolock
  • enableKeypad
  • disableKeypad
  • enableAudio
  • disableAudio
  • disableOneTouchLock
  • enableOneTouchLock
  • setAlarm (“off”, “alert”, “tamper”, “forced”)
  • setSensitivity (“lowest”, “low”, “medium”, “high”, “highest”)

If you’re looking to capture specific events (e.g. invalid codes) and create custom actions/rules in CoRE/WebCoRE refer to this post.

You can use triggers to create custom automations to adjust the mode/sensitivity of the built in Schlage siren/alarm using the SmartThings mobile app scenes and routines with this driver.

There is also a legacy app.

Additional Z-Wave/Plus Lock Features (varies by model)

Schlage Locks

  1. Configure the Local Alarm Mode on the lock (Off/Alert/Tamper/Forced Entry) (FE469/BE469/BE469ZP)
  2. Configure the sensitivity of the Alarm for each mode (from Highest to Lowest in 5 steps) (FE469/BE469/BE469ZP)
  3. Change user pin code length for Schlage Connect (468/469/109 series)
  4. Enable/disable interior alarm buttom on lock (FE469/BE469/BE469ZP/469)
  5. Enable/disable AutoLock (JFE109/FE469/BE469/BE468/BE468ZP/BE469ZP)
  6. Enable/disable Keypad (Vacation Mode)
  7. Enable/disable Lock n Leave (one touch locking)
  8. Enable/disable the keypad Beeper
  9. Report if the user entered invalid codes through the ‘invalidCode’ attribute (fixed by lock at one report for every 4 attempts)
  10. Workaround for lock firmware bug in the FE599 and BE369 where it does not report the relock event after a user unlocks using a code
  11. Patch for firmware defect in Schlage Connect, JFE109/BE469/BE468/BE468ZP/BE469ZP/FE469ZP which causes a loss of user details in lock/unlock notifications

Yale Locks

  1. Enable/disable AutoLock
  2. Enable/disable Keypad (Vacation/Privacy Mode)
  3. Enable/disable the Audio/Speech and adjust volume
  4. Enable/disable One Touch Locking (Lock n Leave)
  5. Report if the user entered too many invalid codes through the ‘invalidCode’ attribute for SmartApps to use (configurable via device settings in Classic app)
  6. Report bluetooth/RFID cards usage (if reported)
  7. Configuration options (device settings page)
    • Auto relock timeout
    • Wrong code reporting threshold
    • Select volume level
    • Set vacation/privacy/passage mode
    • Eco mode
    • Activating/Reporting Yale Door Position Sensor (DPS) (if installed/reported)
  8. Patch for firmware defect in Yale keyless which causes a loss of user details in lock/unlock notifications

Kwikset Locks

  • 6xx Series Locks
    1. Enable/disable audio
    2. Configuration options (device settings page)
      • Enable/Disable Program button
  • 8xx Series Locks
    1. Enable/disable auto lock
    2. Configure auto lock timeout
    3. Enable/disable audio
    4. Configuration options (device settings page)
      • Auto relock timeout
  • 9xx Series Locks (DIP Switch)
    1. Report auto lock state (programmed via the dip switch on the lock)
    2. Report auto buzzer (audio) state (programmed via the dip switch on the lock)

IDLock Locks

  1. Enable/disable away mode
  2. Enable/disable auto lock
  3. Enable/disable audio/beeping
  4. Report door open/close state
  5. Report RFID card usage
  6. Program users and master codes
  7. Configuration options (device settings page)
    • Volume level
    • Unopened relock
  8. Patch for firmware defect in IDLock 150 which causes a loss of user details in lock/unlock notifications

Danalock Locks

  1. Enable/disable audio/beeping (v2)
  2. Enable/disable auto lock (v2/v3)
  3. Configuration options (device settings page)
    • Turn speed (v2)
    • Brake n go (v2)
    • Turn n go (v2)
    • Auto relock timeout (v2/v3)
    • Bluetooth always allowed (v2/v3)

Samsung Locks

  1. Enable/disable privacy mode (keypad lockout)

August Pro Locks

  1. Report door open/close state

Keywe Locks

  1. Report door open/close state

Philia Locks

  1. Report door open/close state

Popp Keypad

  1. Enable/disable audio/beeping

Popp Strike Lock (POPE021501)

  1. Enable automatic relock after unlocking
    • Adjust relock timeout
  2. Report door open/close state (DPS)

TLJ Locks

  1. Report door position sensor (DPS)
  2. Report RFID usage


  1. August Pro locks with the Door Position Sensor (DPS) and Yale locks which support the optional DPS sensor/module report door status over Z-Wave, Yale-August locks firmware don’t report DPS over Z-Wave
  2. Some Yale L1 locks reports RFID usage over Z-Wave, RFID locks cannot be programmed over Z-Wave with this Driver
  3. August Pro locks do not allow remote programming over Z-Wave (only reporting usage)
  4. Monoprice locks do not report usage over Z-Wave (only programming)
  5. Schlage BE369 report user code locked events as unlocked due to a lock firmware bug
  6. Kwikset/Vivint locks should have anti theft disabled or should be excluded from the old controller otherwise they won’t pair with the SmartThings hub
  7. Schlage locks with built in siren/alarm cannot be triggered externally, they only report when the siren/alarm is activated over Z-Wave. The mode and sensitivity can be configured over Z-Wave using this app
  8. Some locks with limited button keypads have restrictions on user codes, see this post for more details
  9. Locks report and behave differently to battery levels. Deadbolt locks have a higher battery drain, Schlage deadbolt locks tend to have communication issues when the battery level falls below 50% and can even die prematurely due to voltage drop issues. See this post of more details.

If you have any suggestions or requests please feel free to let us know

Check out these other SmartApps

[RELEASE] Door Chimes and Notifications for Doorbells and Sensors

[RELEASE] Security System: Intruder Alert with Actions

This driver is available on the RBOY APPS Server

Refer to our facebook page RBOY APPS SmartThings - Make your Home your Butler to get the latest news and updates.

The latest version is available on the RBOY APPS server

Copyright © RBOY APPS


You said the logs don’t have a alarm event? If there isn’t an alarm event sent from the lock there isn’t anything you can do.

I guess you could build something to listen for the alarm and then trigger something but that’s a lot of pain.

I get a “event” but would like to see an alarm notification (there is no notification from the app right now, just an event being logged), Any idea how to do that

Thats where i come in :smile:

Can you past the line for the event in the thread. Should be able to write some code for you.

Will get back to you, trying a few things and will post all codes. I’m seeing random codes also coming from the lock.

I’ll be waiting :smile:

I have this lock as well and would be happy to help if needed.

Awww man… Not you again :wink:

JK. We’re gonna be good friends Greg!

haha. well I was following this thread anyway to use whatever code came out of it. So I figured I’d speak up.

Just registering my interest in this as well, I have the same locks and would love to use it for more functionality. Happy to test and assist you guys.

Awesome! I don’t have one so i can’t look at logs. I just need to event it sends on alarm on and alarm off and should be able to action off that event.

I’ll test it when I’m back home tomorrow night if no one else has. I haven’t used the alarm yet so I don’t know how to set it off but I still have the manual.

1 Like

Enter the wrong code 4 times, if it’s set to tamper or forced entry it’ll go off (loud as heck!) keep the schlage button on the indoor side pressed to turn it off

That’ wierd I’m no longer seeing the code. Earlier I used to get codes like Code 1 and or Code 11 or Code 16 but I’m not seeing it
@zj4x4 see if you can get any codes from your system. I’ve been playing with mine so maybe I accidentally turned something off.

Okay here is what I’m seeing looking at the log history when I setup the lock initially here are the unknown codes:

The format is “Message” - “Value” as reported in the logs

Front Door was unlocked with code 4 - unlocked
Front Door code 0 is not set - 0
Front Door code 1 changed - 1
Front Door was unlocked with code 1 - unlocked
Front Door is jammed - unknown
Front Door code 5 is not set - 5
Front Door code 9 is not set - 9
Front Door code 11 is not set - 11
Front Door code 16 is not set - 16
Front Door code 22 is not set - 22

The last set of codes was when I was playing with the alarm. The jammed is a very cool thing if it can made to show up as an alarm that the door is jammed and not closed properly. The 0,1 and unknowns I don’t know why they popped up.

Does this help @tslagle13

1 Like

These are from the Event logs or the live logging in the IDE?

What I need is the event logs from the device queue. So go to the IDE>My Devices>Select your lock form the list>ListEvents>get me each event line for the alarm and jam events. SHould look like this…

The most important info here is the “Name” and “Value” fields.

A screenshot of this area would be ideal.

@tslagle13 here you go:

Date Source Type Name Value Displayed Text
2014-10-26 4:38:18.516 PM EDT
4 days ago DEVICE codeReport 22 Front Door code 22 is not set
2014-10-26 3:34:01.165 PM EDT
4 days ago DEVICE codeReport 16 Front Door code 16 is not set
2014-10-26 3:34:01.104 PM EDT
4 days ago DEVICE codeReport 16 Front Door code 16 is not set
2014-10-26 2:37:52.097 PM EDT
4 days ago DEVICE codeReport 11 Front Door code 11 is not set
2014-10-26 2:14:36.755 PM EDT
4 days ago DEVICE codeReport 9 Front Door code 9 is not set
2014-10-26 1:36:07.003 PM EDT
4 days ago DEVICE codeReport 5 Front Door code 5 is not set
2014-10-26 1:36:06.992 PM EDT
4 days ago DEVICE codeReport 5 Front Door code 5 is not set
2014-10-26 12:10:39.260 PM EDT
4 days ago DEVICE codeChanged 1 Front Door code 1 changed
2014-10-26 12:09:28.378 PM EDT
I4 days ago DEVICE codeReport 0 Front Door code 0 is not set
2014-10-26 11:55:02.215 AM EDT
4 days ago DEVICE lock unlocked Front Door was unlocked with code 4
2014-10-26 11:54:26.299 AM EDT
4 days ago DEVICE lock unknown Front Door is jammed

So summarize:

  1. Can ST notify the user with a pop up when the alarm goes off (I can’t seem to replicate getting a code from the lock anymore, so I guess this won’t work)
  2. Can ST use the alarm in the lock as an alarm device (turn on / off)?
  3. Can ST notify the user with a pop up when the door is jammed?


I need to look at this when i get home. IM affraid we won’t be able to read the alert. Looks like it doesn’t know what the event name is… but i may be able to hack something.

Does this include and event for the alarm? I don’t think i see it here.

Tim I don’t think there are events for the alarm function

That’s right I don’t see the alarm event here anymore. But I see the door jammed event which would be cool to have notified if the door jammed and didn’t close.

Also I’m guessing there’s no way to use the alarm built into the lock right?