获取主控设备对象

描述:

获取当前主控设备对象,通过该对象可以对设备的属性、控制进行操作。

对应JS API:
Device.getMain()
请求方式:

GET
http://IP:8090/TotalControl/v1/devices/main

参数:
参数名 类型 必选 描述
token string Y Total Control TOKEN
请求示例:
http://127.0.0.1:8090/TotalControl/v1/devices/main?token=270eq7lXQK8bXYsJ
返回示例:

{
    "id":"device@1116106541"
}
返回字段说明:
字段 类型 描述
id string TC id
完整示例:

脚本语言: RingoJS
可以复制代码,保存为后缀为 js 的文件, 例如:example.js,在 Total Control 的执行器中执行。


//导入一些 ringoJS 的包
var {request} = require('ringo/httpclient');
var base64 = require('ringo/base64');
//将用户名密码编码,'sigma:3D391497'是用户名和密码,在Total Control系统设置里面可以看到
var userpass = base64.encode('sigma:3D391497');
//用于获取 Total Control 脚本开发所用的开发 token
//请求方式 GET, 
//请求URL:http://localhost:8090/TotalControl/v1/login
//请求头:'Authorization': base64.encode('sigma:3D391497')
var gettoken = request({
    method: 'GET',
    url: 'http://localhost:8090/TotalControl/v1/login',
    headers: {
    'Authorization': userpass
   }
});
//输出返回的响应内容
print("get token,Return: " + gettoken.content);
//将获取的响应内容转换成json对象
var ret_token = eval('(' + gettoken.content + ')'); 
//获取 token 的值
var token = ret_token.value.token; 

//获取当前主控设备
//请求方式 GET, 
//请求URL:http://localhost:8090/TotalControl/v1/devices/main?token=270eq7lXQK8bXYsJ
var getdevice = request({
    method: 'GET',
    url: 'http://localhost:8090/TotalControl/v1/devices/main?token=' + token,
});
//getdevice.status是响应状态码,如果响应状态码为200(即 HTTP 请求成功),就返回获取到的设备
if (getdevice.status == 200) {
    //输出返回的响应内容
    print("get device,Return: " + getdevice.content);
} else {
    print("Failed to get the device object");
}

运行结果:

get token,Return: {"status":true,"value":{"token":"iSvz5On0bWL48LUU"}}
get device,Return: {"id":"device@33254183"}