OTA Tasks
After learning how to upload a new version of the firmware, users can upgrade existing devices through remote OTA. In addition, when a problem occurs with the device, users can also try to repair the device through OTA. The following section will review how to create a new OTA job and manage published OTA tasks.
Start A New OTA Job
Follow these steps to start a new OTA job:
- Check the OTA image that you want to use for your OTA upgrade in the
Firmware Imagelist. - Go to
Firmware Images> Select the firmware >Actions>Start OTA. - Fill in the task name > Select the OTA target (device group or single node) >
Select the update type (Force PushorUser Approval) > Set the OTA time (optional) >Start OTA.
| Start a new OTA job |
|---|
![]() |
For testing purposes, please select the Force Push option, so that the OTA job information is sent to the node right away. Otherwise, the node(s) will get the OTA URL as per the OTA upgrade policy defined by auto fetch configuration.
Advanced Options
While creating an OTA Job, you can also choose some advanced options as shown below:
| Advanced Options |
|---|
![]() |
User Approval: End user has to approve the job before it is sent to the node.Notify User: Send a push notification to the user indicating availability of OTA, which the user can then approve or decline.
Apply at specific Device Time: Trigger the Job only during specific hours (like 2:00am-4:30am).OTA Job Valid for: Allow the job to be performed only between the specified dates.Priority(Available in Dashboard v2.3.0 onwards) : Allows users to set a priority for OTA job. Priority can be set between 1 to 9, 1 being the highest. Default priority is 5. Whenever a node asks for an OTA Job, cloud service will check the priority of available OTA jobs and send the one with highest priority. If there are multiple jobs with equal priority available, then the latest amongst them will be sent to the node.Host MCU: Use the OTA Image for upgrading the Host MCU instead of the ESP Wi-Fi MCU.
Apart from the user approval, the rest is sent as metadata to the node and is handled by the firmware logic.
Please check out additional information about this metadata here.
Dynamic OTA
While starting an OTA job, users can choose to set it as a Dynamic OTA. Dynamic OTA Jobs are rule-based and they target nodes by type, model, or firmware version. The Dynamic OTA option is available in the Advanced section of the Start OTA Job.
| Dynamic OTA |
|---|
![]() |
Dynamic OTA details will also be shown in the OTA job details page as shown in the image below.
| Dynamic OTA status |
|---|
![]() |
Network Serialised OTA (Available in Dashboard v2.6.0 onwards)
The Network Serialised OTA option is available in the Advanced section of the Start OTA Job. This advance option allows managing OTA delivery in constrained networks with timed slots.
Network Serialised Jobs helps control OTA delivery in networks with limited capacity (like Thread networks). They require OTA Task Duration (time in seconds for a node to finish the job, from download to reboot) and Min Wait, Max Wait (time range in seconds a node should wait before retrying if it cannot get a slot).
| Network Serialised OTA |
|---|
![]() |
Network Serialised OTA details will also be shown in the OTA job details page as shown in the image below.
| Network Serialised OTA |
|---|
![]() |
Manage Published OTA Tasks
Users can view published OTA tasks in the OTA Jobs interface. The interface will display the information filled in when creating a task in Firmware Images. The Status column has four states as compiled in the table below.
| Managing newly released OTA tasks |
|---|
![]() |
| State | Description |
|---|---|
Failed | OTA Failure |
Reject | OTA project not verified |
Active | OTA project upload completed and can be updated |
Finished | OTA task has been completed |
Users can cancel an OTA job midway, but the nodes that had already received the URL will continue with the upgrade.
Users can also retrigger (available in dashboard v2.6.1 onwards) the same OTA job by clicking the Retrigger button in actions column. The OTA job has to be in Active state however. The Retrigger button is also available in the job details page.
To understand how an OTA job work on the backend, please refer here






