[ST EDGE] Z-Wave Lock PH

Smart lock guest access.

1 Like

So, if I unlock a lock via the ST app device panel or if a Routine unlocks it, the unlockCodeName field does not get updated leaving the Lock State as β€œUnlocked” and β€œCode name used to unlock” as "Locked. A little confusing.

1 Like

No love for Yale locks? Curious if this or the other Lock driver is compatible. The driver ST migrated me to is broken for updating sharptools

What’s broken about it?

Just noticed that retrieving lockcodes lists only first 8 codes.
Though rest of the codes (nine onwards) of my Schlage BE469 are working fine, but when I set names to code slots or retrieve lockcodes list (in sharptools or in API browser lock status), only first 8 codes are listed.

I am using BETA version and i just added 4 keycode to my existing 2 default and 5 previously added codes. All of them are showing up.

1 Like

I will try the beta version but hopefully changing the drivers won’t affect my present settings and codes

@philh30 is it possible to add the ability to β€œsee” the door codes?

Changing the driver may re-initialize the lock code names in the ST App because the driver maintains the relationship of lock code slot and lock code name. It will not affect the codes programmed on your lock.

1 Like

I’m not sure there is a way to retrieve the actual lock codes that are programmed on the lock.

I didn’t see a method, but I tend to miss the obvious. I know I put them in, but sometimes I forget the values for other users.

You are correct there is no way to retrieve program codes.

1 Like

My workaround is to include the code in the User Name.

For example:
John - 1234
Phil - 5678

That way, I’m able to let people know their code when β€œthey” forget :wink:

2 Likes

Like I said before, I miss the obvious! I like that method!

1 Like

I have 15 codes set on my Schlage BE469 (through rboy app), shifted to phil’s edge driver, everything worked fine except for codeNames. I was running sharptool routine to name all the 15 slots and using it for notifications/automations.
Now, as advised, I have shifted to Phil’s beta driver and set names for codes through nameslot command in sharptools BUT only first 8 codenames are set and rest are showing as code 9, code 10 etc. In API browser, it says 8 codenames changed and showing only first 8 slots as codenames.
Though rest of unnamed codes are working fine but I am unable to set names on repeated tries.
Can anyone help pointing out solution.
Note: I don’t have SLGA in my region so have to set codeName through sharptools

I know that @philh30 did some work to override the default device handler behavior for lockCode handling. Not sure if that is affecting or not.

I was able to manually add a code with a name in slot 9 via the CLI and it displays properly in SLGA. So, one possibility is that the reloadAllCodes command for the lock is not properly handling the code names beyond the 8th slot.

The other possibility is that the lockCodes data structure isn’t properly populated because once I added the code to the 9th slot, the lockCodes capability was blank. After I deleted the code in the 9th slot, it was fine again. You can see that in the output below. SLGA would have know about the code name for that slot from the event of setting the code for that slot/name.f

I’d also be curious if the names show up properly in Sharptools if you set the code names from the CLI like I did in this example.

Before adding code to 9th slot:

? Select a component. 1
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Capability                           Attribute       Value                                                        
 lock                                 lock            "locked"                                                     
 battery                              battery         85 %                                                         
 platinummassive43262.unlockCodeName  unlockCodeName  "Locked"                                                     
 lockCodes                            codeLength      6                                                            
 lockCodes                            maxCodes        30                                                           
 lockCodes                            maxCodeLength                                                                
 lockCodes                            codeChanged     "8 unset"                                                    
 lockCodes                            lock                                                                         
 lockCodes                            minCodeLength                                                                
 lockCodes                            scanCodes       "Complete"                                                   
 lockCodes                            codeReport                                                                   
 lockCodes                            lockCodes       "{\"1\":\"Bruce and Teri\",\"2\":\"Gladys\",\"3\":\"Sean\"}" 
 tamperAlert                          tamper          "clear"                                                      

Add the code:

st devices:commands c51f9d0f-8e2b-4966-9644-6d5f5d889eeb main:lockCodes:setCode\(9,\"987654\",\"Test\"\)

After adding code:

? Select a component. 1
─────────────────────────────────────────────────────────────────
 Capability                           Attribute       Value      
 lock                                 lock            "locked"   
 battery                              battery         85 %       
 platinummassive43262.unlockCodeName  unlockCodeName  "Locked"   
 lockCodes                            codeLength      6          
 lockCodes                            maxCodes        30         
 lockCodes                            maxCodeLength              
 lockCodes                            codeChanged     "9 set"    
 lockCodes                            lock                       
 lockCodes                            minCodeLength              
 lockCodes                            scanCodes       "Complete" 
 lockCodes                            codeReport                 
 lockCodes                            lockCodes       "{}"       
 tamperAlert                          tamper          "clear"    
─────────────────────────────────────────────────────────────────

After removing code:

? Select a component. 1
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Capability                           Attribute       Value                                                        
 lock                                 lock            "locked"                                                     
 battery                              battery         85 %                                                         
 platinummassive43262.unlockCodeName  unlockCodeName  "Locked"                                                     
 lockCodes                            codeLength      6                                                            
 lockCodes                            maxCodes        30                                                           
 lockCodes                            maxCodeLength                                                                
 lockCodes                            codeChanged     "9 unset"                                                    
 lockCodes                            lock                                                                         
 lockCodes                            minCodeLength                                                                
 lockCodes                            scanCodes       "Complete"                                                   
 lockCodes                            codeReport                                                                   
 lockCodes                            lockCodes       "{\"1\":\"Bruce and Teri\",\"2\":\"Gladys\",\"3\":\"Sean\"}" 
 tamperAlert                          tamper          "clear"                                                      
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 Like

Thanks a lot for all this dig up. I will try setting through CLI once I have access to my PC, check in sharptools and report back. Though my routine in sharptools (if code 9 then set variable name to xxxx) is working fine for all purposes but I wanted to find out why names are not being set for code 9 and further through driver. Just another thing, after you set code 9, the lockCodes string went blank while in my case there was no change, it still shows the first 8 codeNames.

Yes, if the code names are set properly in the driver, you can eliminate the step of having to set a variable to identify who unlocked. I have some rules in Sharptools now that are directly using the $context.event.data.codeName variable in the flow of the rule.

Also, with Phil’s beta driver, you can access code names as triggers in Routines now.

2 Likes

Exactly, but I have to use variable routine for code 9 onwards due to mentioned problem.

1 Like

Assuming you remember code and name, have you tried manually readding a code? Maybe try a code 16 to not risk existing codes.

1 Like