简体中文
简体中文
English
联系我们
注册
登录
语言
简体中文
简体中文
English
联系我们
登录
注册
返回主站
layout空间导航
文档中心云开发标准指令集

标准指令集

更新时间:2021-09-08 08:39:17下载pdf

标准指令集是设备可下发的控制功能的指令集合。以产品类别区分,具体产品支持的控制指令是该类产品 标准指令集 的子集。本系列文档提供了涂鸦 IoT 平台部分品类产品的指令集,更多产品持续适配中,如有需求可 提交工单 联系涂鸦。

名词解释

名词 说明
标准指令集 标准指令集是设备可下发的控制功能的指令集合。
标准产品类别 标准产品类别提供了可使用 标准指令集 进行控制,和可使用 标准状态集 进行状态查询的标准化的产品类别列表。
标准状态集 标准状态集是设备可上报的功能状态集合。以产品类别区分,具体产品支持的功能状态是该类产品 标准状态集 的子集。
产品功能 产品功能是涂鸦 IoT 开发平台为智能设备定义的云端控制对接模型,用于阐述设备每一个功能的数据交互方式。

注意事项

  • 本章节提供的指令集与 涂鸦 IoT 平台产品功能 的定义并不完全一致。涂鸦 IoT 平台适配了涂鸦 IoT 平台中相同品类下不同产品的指令。
  • 您只需要适配涂鸦相同品类的指令集即可控制涂鸦相同品类下不同的产品。
  • 若返回的标准产品是类别码为 qt 的早期产品,可能不再支持,如需接入请 提交工单 确认。

使用步骤

本步骤以 产品功能 中的电压力锅为例,介绍如何查询智能设备的云端功能属性和状态属性。

第一步:查询设备功能属性

您可以参考本步骤中的请求示例查询您的设备所支持的标准接入的功能属性(即指令集)和支持可上报的状态属性(即状态集)。相关 API,请参考 查询设备规格属性

  • 指令集将用作 下发指令 中的 code

  • 状态集将用于查询设备状态接口。

    如果查询到的结果为空,请提交工单进行确认。

请求示例

curl --request GET "https://openapi.tuyacn.com/v1.0/iot-03/devices/vdevo16**********035/specifications" --header "sign_method: HMAC-SHA256" --header "client_id: x37******************mmu0" --header "t: 1630599812793" --header "mode: cors" --header "Content-Type: application/json" --header "sign: 4979EC676FB3B7******************A0835B1CF46265B" --header "access_token: 5eb*********1371"

返回示例

{
"result": {
	"category": "dylg",
	"functions": [
	{
		"code": "switch",
		"type": "Boolean",
		"values": "{}"
	},
	{
		"code": "start",
		"type": "Boolean",
		"values": "{}"
	},
	{
		"code": "appointment_time",
		"type": "Integer",
		"values": "{\"unit\":\"min\",\"min\":0,\"max\":1440,\"scale\":0,\"step\":1}"
	},
	{
		"code": "cook_time",
		"type": "Integer",
		"values": "{\"unit\":\"min\",\"min\":0,\"max\":6000,\"scale\":0,\"step\":1}"
	},
	{
		"code": "warm_time",
		"type": "Integer",
		"values": "{\"unit\":\"min\",\"min\":30,\"max\":1440,\"scale\":0,\"step\":1}"
	}
	],
	"status": [
	{
		"code": "switch",
		"type": "Boolean",
		"values": "{}"
	},
	{
		"code": "start",
		"type": "Boolean",
		"values": "{}"
	},
	{
		"code": "appointment_time",
		"type": "Integer",
		"values": "{\"unit\":\"min\",\"min\":0,\"max\":1440,\"scale\":0,\"step\":1}"
	},
	{
		"code": "cook_time",
		"type": "Integer",
		"values": "{\"unit\":\"min\",\"min\":0,\"max\":6000,\"scale\":0,\"step\":1}"
	},
	{
		"code": "work_state",
		"type": "Enum",
		"values": "{\"range\":[\"idle\",\"appointment\",\"cooking\",\"warm\",\"paused\"]}"
	},
	{
		"code": "warm_time",
		"type": "Integer",
		"values": "{\"unit\":\"min\",\"min\":30,\"max\":1440,\"scale\":0,\"step\":1}"
	}
	]
},
"success": true,
"t": 1630599813188
}

第二步:下发设备指令

您可以通过下发指令集中的指令,对设备功能进行调试。相关 API,请参考 下发指令

以下请求示例是根据上一步查询到的设备功能属性,以 switch 为示例进行命令下发。

请求示例

curl --request POST "https://openapi.tuyacn.com/v1.0/iot-03/devices/vdevo16********035/commands" --header "sign_method: HMAC-SHA256" --header "client_id: x37upht******bmmu0" --header "t: 1630599977335" --header "mode: cors" --header "Content-Type: application/json" --header "sign: DE7D1F28BB2C775*********0F4A45D09430A13D48C0E086" --header "access_token: 5eb******1371" --data "{"commands":"[{\"code\":\"switch\",\"value\":true}]"}"

返回示例

{
	"result": true,
	"success": true,
	"t": 1630599977705
}

第三步:查询设备最新状态

您可以通过以下命令查询设备当前的状态。相关 API,请参考 查询单个设备的状态

继第二步对 switch 进行命令下发后,可以查询设备最新状态。

请求示例

curl --request GET "https://openapi.tuyacn.com/v1.0/devices/vdevo16********035/status" --header "sign_method: HMAC-SHA256" --header "client_id: x37******mmu0" --header "t: 1630600155872" --header "mode: cors" --header "Content-Type: application/json" --header "sign: BD000A8CC7F8E35************0851F75C64A202" --header "access_token: 5eb*********1371"

返回示例

{
"result": [
	{
	"code": "switch",
	"value": true
	},
	{
	"code": "start",
	"value": false
	},
	{
	"code": "appointment_time",
	"value": 0
	},
	{
	"code": "cook_time",
	"value": 0
	},
	{
	"code": "work_state",
	"value": "idle"
	},
	{
	"code": "warm_time",
	"value": 30
	}
],
"success": true,
"t": 1630600156146
}

本教程包含了以下文档,帮助您快速了解相关概念和流程: