介绍
本文通过对该中控控制API指令的功能说明和语法的详细介绍,使阅读人员能够快速了解中控控制模块的相关功能,并能指导开发人员完成后续的开发编码工作。能够根据说明完成与yealink VCS 产品的网络模式的控制主机的开发。
快速入门
网络模式配置
设备支持网络模式对主机设备进行控制,采用TCP协议建立连接,客户端需要知道主机的ip地址和端口号才能连接主机端。
以下是网络模式需要配置的参数:
CT200/CT300的Socket模式的控制端口配置为:6024
IP地址可以根据实际情况填写即可
密码鉴权
如果CT200/CT300的Socket模式开启了密码鉴权,通过TCP协议建立连接时,需要输入密码并鉴权通过后,才能正常执行中控指令。输入密码格式为 "XXXX\r\n" ,其中XXXX为正确的密码。
例如:建立TCP连接后,收到"Password:\r\n"信息,即提示需要输入鉴权密码。
当前输入错误的密码,连接会返回"Invalid Password!\r\nPassword:\r\n",提示需要重新输入密码进行鉴权。
只要输入正确的密码,连接会返回"welcome yealink centralcontrol"。
API指令
基本语法说明
本介绍设备中控API指令说明文件,为了便于说明API指令语法,对API书写的格式做如下声明与约定:
指令单词均为小写
指令基本结构:命令+参数
参数组成:参数名+参数值,以 (:) 号分隔,指令参数同HTTP API格式,以json字串形式传输
存在部分特殊参数使用 key:value 的形式进行传参。
基本数据包格式说明
发送格式说明: 采用\r\n (回车换行符)作为结束标识符,所有API 指令发送最后都需要加入\r\n结束的标识符
返回格式说明:采用\r\n作为结束标识符,所有返回包都会带有\r\n的结束标识符
指令基本格式:
Command + \r\n(无参数类型)
Command + 空格 + json字符串 + \r\n(带参数类型)
Command + 空格 + key:value + \r\n(带关键信息)
Command + 空格 + key:value + 空格 + json字符串 + \r\n(带参数及关键信息)
基础API
获取设备信息列表
指令
system get devices
返回参数
参数 数据类型 描述
id String 设备UUID
name String 设备名称
model String 设备型号
type String 设备类型 Encoder Decoder
ipAddress String 设备IP地址
macAddress String macAddress
status String 设备状态 Online Offline
发送示例
system get devices\r\n
返回示例
system get devices {"data":{"list":[{"createTime":1770195884834,"deviceId":5,"firmwareVersion":"316.435.254.103","groupId":"CONTROL_DEFAULT_DEVICE_GROUP","id":"EN300_44dbd2dde825","ipAddress":"10.57.20.69","macAddress":"44DBD2DDE825","model":"EN300","modifyTime":1770195884834,"name":"EN300-DDE825","status":"Offline","tag":"","type":"Encoder"},{"createTime":1770889453212,"deviceId":9,"firmwareVersion":"343.435.254.68","groupId":"CONTROL_DEFAULT_DEVICE_GROUP","id":"DE300_44dbd2dde614","ipAddress":"10.57.20.45","macAddress":"44DBD2DDE614","model":"DE300","modifyTime":1770889453212,"name":"DE300-DDE614","status":"Offline","tag":"DE300-TV-1","type":"Decoder"}]},"error":null,"ret":1}
设置音视频路由
指令
set audio and video routing
请求参数
参数 参数类型 数据类型 是否必需 描述
transmitterMac Body String 是 发送端的MAC地址
receiverMac Body String 是 接收端的MAC地址
signal Body String 是 路由信号 Audio/Video Video Audio
action Body String 是 区分signal操作是开启还是关闭。 open close
返回参数
参数 数据类型 描述
ret Integer 操作失败返回-1,成功返回>=0
发送示例
set audio and video routing {"transmitterMac":"44DBD2DDE744","receiverMac":"44DBD2CAD485","signal":"Audio/Video","action":"open"}\r\n
返回示例
set audio and video routing {"data":null,"error":null,"ret":0}\r\n
获取音视频路由状态
指令
get audio and video routing info
返回参数
参数 数据类型 描述
groupId String 分组ID
transmitterMac String 发送端的MAC地址
receiverMac String 接收端的MAC地址
signal String 路由信号 Audio/Video Video Audio
发送示例
get audio and video routing info\r\n
返回示例
get audio and video routing info {"data":{"groupId":"CONTROL_DEFAULT_DEVICE_GROUP","routing":[]},"error":null,"ret":1}\r\n
获取音视频预置路由列表
指令
get audio and video matrix preset list
返回参数
参数 数据类型 描述
groupId String 分组ID
presetId String 路由ID
name String 路由名称
enable Integer 是否应用 0-未应用 1-应用
发送示例
get audio and video matrix preset list\r\n
返回示例
get audio and video matrix preset list {"data":{"presetList":[]},"error":null,"ret":1}\r\n
调用音视频预置路由
指令
apply audio and video matrix preset
请求参数
参数 参数类型 数据类型 是否必需 描述
presetId Body String 是 路由ID
返回参数
参数 数据类型 描述
presetId String 路由ID
发送示例
apply audio and video matrix preset {"presetId":"9af5249f-45dd-b71d-d59c-e7a0d58c1824"}\r\n
返回示例
apply audio and video matrix preset {"ret":1,"data":{"presetId":"1e65020e-6064-9bd0-1d6b-8de77400c884"},"error":null}\r\n
设置USB路由(包含取消路由)
指令
set usb routing
请求参数
参数 参数类型 数据类型 是否必需 描述
mode Body String 是 usb路由模式: Manual
routing Body Array 是 路由列表
transmitterMac Body String 是 传输器MAC地址
transmitterIp Body String 是 传输器IP地址
receiverMac Body String 是 接收器MAC地址
receiverIp Body String 是 接收器IP地址
signal Body String 是 信号类型 Audio/Video None (取消路由)
返回参数
参数 数据类型 描述
ret Integer 操作失败返回-1,成功返回>0
发送示例
set usb routing {"mode":"Manual","routing":[{"transmitterMac":"2458122467125568","transmitterIp":"10.60.26.16","receiverMac":"5468124591324158","receiverIp":"10.60.26.17","signal":"Audio/Video"}]}\r\n
返回示例
set usb routing {"ret":0,"data":null,"error":null}\r\n
获取USB路由列表
指令
get usb routing list
返回参数
参数 数据类型 描述
groupId String 分组ID
mode String usb路由模式: Manual
routing Array 路由列表
transmitterMac String 传输器MAC地址
receiverMac String 接收器MAC地址
发送示例
get usb routing list\r\n
返回示例
get usb routing list {"data":{"groupId":"CONTROL_DEFAULT_DEVICE_GROUP","mode":"Manual","routing":[]},"error":null,"ret":1}\r\n
获取自动路由列表
指令
get auto routing list
返回参数
参数 数据类型 描述
groupId String 分组ID
autoId String 自动路由组ID
name String 路由名称
enable Integer 是否应用 0 - 未应用 1 - 应用
发送示例
get auto routing list\r\n
返回示例
get auto routing list {"data":{"groupId":"CONTROL_DEFAULT_DEVICE_GROUP","presetList":[{"autoId":"1a99bc39-07f7-11f1-9b41-e08b94b34d19","createTime":1772264772182,"enable":1,"modifyTime":1772264772182,"name":"Auto DE300-TV-1","routing":[{"enable":0,"receiverId":"DE300_44dbd2dde614","receiverIp":"","receiverMac":"44DBD2DDE614","receiverName":"DE300-1","receiverType":"decoder","transmitterId":"","transmitterIp":"","transmitterMac":"","transmitterName":"EN300-1","transmitterType":"encoder"}]}]},"error":null,"ret":1}\r\n
启动自动路由
指令
enable auto routing
请求参数
参数 参数类型 数据类型 是否必需 描述
autoId Body String 是 自动路由组ID
返回参数
参数 数据类型 描述
autoId String 自动路由组ID
发送示例
enable auto routing {"autoId":"e614bccc-12ea-11f1-9b43-9a5adfacfcbc"}\r\n
返回示例
enable auto routing {"ret":1,"data":{"autoId":"e614bccc-12ea-11f1-9b43-9a5adfacfcbc"},"error":null}\r\n
关闭自动路由
指令
disable auto routing
请求参数
参数 参数类型 数据类型 是否必需 描述
autoId Body String 是 自动路由组ID
返回参数
参数 数据类型 描述
ret Integer 操作失败返回-1,成功返回>0
发送示例
disable auto routing {"autoId":"e614bccc-12ea-11f1-9b43-9a5adfacfcbc"}\r\n
返回示例
disable auto routing {"ret":0,"data":null,"error":null}\r\n
编解码器API
设置编解码器视频矩阵配置
指令
set video matrix
请求参数
参数 参数类型 数据类型 是否必需 描述
batchConfig Body Object 否 批量配置参数
batchList Body Array 否 批量配置的设备UUID列表
singleList Body Array 否 单台配置参数列表
model Body String 是 设备类型
mac Body String 是 设备mac地址
ENCODER
lanOut Body String 是 LAN out输出视频源,默认为usb-c
lanOutSwitching Body String 是 LAN out自动转换的开关 1-开启 0-关闭
loopOut Body String 是 Loop out输出视频源,默认为usb-c
loopOutSwitching Body String 是 Loop out自动转换的开关 1-开启 0-关闭
DECODER
autoSwitching Body Integer 是 功能自动切换的开关 1-开启 0-关闭
hdmiOut Body String 是 可选: none hdmi input1 lan in
videoCaptureOut Body String 是 可选: none hdmi input1 lan in
返回参数
参数 数据类型 描述
ret Integer 操作失败返回-1,成功返回>0
发送示例
set video matrix {"singleList":[{"model":"EN300","mac":"44DBD2CE2D06","lanOut":"usb-c","lanOutSwitching":1,"loopOut":"usb-c","loopOutSwitching":1}]}\r\n
返回示例
set video matrix {"ret":0,"data":null,"error":null}\r\n
获取编解码器视频矩阵配置
指令
get video matrix info
请求参数
参数 参数类型 数据类型 是否必需 描述
list Body Array 是 设备UUID列表
model Body String 是 设备型号
mac Body String 是 设备mac地址
返回参数
参数 数据类型 描述
reqFinish Integer 请求是否结束标志 1-停止请求 0-继续请求
id String 设备UUID
type String 设备类型 encoder-编码器 decoder-解码器
name String 设备名
model String 设备型号
ENCODER
lanOut String LAN out输出视频源,默认为usb-c
lanOutSwitching String LAN out自动转换的开关 1-开启 0-关闭
loopOut String Loop out输出视频源,默认为usb-c
loopOutSwitching String Loop out自动转换的开关 1-开启 0-关闭
DECODER
autoSwitching Integer 功能自动切换的开关 1-开启 0-关闭
hdmiOut String 可选 none hdmi input1 lan in
videoCaptureOut String 可选 none hdmi input1 lan in
发送示例
get video matrix info {"list":[{"model":"EN300","mac":"44DBD2DDE744"}]}\r\n
返回示例
get video matrix info {"ret":1,"data":{"reqFinish":1,"list":[{"id":"EN300_44dbd2dde744","type":"encoder","name":"VP59","model":"VP59","lanOut":"usb-c","lanOutSwitching":1,"loopOut":"usb-c","loopOutSwitching":1}]},"error":null}\r\n
设置编解码器USB配置
指令
set usb
请求参数
参数 参数类型 数据类型 是否必需 描述
usbMode Body String 是 USB信号模式 transmitter receiver
usbSwitch Body String 是 本地USB Switch模式 follow_video manual
usbHost Body String 是 手动manual模式下选择 usb_host1 usb_host2 usb_c
list Body Array 是 设备UUID列表
返回参数
参数 数据类型 描述
ret Integer 操作失败返回-1,成功返回>0
发送示例
set usb {"usbMode":"transmitter","usbSwitch":"manual","usbHost":"usb_c","list":[{"model":"EN300","mac":"44DBD2DDE744"}]}\r\n
返回示例
set usb {"ret":0,"data":null,"error":null}\r\n
获取编解码器USB配置
指令
get usb info
请求参数
参数 参数类型 数据类型 是否必需 描述
model Path String 是 设备型号
mac Path String 是 设备Mac地址
返回参数
参数 数据类型 描述
usbMode String USB信号模式 transmitter receiver
usbSwitch String 本地USB Switch模式 follow_video manual
usbHost String 手动manual模式下选择, usb_host1 usb_host2 usb_c
发送示例
get usb info model:EN300 mac:44DBD2DDE744\r\n
返回示例
get usb info {"ret":1,"data":{"usbMode":"transmitter","usbSwitch":"manual","usbHost":"usb_c"},"error":null}\r\n
设置编解码器Audio配置
指令
devices set audio
请求参数
参数 参数类型 数据类型 是否必需 描述
batchConfig Body Object 否 批量配置参数
batchList Body Array 否 批量配置的设备UUID列表
singleList Body Array No 单台配置参数列表
model Body String 是 设备类型
mac Body String 是 设备mac地址
analogAudioOut Body Integer 是 HDMI Out音频输出开关 1-开启 0-关闭
audioOutVolume Body String 是 音频输出音量,0-100
返回参数
参数 数据类型 描述
ret Integer 操作失败返回-1,成功返回>0
发送示例
devices set audio {"singleList":[{"model":"EN300","mac":"44DBD2DDE744","analogAudioOut":1,"audioOutVolume":80}]}\r\n
返回示例
devices set audio {"ret":0,"data":null,"error":null}\r\n
获取编解码器Audio配置
指令
get audio config info
请求参数
参数 参数类型 数据类型 是否必需 描述
list Body Array 是 设备列表
model Body String 是 设备型号
mac Body String 是 设备mac地址
返回参数
参数 数据类型 描述
reqFinish Integer 请求是否结束标志 1-停止请求 0-继续请求
id String 设备UUID
type String 设备类型 encoder-编码器 decoder-解码器
name String 设备名
model String 设备型号
analogAudioOut Integer HDMI Out音频输出开关 1-开启 0-关闭
audioOutVolume Integer 音频输出音量,0-100
发送示例
get audio config info {"list":[{"model":"DE300","mac":"249AD85A5BE2"}]}\r\n
返回示例
get audio config info {"ret":1,"data":{"reqFinish":1,"list":[{"id":"DE300_249ad85a5be2","type":"decoder","name":"VP59","model":"VP59","analogAudioOut":1,"audioOutVolume":80}]},"error":null}\r\n
调试编解码器显示控制
指令
devices set advanced display control test
请求参数
参数 参数类型 数据类型 是否必需 描述
controlType Body String 是 控制类型,默认CEC Off CEC RS232 IR
commandType Body String 是 命令类型 hex ascii
commandString Body String 是 命令字符串
serial Body String 是 RS232串口的配置,如果当前controlType不是RS232,则不用传
- baudRate Body Integer 是 波特率,默认9600 300 600 1200 2400 4800 9600 19200 38400 57600 115200
- dataBits Body Integer 是 数据位,7-8
- parity Body String 是 校验位 none odd even
- stopBits Body Integer 是 停止位,1-2
- flowControl Body String 是 控制流 none dtr_dsr rts_cts xon_xoff
list Body Array 是 设备列表
返回参数
参数 数据类型 描述
ret Integer 操作失败返回-1,成功返回>=0
发送示例
devices set advanced display control test {"controlType":"RS232","commandType":"hex","commandString":"xxxxxxxxxxx","serial":{"baudRate":9600,"dataBits":8,"parity":"none","stopBits":1,"flowControl":"none"},"list":[{"model":"EN300","mac":"44DBD2DDE744"}]}\r\n
返回示例
devices set advanced display control test {"ret":0,"data":null,"error":null}\r\n
界面设计API
预设动作集列表查询
指令
ctrl get macros page
请求参数
参数 参数类型 数据类型 是否必需 描述
skip Body Int 是 跳过的数据条数
limit Body Int 是 限制显示的数据条数
返回参数
参数 数据类型 描述
total Int 数据总数
id String 预设动作集ID
name String 预设动作集名称
发送示例
ctrl get macros page {"skip":0,"limit":50}\r\n
返回示例
ctrl get macros page {"data":{"limit":50,"list":[{"id":"1a99bc3a-07f7-11f1-9b41-e08b94b34d19","name":"Room1 Latest Input Source"}],"skip":0,"spaceId":"13e571ef-07f7-11f1-9b41-e08b94b34d19","total":1},"error":null,"ret":1}\r\n
自动化列表查询
指令
ctrl get monitors page
请求参数
参数 参数类型 数据类型 是否必需 描述
skip Body Int 是 跳过的数据条数
limit Body Int 是 限制显示的数据条数
返回参数
参数 数据类型 描述
total Int 数据总数
id String 自动化ID
name String 自动化名称
enable Boolean 启用状态
发送示例
ctrl get monitors page {"skip":0,"limit":50}\r\n
返回示例
ctrl get monitors page {"ret":1,"data":{"skip":0,"limit":50,"spaceId":"04cc5185-d823-497b-97ae-dc1d934bd6f0","total":1,"list":[{"id":"6a670bb3-65b1-44c0-ba90-d63f733aa188","name":"Monitorname1","enable":true}]},"error":null}\r\n
自动路由列表查询
指令
ctrl get auto routings page
请求参数
参数 参数类型 数据类型 是否必需 描述
skip Body Int 是 跳过的数据条数
limit Body Int 是 限制显示的数据条数
返回参数
参数 数据类型 描述
total Int 数据总数
id String 自动路由ID
name String 自动路由名称
enable Boolean 启用状态
发送示例
ctrl get auto routings page {"skip":0,"limit":50}\r\n
返回示例
ctrl get auto routings page {"ret":1,"data":{"skip":0,"limit":50,"spaceId":"04cc5185-d823-497b-97ae-dc1d934bd6f0","total":1,"list":[{"id":"6a670bb3-65b1-44c0-ba90-d63f733aa188","name":"AutoRouting name 1","enable":true}]},"error":null}\r\n
调用预设动作集
指令
ctrl set macro invoke
请求参数
参数 参数类型 数据类型 是否必需 描述
macroId Body String 是 预设动作集ID
返回参数
参数 数据类型 描述
ret Integer 操作失败返回-1,成功返回>=0
发送示例
ctrl set macro invoke {"macroId":"1a99bc3a-07f7-11f1-9b41-e08b94b34d19"}\r\n
返回示例
ctrl set macro invoke
禁用/启用自动化
指令
ctrl set monitor
请求参数
参数 参数类型 数据类型 是否必需 描述
monitorId Body String 是 自动化ID
enable Body Boolean 是 自动化启用/禁用状态,true为启用
返回参数
参数 数据类型 描述
ret Integer 操作失败返回-1,成功返回>=0
发送示例
ctrl set monitor {"monitorId":"1a99bc3c-07f7-11f1-9b41-e08b94b34d19","enable":true}\r\n
返回示例
ctrl set monitor {"ret":0,"data":null,"error":null}\r\n