Hi all,
I'm working on a custom ADU agent implementation running on Mbed-OS. I am using the embedded ADU agent samples for Azure RTOS as a reference, but the documentation leaves some questions unanswered.
It would be ideal if the "Device Update for IoT Hub and IoT Plug and Play" documentation actually covered what the ADU service expects from the client after each action has been sent. This would make the "plug and play" infrastructure a lot more usable outside of official demos and example applications.
I'm at the point where I have my device appearing in Azure ADU, I can deploy updates to it, the updates are downloaded, and the device reflashes itself with the update.
Once the device reboots, it reports the new installed update ID with the appropriate version to its digital twin. The Azure ADU service then reissues an "APPLY" action... which reboots the device again, and this continues forever.
I cannot find any clear documentation that mentions how the ADU service determines if a device should be categorized as "in progress", "done", etc.
How can I make the ADU service understand that the device updated successfully? I'm reporting the installed update ID as it appears in the manifest, I am setting the client state to idle with success response codes. What is the secret criteria ADU uses to determine if an update succeeded?

