Code to check for new Product Firmware Releases

At the moment I release new firmware onto my product dashboard and then call a cloud restart function. This restarts my devices and they flash with the new firmware.

Is there any way to tell the devices there is new firmware available so that it can be flashed without having to restart them all?

I thought that System.updatesPending() looked promising but it never returned true when new firmware was available.