Skip to main content

Dashboard FAQs

info

If you have any questions for Dashboard, please contact esp-rainmaker-support@espressif.com with a dashboard tag.


What is happening on the backend when OTA job is initiated on the dashboard?

Interaction between node and cloud

As the name suggests, the "OTA using Topics" method uses dedicated topics for OTA upgrades.

  • When the node connects to the MQTT broker, it subscribes to the topic node/<node_id>/otaurl.
  • Whenever an OTA is triggered from the dashboard using the Force Push option, the cloud service sends this information to the node on node/<node_id>/otaurl as shown below:
JSON Payload (Click to view)
{
"url": "<ota_image_url>",
"fw_version": "fw_version_string",
"ota_job_id": "<ota_job_id>",
"file_size": <num_bytes>,
"stream_id": "<mqtt_ota_stream_id>"
}
  • The node then starts downloading the image from the received <ota_image_url> and publishes the progress on node/<node_id>/otastatus in the following format:
JSON Payload (Click to view)
{
"ota_job_id": "<ota_job_id>",
"status": "<in-progress/success/fail>",
"additional_info": "<additional_info>"
}
  • The OTA job ends when all nodes have either reported success or failed.

Advanced Options

When any of the advanced options are selected, additional metadata is sent to the node along with the utl and other details. For example:

JSON Payload (Click to view)
{
"url": "<ota_image_url>",
"fw_version": "fw_version_string",
"ota_job_id": "<ota_job_id>",
"file_size": <num_bytes>,
"stream_id": "<mqtt_ota_stream_id>",
"metadata": {
"download_window": {
"start": 120,
"end": 270
},
"esp.ota.target": "host_mcu",
"validity": {
"start": 1703788200,
"end": 1703961000
}
}
}

As can be seen above

  • The download window starts at 120 minutes (02:00am) and ends at 270 minutes (4:30am).
  • Validity starts at 1703788200 and ends at 1703961000, which are 12:00am IST for 29 Dec and 31 Dec, which was chosen while creating the job.
  • "esp.ota.target": "host_mcu" indicates that this OTA is for Host MCU.
tip

Note that the framework allows you to add even more custom data in the metadata field as per your requirements. The ones shown here are just the ones sent by the current RainMaker dashboard.

On this page