@@ -1550,6 +1550,19 @@ local function clear_user_response_handler(driver, device, ib, response)
15501550 delete_aliro_from_table_as_user (device , userIdx )
15511551 delete_week_schedule_from_table_as_user (device , userIdx )
15521552 delete_year_schedule_from_table_as_user (device , userIdx )
1553+ if cmdName == " defaultSchedule" then
1554+ -- Update commandResult
1555+ local command_result_info = {
1556+ commandName = cmdName ,
1557+ userIndex = userIdx ,
1558+ statusCode = status
1559+ }
1560+ device :emit_event (capabilities .lockCredentials .commandResult (
1561+ command_result_info , {state_change = true , visibility = {displayed = false }}
1562+ ))
1563+ device :set_field (lock_utils .BUSY_STATE , false , {persist = true })
1564+ return
1565+ end
15531566 else
15541567 device .log .warn (string.format (" Failed to clear user: %s" , status ))
15551568 end
@@ -2418,17 +2431,22 @@ local function set_year_day_schedule_handler(driver, device, ib, response)
24182431 local cmdName = " addCredential"
24192432 local credIdx = device :get_field (lock_utils .CRED_INDEX )
24202433
2421- -- Update commandResult
2422- local command_result_info = {
2423- commandName = cmdName ,
2424- userIndex = userIdx ,
2425- credentialIndex = credIdx ,
2426- statusCode = status
2427- }
2428- device :emit_event (capabilities .lockCredentials .commandResult (
2429- command_result_info , {state_change = true , visibility = {displayed = false }}
2430- ))
2431- device :set_field (lock_utils .BUSY_STATE , false , {persist = true })
2434+ if status == " success" then
2435+ -- Update commandResult
2436+ local command_result_info = {
2437+ commandName = cmdName ,
2438+ userIndex = userIdx ,
2439+ credentialIndex = credIdx ,
2440+ statusCode = status
2441+ }
2442+ device :emit_event (capabilities .lockCredentials .commandResult (
2443+ command_result_info , {state_change = true , visibility = {displayed = false }}
2444+ ))
2445+ device :set_field (lock_utils .BUSY_STATE , false , {persist = true })
2446+ else
2447+ local ep = device :component_to_endpoint (command .component )
2448+ device :send (DoorLock .server .commands .ClearUser (device , ep , userIdx ))
2449+ end
24322450 return
24332451 end
24342452
0 commit comments