The firmware update request can be done via Things5 platform. This action will trigger a MQTT message to be sent to the device [Sub] Update request.
Then the device needs to reply to the MQTT message using [Pub] Update response. Optionally the device can let Things5 know about the update progress using [Pub] Update progress
The other way around is also possible: the device can request the list of available firmware using [Req][Pub] Firmwares list request. Then using [Req][Pub] Firmware details request can get the file url containing the update, update the device and finally use [Evt][Pub] Firmware version request to let Things5 know that the device firmware has changed.