Hello @ethayer, thank you for sharing your awesome code! I was trying to find a way to configure a small number of access codes that will be disabled when we are at home or during specific day/times. I would like to do this to keep ‘services’ out of the house at any time other than when they are allowed in, or to keep relatives from entering the house instead of ringing the doorbell and letting us open the door (having the code doesn’t mean you can just walk in whenever you please… family or not). The first goal is for added security, the latter is just to combat bad habits that won’t go away even with kind reminders.
I am using the “Century Style Schlage Connect Touchscreen Deadbolt” on my front door and really like it. The biggest issue was the pin code management which you have resolved!
Would it be possible to have one or two codes that always work (not affected by schedule or other limitations), and a couple codes that are based on a schedule (plus any other applicable limitation)? An example limitation would be to only allow a code to work if the house is in “Away” mode so relatives cannot enter the house (without being let in) unless we are away (ie: to let the dog out).
I get the impression that the current code sets all users to the same schedule. Is that correct? If so, do I have to install multiple instances to set different schedules for different users?
BTW, the device type I am using was written by @garyd9 (Thank you!!) and was recently updated to support your smartapp.
Because of limitations on the scheduling calls, and for simplicity sake… any user(s) whom have different scheduling needs from other users should be initiated and handled by a different instance of the app.
I migrated over to the new hub yesterday and since then my Kwikset 916, which has been working perfectly, no longer reports the battery level. Anyone else with similar problems?
I am glad you mentioned this! I performed the “nightmare” V2 hub migration yesterday in the AM sans SmartThings support and have missing battery status.
The Kwikset SmartCode™ 916 Touchscreen Electronic Deadbolt with HomeConnect™ technology has been included in my V2 Hub network for over 24 hours and as of 3:00 EDT, I have no lock battery status. The tile has a field for the value, but is waiting for a value. I have pressed the refresh button several times still no battery status. Battery status was woking perfectly on V1 hub.
I also notice that SmartThings marketing staff and Kwikset must be feuding because SmartThings UI does not recognize the Kwikset 916 as a supported lock. The 916 is in the family of the Kwikset Zwave 914 which SmartThings does support `> (and “Yes”, I have asked SmartThings support about why they do not have the Kwikset 916 lock listed. Smartthings support provided no response to my requested email…which is typical!)
I made no changes. The changes were made by SmartThings. I did not analyze their changes, I simply merged them.
A summary of the changes can be found here:
@kurtsanders - Yes, that is the only change in the device driver from the default, coupled with the function itself.
def reportAllCodes(state) {
def map = [ name: "reportAllCodes", data: [:], displayed: false, isStateChange: false, type: "physical" ]
state.each { entry ->
//iterate through all the state entries and add them to the event data to be handled by application event handlers
if ( entry.key ==~ /^code\d{1,}/ && entry.value.startsWith("~") ) {
map.data.put(entry.key, decrypt(entry.value))
} else {
map.data.put(entry.key, entry.value)
}
}
sendEvent(map)
}
Note, this is not a change from previous versions of Lock Code Manager.
Thanks Erik for the confirmation. Your mods look fine.
I’m still scratching my head why the lock’s battery status does not report to the ST Tile from the device’s function calls. I see that the ST Developer only periodically checks and report the lock battery status based on last time checked, perhaps to save battery life with too many poll checks? Who knows?
Any thoughts on the missing battery status before I submit to ST Support?