Thank you, Akcoder!. I’m new here, so I’m not yet familiar with all the forum rules—please excuse that. I’ve updated my post to make sure it now complies with the guidelines.
In addition, I do have a workaround: clearing all device data to force it to create a new Download object. However, this approach is only feasible for a small number of individual devices and cannot be applied at scale.
Therefore, I’d like to ask this question to better understand how the ACS handles this scenario, and to find a solution that can be applied to a large number of devices, especially as firmware upgrades become more frequent.
Why do you have different time values for the timestamp .Download param? The timestamp param tells GenieACS not to do anything unless the timestamp value given is newer than what is stored in the db.
I bet it starts working if you replace updateTime with Date.now()
Sorry, my mistake! At the first time I used “let updateTime= Date.now() + 60”, but before asking this question, I already change all the value to “Date.now()”, and this situation happended even all the value is “Date.now()”.
Yes, FS service is running and no problem with CPE to get file from server. I guess in this case ACS doesn’t trigger “Download” procedure when “Download.1” object instance already exists, but don’t understand why and what is the condition to trigger download.
Something I thought of, but have not tried. To rule out issues with the Downloads param, you can try clearing it first. clear('Downloads', Date.now());
Thank you so much for your guidance, akcoder!. Let me try this solution.
Besides, I’m still trying to find out what happened, and I will come back if I find something.