Push firmware or file to device
download_firmwareInstruct a CPE device to download and apply a firmware or config file stored on GenieACS, queue the task, and trigger a connection request; verify file metadata first.
Instructions
Tell a CPE device to download and apply a file stored on GenieACS: a firmware image, a configuration file or another file the device accepts. A wrong image can leave a device unusable, so check the file's metadata (genieacs://file/{name}: OUI, product class, version) against the device first. GenieACS queues a download task and sends a connection request at once; the transfer itself can take minutes after the tool returns. Check genieacs://tasks/{device_id} and genieacs://faults/{device_id} afterwards. Example: download_firmware(device_id="202BC1-BM632w-000001", file_id="firmware-v2.0.bin").
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"device_id": "<device_id>",
"file_id": "<file_id>"
},
"name": "download_firmware"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | The _id of the file on GenieACS, which is its filename, e.g. "firmware-v2.0.bin". Check it exists with genieacs://file/{name}. | |
| filename | No | Optional target file name sent to the device (TR-069 TargetFileName). Omit it to let the device choose. | |
| device_id | Yes | The GenieACS device id (the _id field), exactly as GenieACS stores it, usually OUI-ProductClass-SerialNumber, e.g. "202BC1-BM632w-000001". GenieACS escapes characters other than letters and digits inside the product class and serial as %XX (a "-" there becomes "%2D"), so copy ids from genieacs://devices/list or search_devices rather than typing them. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | The task document GenieACS returned. | |
| status | Yes | done: the device ran the task in the session GenieACS opened at once. queued: the device did not answer within 3 seconds, so the task runs at its next inform or connection request. | |
| message | Yes | What happened, in one sentence. | |
| task_id | No | The GenieACS task id; use it with delete_task or retry_task, or look for it in genieacs://tasks/{device_id}. | |
| device_id | Yes | The device the task was queued on. |