update
The update command updates the SDVoE chipset firmware of a device.
| Command Type | SDVoE |
| Minimum Version | 2.2.x |
Usage
update <target> <firmwarepackage>
Arguments
| Argument | Required | Description |
|---|---|---|
target | Yes | Hostname or MAC address of the device to update. |
firmwarepackage | Yes | Filename of the firmware update package, as returned by firmware list. |
While an update is in progress, no other operations can be performed on the device. Once the update completes, a reboot must be issued for the changes to take effect. The device is in an undefined state until that reboot.
Examples
Update a device's SDVoE firmwareupdate D_AppleTv_dn300 1.5.0.105-DN-300-R4.apz
Return value
For each device targeted, the result contains either an entry in the update array (the update was accepted) or a device error object in the error array:
update D_AppleTv_dn300 1.5.0.105-DN-300-R4.apz{
"status": "SUCCESS",
"request_id": null,
"result": {
"update": [
{ "device_id": "6cdffb003882" }
],
"error": []
},
"error": null
}
Notifications
Three SDVoE event notifications are sent during the update:
| Event | Meaning |
|---|---|
FIRMWARE_UPDATE_START | The update has started. No operations can be performed on the device until it completes |
FIRMWARE_UPDATE_PROGRESS | The update is in progress |
FIRMWARE_UPDATE_COMPLETE | The update has completed |
Each event carries a request_id. Passing it to request returns the progress detail, which is how a client drives a progress bar:
request 12002, for a FIRMWARE_UPDATE_PROGRESS event{
"status": "SUCCESS",
"request_id": 12002,
"result": {
"update_progress": [
{
"device_id": "6cdffb003882",
"device_name": "D AppleTv dn300",
"progress": 2235136,
"total": 2424832
}
]
},
"error": null
}
progress and total are in arbitrary units and are only meaningful as a ratio.
REST API
| Endpoint type | SDVoE API command, forwarded to the Control Server |
|---|---|
| Address | /api/device/{target} |
| Role | Governed by the device lock rather than by a DisplayNet role |
{
"op": "update",
"file_name": "String"
}
Values labeled with a type name such as String or Integer are placeholders, not literal text. Replace them with actual values; fields marked (optional) can be omitted.
{target} takes a DisplayNet device name as readily as a device ID, and a locked device refuses a mutating operation. See SDVoE API operations for what DisplayNet adds to these calls.