Redfish Update and Task Services

UniStream PLCs support the Redfish Update Service and Task Service, enabling firmware and UniLogic application updates through standard Redfish actions.

Updates are executed asynchronously. Each update request creates a Redfish task that allows clients to monitor progress and status.

For complete Redfish specification details, refer to the DMTF Redfish Specification:
https://www.dmtf.org/sites/default/files/standards/documents/DSP0268_2025.3.pdf

Notes

  • Redfish Update and Task Services require an SD card.

  • Redfish license must be activated.

  • Update files are accessible via FTP or SFTP only.


Update Workflows

The Update Service supports three types of update workflows; application-only updates, firmware-only updates, and combined firmware and application updates. Each workflow follows a similar pattern but with specific differences in handling.

Actions:

Update Types:

 

 Redfish Update Actions - Execution Logic and Behavior

This section describes the execution logic, validation rules, and system behavior for Redfish firmware update actions.
The behavior depends on the selected action and the current firmware state. Reboot requirements are explicitly indicated for each case.

  1. SimpleUpdate Action - The SimpleUpdate action controls firmware extraction, staging, and activation based on the Stage and ForceUpdate parameters.

Stage

ForceUpdate

Behavior

Reboot Required

true

false

Extracts and stages the firmware. Activation is deferred until Activate or StartUpdate is invoked.

No

true

true

Staging takes precedence. ForceUpdate is ignored. Firmware is staged only.

No

false

true

Extracts and activates the firmware immediately.

Yes

false

false

Invalid parameter combination.

No

not provided

not provided

Default Stage=force,ForceUpdate=false -> ERROR or should we default to ForceUpdate=true?

Depends

 

  1. StartUpdate Action - The StartUpdate action activates all firmware that is currently staged on the system.

Condition

Behavior

Reboot Required

Staged firmware exists (Staged=true)

Activates all staged firmware

Yes

No staged firmware 

Returns warning “No staged updates found”

No

Firmware already active (Staged=false, Activate=true)

Returns warning “No staged updates found”

No

 

  1. Activate Action - The Activate action activates a specific firmware target identified in the request.

Condition

Behavior

Reboot Required

Target is staged (Staged=true)

Activates the specified target

Yes

Target not staged  (Staged=false)

ERROR:“Target not staged”

No

Target not found

ERROR:“Target not found”

No

No targets provided

ERROR:“Targets required”

No

 

 

 Modifying Service Properties via Ladder Logic

Use Set Service Property Ladder Element to modify service parameters at runtime, enabling dynamic configuration of service behavior from the PLC application.

Update Service

Parameter Name

Purpose

Service Enabled

Is update service enabled or not

Trigger Simple Update

Set when client triggers SimpleUpdate action

Trigger Start Update

Set when client triggers StartUpdate/Activation action

 

Task Service

Parameter Name

Purpose

Service Enabled

Is task service enabled or not

Completed Task Overwrite Policy

Policy for completed tasks
0 - Manual
1 - Oldest

Task Auto Delete Timeout (Minutes)

Timeout before auto-deleting completed tasks

Life Cycle Event On Task State Change

Sends lifecycle event on task state change

 

 Supported URIs

Main UpdateService URI

GET /redfish/v1/UpdateService

Action URIs

POST /redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate POST /redfish/v1/UpdateService/Actions/UpdateService.StartUpdate POST /redfish/v1/UpdateService/Actions/UpdateService.Activate

Inventory Collection URIs

GET /redfish/v1/UpdateService/FirmwareInventory GET /redfish/v1/UpdateService/SoftwareInventory

Active Inventory Items

GET /redfish/v1/UpdateService/SoftwareInventory/UnistreamFirmware GET /redfish/v1/UpdateService/SoftwareInventory/UniLogicApp

Staged Inventory Items

GET /redfish/v1/UpdateService/SoftwareInventory/StagedFirmware GET /redfish/v1/UpdateService/SoftwareInventory/StagedApplication GET /redfish/v1/UpdateService/SoftwareInventory/StagedCombined

Task Monitoring URIs

GET /redfish/v1/TaskService/Tasks/{TaskId} GET /redfish/v1/TaskService/Tasks/{TaskId}/Monitor

 

Complete URI Summary

URI

Method

Description

/redfish/v1/UpdateService

GET, PATCH

Main UpdateService Resource

/redfish/v1/UpdateService/UpdateServiceCapabilities

GET

Service Capabilities

/redfish/v1/UpdateService/FirmwareInventory

GET

Firmware Inventory Collection

/redfish/v1/UpdateService/SoftwareInventory

GET

Software Inventory Collection

/redfish/v1/UpdateService/SoftwareInventory/{InventoryId}

GET

Individual Inventory Item

/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate

POST

Perform SimpleUpdate Action

/redfish/v1/UpdateService/Actions/UpdateService.StartUpdate

POST

Perform StartUpdate Action

/redfish/v1/UpdateService/Actions/UpdateService.Activate

POST

Perform Activate Action

/redfish/v1/UpdateService/SimpleUpdateActionInfo

GET

SimpleUpdate Parameters

/redfish/v1/UpdateService/StartUpdateActionInfo

GET

StartUpdate Parameters

/redfish/v1/UpdateService/ActivateActionInfo

GET

Activate Parameters

 

 

Related Topics

Redfish

Redfish Events

Redfish Ladder Functions