获取设备属性的接口为
获取设备上支持TCA配置的功能属性列表,示例入参如下。
"params" : {
"iotId" : "z2v7EHHxxxxoWs000100",
"flowType" : 2 // 2 代表action,云端会根据flowType过滤掉不支持的属性、服务
}
对应的返回结果如下。
"data" : {
"abilityDsl" : { //abilityDsl是设备的TSL数据
"properties" : [ //properties是设备TSL中的属性列表
{
"required" : true,
"accessMode" : "rw",
"identifier" : "LightSwitch",
"dataType" : {
"specs" : { //specs是可选的值和值的名称
"0" : "关闭",
"1" : "开启"
},
"type" : "bool" //type是属性值的类型
},
"name" : "主灯开关"
},
{
"required" : true,
"accessMode" : "rw",
"identifier" : "WIFI_Band",
"dataType" : {
"specs" : {
"length" : "255"
},
"type" : "text"
},
"name" : "频段"
},
{
"required" : true,
"accessMode" : "rw",
"identifier" : "WiFI_RSSI",
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "-127",
"max" : "-1",
"step" : "1"
},
"type" : "int"
},
"name" : "信号强度"
},
{
"required" : true,
"accessMode" : "rw",
"identifier" : "WIFI_AP_BSSID",
"dataType" : {
"specs" : {
"length" : "255"
},
"type" : "text"
},
"name" : "热点BSSID"
},
{
"required" : true,
"accessMode" : "rw",
"identifier" : "WIFI_Channel",
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "1",
"max" : "255",
"step" : "1"
},
"type" : "int"
},
"name" : "信道"
},
{
"required" : true,
"accessMode" : "rw",
"identifier" : "WiFI_SNR",
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "-127",
"max" : "127",
"step" : "1"
},
"type" : "int"
},
"name" : "信噪比"
}
],
"services" : [
{
"method" : "thing.service.property.set",
"callType" : "async",
"desc" : "属性设置",
"outputData" : [
],
"identifier" : "set",
"required" : true,
"inputData" : [
{
"dataType" : {
"specs" : {
"0" : "关闭",
"1" : "开启"
},
"type" : "bool"
},
"name" : "主灯开关",
"identifier" : "LightSwitch"
},
{
"dataType" : {
"specs" : {
"length" : "255"
},
"type" : "text"
},
"name" : "频段",
"identifier" : "WIFI_Band"
},
{
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "-127",
"max" : "-1",
"step" : "1"
},
"type" : "int"
},
"name" : "信号强度",
"identifier" : "WiFI_RSSI"
},
{
"dataType" : {
"specs" : {
"length" : "255"
},
"type" : "text"
},
"name" : "热点BSSID",
"identifier" : "WIFI_AP_BSSID"
},
{
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "1",
"max" : "255",
"step" : "1"
},
"type" : "int"
},
"name" : "信道",
"identifier" : "WIFI_Channel"
},
{
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "-127",
"max" : "127",
"step" : "1"
},
"type" : "int"
},
"name" : "信噪比",
"identifier" : "WiFI_SNR"
}
],
"name" : "set"
},
{
"method" : "thing.service.property.get",
"callType" : "async",
"desc" : "属性获取",
"outputData" : [
{
"dataType" : {
"specs" : {
"0" : "关闭",
"1" : "开启"
},
"type" : "bool"
},
"name" : "主灯开关",
"identifier" : "LightSwitch"
},
{
"dataType" : {
"specs" : {
"length" : "255"
},
"type" : "text"
},
"name" : "频段",
"identifier" : "WIFI_Band"
},
{
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "-127",
"max" : "-1",
"step" : "1"
},
"type" : "int"
},
"name" : "信号强度",
"identifier" : "WiFI_RSSI"
},
{
"dataType" : {
"specs" : {
"length" : "255"
},
"type" : "text"
},
"name" : "热点BSSID",
"identifier" : "WIFI_AP_BSSID"
},
{
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "1",
"max" : "255",
"step" : "1"
},
"type" : "int"
},
"name" : "信道",
"identifier" : "WIFI_Channel"
},
{
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "-127",
"max" : "127",
"step" : "1"
},
"type" : "int"
},
"name" : "信噪比",
"identifier" : "WiFI_SNR"
}
],
"identifier" : "get",
"required" : true,
"inputData" : [
"LightSwitch",
"WIFI_Band",
"WiFI_RSSI",
"WIFI_AP_BSSID",
"WIFI_Channel",
"WiFI_SNR"
],
"name" : "get"
},
{
"method" : "thing.service.ToggleLightSwitch",
"callType" : "async",
"outputData" : [
],
"identifier" : "ToggleLightSwitch",
"required" : false,
"inputData" : [
{
"dataType" : {
"specs" : {
"min" : "1",
"max" : "100",
"unit" : "count",
"step" : "1"
},
"type" : "int"
},
"name" : "测试1",
"identifier" : "test1"
},
{
"dataType" : {
"specs" : {
"min" : "1",
"max" : "10",
"unit" : "mm\/s",
"step" : "0.1"
},
"type" : "float"
},
"name" : "测试2",
"identifier" : "test2"
}
],
"name" : "翻转主灯开关"
},
{
"method" : "thing.service.SetLightSwitchTimer",
"callType" : "async",
"outputData" : [
],
"identifier" : "SetLightSwitchTimer",
"required" : false,
"inputData" : [
{
"dataType" : {
"specs" : {
"unitName" : "分",
"min" : "0",
"max" : "1440",
"unit" : "min",
"step" : "0.01"
},
"type" : "double"
},
"name" : "计时器",
"identifier" : "Timer"
},
{
"dataType" : {
"specs" : {
"0" : "关闭",
"1" : "开启"
},
"type" : "bool"
},
"name" : "主灯开关",
"identifier" : "LightSwitch"
}
],
"name" : "设置主灯开关倒计时"
},
{
"method" : "thing.service.ControlDevice",
"callType" : "sync",
"outputData" : [
{
"dataType" : {
"specs" : {
"min" : "0",
"max" : "99999",
"unitName" : "无"
},
"type" : "int"
},
"name" : "返回码",
"identifier" : "Code"
},
{
"dataType" : {
"specs" : {
"length" : "128"
},
"type" : "text"
},
"name" : "返回消息",
"identifier" : "Message"
}
],
"identifier" : "ControlDevice",
"required" : false,
"inputData" : [
{
"dataType" : {
"specs" : {
"length" : "64"
},
"type" : "text"
},
"name" : "主机ID",
"identifier" : "HostId"
},
{
"dataType" : {
"specs" : {
"length" : "64"
},
"type" : "text"
},
"name" : "围栏ID",
"identifier" : "EfenceId"
},
{
"dataType" : {
"specs" : {
"length" : "64"
},
"type" : "text"
},
"name" : "动作",
"identifier" : "Action"
}
],
"name" : "控制设备"
}
],
"schema" : "https:\/\/iotx-tsl.oss-ap-southeast-1.aliyuncs.com\/schema.json",
"profile" : {
"productKey" : "a1xxxxxska"
},
"events" : [
{
"method" : "thing.event.property.post",
"outputData" : [
{
"dataType" : {
"specs" : {
"0" : "关闭",
"1" : "开启"
},
"type" : "bool"
},
"name" : "主灯开关",
"identifier" : "LightSwitch"
},
{
"dataType" : {
"specs" : {
"length" : "255"
},
"type" : "text"
},
"name" : "频段",
"identifier" : "WIFI_Band"
},
{
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "-127",
"max" : "-1",
"step" : "1"
},
"type" : "int"
},
"name" : "信号强度",
"identifier" : "WiFI_RSSI"
},
{
"dataType" : {
"specs" : {
"length" : "255"
},
"type" : "text"
},
"name" : "热点BSSID",
"identifier" : "WIFI_AP_BSSID"
},
{
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "1",
"max" : "255",
"step" : "1"
},
"type" : "int"
},
"name" : "信道",
"identifier" : "WIFI_Channel"
},
{
"dataType" : {
"specs" : {
"unitName" : "无",
"min" : "-127",
"max" : "127",
"step" : "1"
},
"type" : "int"
},
"name" : "信噪比",
"identifier" : "WiFI_SNR"
}
],
"identifier" : "post",
"type" : "info",
"required" : true,
"name" : "post",
"desc" : "属性上报"
},
{
"type" : "error",
"required" : true,
"method" : "thing.event.Error.post",
"identifier" : "Error",
"name" : "故障上报",
"outputData" : [
{
"dataType" : {
"specs" : {
"0" : "恢复正常"
},
"type" : "enum"
},
"name" : "故障代码",
"identifier" : "ErrorCode"
}
]
}
]
},
"simplifyAbilityDTOs" : [
{
"type" : 1,
"identifier" : "LightSwitch",
"categoryType" : "Light",
"name" : "主灯开关"
},
{
"type" : 1,
"identifier" : "WiFI_RSSI",
"categoryType" : "Light",
"name" : "信号强度"
},
{
"type" : 1,
"identifier" : "WIFI_Channel",
"categoryType" : "Light",
"name" : "信道"
},
{
"type" : 1,
"identifier" : "WiFI_SNR",
"categoryType" : "Light",
"name" : "信噪比"
},
{
"type" : 2,
"identifier" : "ToggleLightSwitch",
"categoryType" : "Light",
"name" : "翻转主灯开关"
},
{
"type" : 2,
"identifier" : "SetLightSwitchTimer",
"categoryType" : "Light",
"name" : "设置主灯开关倒计时"
},
{
"type" : 2, //simplifyAbilityDTOs属性列表的值,1表示属性,2表示服务,3表示事件
"identifier" : "ControlDevice", //propertyName是设备属性的identifier,此处设置的值为ControlDevice
"categoryType" : "Light",
"name" : "控制设备"
}
]
}
abilityDsl是设备的TSL数据,services是设备TSL的服务列表,services中inputData是服务需要设置的properties列表。还需要配置以下TSL信息。
// 以下是TSL中的一个服务
{
"method" : "thing.service.SetLightSwitchTimer",
"callType" : "async",
"outputData" : [
],
"identifier" : "SetLightSwitchTimer",
"required" : false,
"inputData" : [ //inputData是服务需要设置的properties列表
{
"dataType" : {
"specs" : {
"unitName" : "分",
"min" : "0",
"max" : "1440",
"unit" : "min",
"step" : "0.01"
},
"type" : "double"
},
"name" : "计时器",
"identifier" : "Timer"
},
{
"dataType" : {
"specs" : {
"0" : "关闭",
"1" : "开启"
},
"type" : "bool"
},
"name" : "主灯开关",
"identifier" : "LightSwitch"
}
],
"name" : "设置主灯开关倒计时"
}
返回结果如下所示。
{
"method" : "thing.service.SetLightSwitchTimer",
"callType" : "async",
"outputData" : [
],
"identifier" : "SetLightSwitchTimer",
"required" : false,
"inputData" : [
{
"dataType" : {
"specs" : {
"unitName" : "分",
"min" : "0",
"max" : "1440",
"unit" : "min",
"step" : "0.01"
},
"type" : "double"
},
"name" : "计时器",
"identifier" : "Timer"
},
{
"dataType" : {
"specs" : {
"0" : "关闭",
"1" : "开启"
},
"type" : "bool"
},
"name" : "主灯开关",
"identifier" : "LightSwitch"
}
],
"name" : "设置主灯开关倒计时" //服务名称为“设置主灯开关倒计时”作为action
}
选择服务作为action,还需要给services包含的所有属性“计时器”、“主灯开关”都设置值后才可以生效,计时器设置值为0.08,主灯开关设置值为1,代码如下。
{
"uri" : "action/device/invokeService",
"params" : {
"iotId" : "z2v7EHHfExxxxWs000100",
"serviceName" : "SetLightSwitchTimer", // TSL中服务的SetLightSwitchTimer
"serviceArgs" : { // {属性identifier: 属性值}
"Timer" : 0.08, //计时器设置值为0.08
"LightSwitch" : 1 //主灯开关设置值为1
}
}
}