Smart lock guest access.
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.
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.
I will try the beta version but hopefully changing the drivers wonβt affect my present settings and 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.
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.
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
Like I said before, I miss the obvious! I like that method!
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"
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
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.
Exactly, but I have to use variable routine for code 9 onwards due to mentioned problem.
Assuming you remember code and name, have you tried manually readding a code? Maybe try a code 16 to not risk existing codes.