Appearance
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
