Skip to content

Control Interface (control)

The Control (control) interface provides a standard method for interacting with programmed devices such as Control Processors and Digital Signal Processors where a control within the program is assigned an ID allowing for external control.

The interface allows for getting/setting control values, retriving the current state of all controls and recalling pre-programmed presets within the device.

ControlInterface

control

Get/set the current value of the provided control id:

Get

To get the current value of a control, provide the id as a data attribute:

json
{
    "msg": "io.upswell.xagent.ControlRequest",
    "device": "<device alias>",
    "method": "control",
    "data": {
        "type": "ControlGet",
        "id": "2060"
    },
    "mid": "123abc"
}

Accepts: ControlGet / Returns: ControlState or RequestError

Set

To set the value of a control, provide the id and value as a data attribute:

json
{
    "msg": "io.upswell.xagent.ControlRequest",
    "device": "<device alias>",
    "method": "control",
    "data": {
        "type": "ControlSet",
        "id": "2060",
        "value": 0
    },
    "mid": "123abc"
}

Accepts: ControlSet / Returns: ControlState or RequestError

controls

Request the current value of all controls, typically to populate a UI, or sync an external applications state:

json
{
    "msg": "io.upswell.xagent.ControlRequest",
    "device": "<device alias>",
    "method": "controls",
    "mid": "123abc"
}

Accepts: None / Returns: ControlStates or RequestError

preset

Recall a preset on the device:

json
{
    "msg": "io.upswell.xagent.ControlRequest",
    "device": "<device alias>",
    "method": "preset",
    "data": {
        "type": "ValueSet",
        "id": "0"
    },
    "mid": "123abc"
}

Accepts: ValueSet / Returns: Ack or RequestError

Device's implementing push messages should also receive a ControlState message for each control modified by the preset.

RawInterface

The Raw interface provides the raw method, allowing for developers to access commands not implemented by a Control Gateway Interface.

raw

json
{
    "msg": "io.upswell.xagent.ControlRequest",
    "device": "<device alias>",
    "method": "raw",
    "data": {
        "type": "ValueSet",
        "value": "MCD"
    }
    "mid": "123abc"
}

Accepts: ValueSet / Returns: Any

Atlas, Hybrid cloud, on-premesis platform for large scale media program development, delivery and operation.