Yale YRD210 Zigbee Lock

I have a couple of Yale YRD210 locks with Zigbee added to my Smartthings Hub. Since the migration to the Edge drivers, at which point I deleted and re-added the devices, I have been missing a couple of capabilities:

  1. Ability to manage lock codes either on my phone or elsewhere
  2. Ability to set up automation routines based on the code associated with the unlock event

Looking at the code at SmartThingsEdgeDrivers/drivers/SmartThings/zigbee-lock/src/init.lua, it looks like the events are being emitted and there are capabilities to configure the lock codes. It is possible that I’m missing an obvious step or maybe the driver is not configured correctly on my hub. I will appreciate any help in getting these issues resolved.

Add the Smart Lock Guest Access app within the Smart Things app from the Life section and you can add and delete codes.

Lock codes are now managed in the SmartThings Lock Guest Access (SLGA) smartapp. You should find it on the Life tab.



The stock lock drivers for both Z-Wave and Zigbee do not have lockCodes codeName defined in the Automations section of the presentation. You need a community developed driver to expose that capability and I’m not sure if there are any. Possibly the Zigbee Lock Mc driver from @Mariano_Colmenarejo. You can subscribe to his channel here and try his driver.

Nope, it is not exposed. I have to use Sharptools for this.

Yeah, that’s what I thought. I had hoped that Mariano would use Phil’s Z-Wave implementation as a model for exposing it.

I had used Sharptools until Phil added it to the Schlage Z-Wave lock. For the OP, you can get the codeName from the event data in Sharptools and use it as conditions in the Flow section. It requires the paid tier which is $30/yr. Here is an example of using it for notifications:

In addition to being able to add/delete codes and change code names in SLGA, you can use the ST CLI and the ST Advanced Web App to manage codes and code names.

bep@debian12:~$ smartthings devices:commands 
.....

? Select a device. 67

Laundry Room Door Lock

Components:
─────────────
 1  main     
 2  settings 
─────────────

? Enter component index or id 1

Capabilities:
────────────────────────────────────────
 1  lock                                
 2  platinummassive43262.unlockCodeName 
 3  lockCodes                           
 4  tamperAlert                         
 5  battery                             
 6  refresh                             
────────────────────────────────────────

? Enter capability index or id 3

Commands:
───────────────────────────────────────────────────────────────────
 1   setCodeLength(length<integer>)                                
 2   reloadAllCodes()                                              
 3   unlock()                                                      
 4   unlockWithTimeout()                                           
 5   setCode(codeSlot<integer>, codePIN<string>, codeName<string>) 
 6   updateCodes(codes<JsonObject>)                                
 7   lock()                                                        
 8   requestCode(codeSlot<integer>)                                
 9   deleteCode(codeSlot<integer>)                                 
 10  nameSlot(codeSlot<integer>, codeName<string>)                 
───────────────────────────────────────────────────────────────────

? Enter command 

Also, in the Edge architecture, the codeSlot to codeName association is maintained by the driver so if you change drivers, it will clear out the codeNames. It’s good to periodically take a snapshot of those relationships in the AWA or the CLI.

smartthings devices:component-status 
.....
? Select a device. 67
───────────────────
 #  Id             
───────────────────
 1  main (default) 
 2  settings       
───────────────────
? Select a component. 1
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Capability                           Attribute       Value                                                                                                                                              
 lock                                 lock            "locked"                                                                                                                                           
 battery                              battery         96 %                                                                                                                                               
 platinummassive43262.unlockCodeName  unlockCodeName  "Locked"                                                                                                                                           
 lockCodes                            codeLength      6                                                                                                                                                  
 lockCodes                            maxCodes        30                                                                                                                                                 
 lockCodes                            maxCodeLength                                                                                                                                                      
 lockCodes                            codeChanged     "7 set"                                                                                                                                            
 lockCodes                            lock                                                                                                                                                               
 lockCodes                            minCodeLength   8                                                                                                                                                  
 lockCodes                            codeReport                                                                                                                                                         
 lockCodes                            scanCodes       "Complete"                                                                                                                                         
 lockCodes                            lockCodes       "{\"1\":\"Bruce and Teri\",\"2\":\"Gladys\",\"3\":\"Sean\",\"4\":\"Studio Guest Laundry\",\"5\":\"Jeremy\",\"6\":\"Maddie Davis\",\"7\":\"Lyss\"}" 
 tamperAlert                          tamper          "clear"                                                                                                                                            
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────