I have two Moodle 3.3.5 instances but the course grade doesn't sync to the LTI customer from the LTI provider.
Current course grade for user 94 is from the course 44 is 318,00 = Natural of the all rated activites.
enrol_lti\task\sync_grades gives an error:
Execute scheduled task: Publish as LTI tool grade sync (enrol_lti\task\sync_grades) ... started 10:46:09.
Current memory use 16.6Mt.
Starting - Grade sync for shared tool '1' for the course '44'.
Failed - The grade '0.51290322580645' for the user '94' in the tool '1' for the course '44' failed to send.
Skipping - Invalid grade for the user '92' in the tool '1' for the course '44'. Completed - Synced grades for tool '1' in the course '44'.
Processed 2 users; sent 0 grades. ... used 10 dbqueries ... used 30.015266895294
seconds Scheduled task complete: Publish as LTI tool grade sync (enrol_lti\task\sync_grades)
If i change course grade calculation to simple weighted means it doesn't help, no grade is passed from LTI provider to LTI customer Moodle.
I have the same problem:
When I use 2 Moodle instances both working with version 3.5.1, after the remote user (from LTI consumer) completes the activity, he can view the grade from the activity page ( Your final grade for this quiz is 6.67/10.00.)
And also in LTI provider site, admin user can see the grade of the remote user.
But in LTI consumer page, when the student and also the admin, want to check grade report the grade can not be viewed.
When I run the cron task (enrol_lti\task\sync_grades) from the LTI provider site as admin, the error message is like this:
Starting - Grade sync for shared tool '14' for the course '100'. Failed - The grade '0.666667' for the user '739' in the tool '14' for the course '100' failed to send.
Completed - Synced grades for tool '14' in the course '100'. Processed 1 users; sent 0 grades
Did you find a solution for your case?
It was an firewall issue for me, after solving it grade synced fine.