@@ -295,31 +295,31 @@ end
295295
296296local migrate = function (driver , device , command )
297297 local lock_users = {}
298- local lock_credentails = {}
299- local index = 0
298+ local lock_credentials = {}
299+ local index = 1
300300 for code_slot , code_name in pairs (lock_utils .get_lock_codes (device )) do
301301 table.insert (lock_users , {userIndex = index , userType = " guest" , userName = code_name })
302- table.insert (lock_credentails , {userIndex = index , credentialIndex = code_slot , crednetialType = " pin" })
302+ table.insert (lock_credentials , {userIndex = index , credentialIndex = tonumber ( code_slot ), credentialType = " pin" })
303303 index = index + 1
304304 end
305305
306- local code_length = device :get_field ( capabilities .lockCodes .codeLength )
307- local max_code_len = device :get_field ( capabilities .lockCodes .maxCodeLength )
308- local min_code_len = device :get_field ( capabilities .lockCodes .minCodeLength )
309- local max_codes = device :get_field ( capabilities .lockCodes .maxCodes )
306+ local code_length = device :get_latest_state ( " main " , capabilities .lockCodes .ID , capabilities . lockCodes . codeLength . NAME )
307+ local max_code_len = device :get_latest_state ( " main " , capabilities .lockCodes .ID , capabilities . lockCodes . maxCodeLength . NAME )
308+ local min_code_len = device :get_latest_state ( " main " , capabilities .lockCodes .ID , capabilities . lockCodes . minCodeLength . NAME )
309+ local max_codes = device :get_latest_state ( " main " , capabilities .lockCodes .ID , capabilities . lockCodes . maxCodes . NAME )
310310
311311 if (code_length ~= nil ) then
312312 max_code_len = code_length
313313 min_code_len = code_length
314314 end
315315
316- device :set_field ( capabilities . lockCredentials . minPinCodeLen , min_code_len , { persist = true } )
317- device :set_field ( capabilities . lockCredentials . maxPinCodeLen , max_code_len , { persist = true } )
318- device :set_field ( capabilities . lockCredentials . pinUsersSupported , max_codes , { persist = true } )
319- device :set_field ( capabilities . lockCredentials . credentials , lock_credentails , { persist = true } )
320- device :set_field ( capabilities . lockUsers . users , lock_users , { persist = true } )
321- device :set_field ( capabilities . lockCredentials . supportedCredentials , {" pin " }, { persist = true } )
322- device :set_field ( capabilities . lockCodes . migrated , true , { persist = true } )
316+ device :emit_event ( LockCredentials . minPinCodeLen ( min_code_len , { visibility = { displayed = false } }) )
317+ device :emit_event ( LockCredentials . maxPinCodeLen ( max_code_len , { visibility = { displayed = false } }) )
318+ device :emit_event ( LockCredentials . pinUsersSupported ( max_codes , { visibility = { displayed = false } }) )
319+ device :emit_event ( LockCredentials . credentials ( lock_credentials , { visibility = { displayed = false } }) )
320+ device :emit_event ( LockCredentials . supportedCredentials ({ " pin " }, { visibility = { displayed = false } }) )
321+ device :emit_event ( LockUsers . users ( lock_users , { visibility = { displayed = false } }) )
322+ device :emit_event ( LockCodes . migrated ( true , { visibility = { displayed = false } }) )
323323end
324324
325325local function device_added (driver , device )
0 commit comments