1.4.2 产品节点

优质
小牛编辑
124浏览
2023-12-01

更新时间:2019-05-30 14:22:18

节点简介

产品节点主要用于设备指令下发、查询设备属性和查询设备信息。

  • 设备指令下发:设置设备的某些属性,通过云端下发指令到设备端,达到控制设备的效果;

  • 查询设备属性:可查询设备的历史属性和属性快照;

  • 查询设备信息:对产品定义的属性信息、查询设备数量等基本信息的查询。

使用场景

如果您已经在平台添加了产品,并在产品下添加了设备,您需要对设备进行设备指令下发、查询设备属性、查询设备信息的操作,那么您可以使用产品节点做为中间节点,指定某个设备来进行操作。

节点说明

“设备”节点类目下的每个节点对应于该项目中的每个产品,该项目下的产品可在项目详情页中查看。
屏幕快照 2019-01-22 下午4.53.54.png

屏幕快照 2019-05-30 下午2.16.05.png

由此可看出,该节点并非常驻节点,需要满足如下前置条件,才可以在左侧节点列表的“设备”类目中看到。

  • 在平台完成产品的添加;

  • 对产品进行功能定义;

  • 在产品下完成设备的添加;

添加产品与设备请参考文档

配置项

屏幕快照 2019-05-30 下午2.18.06.png

节点名称

默认的节点名称为产品名称,支持用户自定义节点名称。

产品功能定义

点击节点名称下方的“产品功能定义”按钮,可进入产品功能定义页面,以查看该产品定义的属性及事件。

选择要控制的设备

下拉框内容为该产品下的设备列表。拖进来某个产品节点,代表您已经选择了对哪个产品进行操作,但通常我们的操作是针对设备维度的,因此您需要在设备列表的下拉框中选择您需要操作的目标设备。

选择操作类型

1. 设备动作执行

屏幕快照 2019-05-30 下午2.21.22.png
填入要下发的属性及对应的值,即可设置设备的某个或多个属性的值,从而控制设备。可以在产品 - 功能定义页面查看设备的属性,注意,可读属性无法进行属性的设置

  • 参数
{
   "properties": {
        "目标属性1的标识符": "目标值",
        "目标属性2的标识符": "目标值"
   }
}

2. 查询设备属性


查询设备属性,可选择两种消息类型:

  • 属性快照:单个属性或全部属性的最新上报数据。

    • 查询类型:“单属性”或“多属性”,表示查询快照的维度是指定的属性还是全部属性。
      • 单属性:查询某个属性的最新上报数据。
        • 属性:选择要查询的目标属性。
        • 参数:取默认值{}即可。
      • 全部属性:查询全部属性的上报数据。
        • 参数:取默认值{}即可。
  • 历史属性: 查询设备的单个属性在某个时间段的历史上报数据。

    • 属性:在属性下拉列表中,选择要查询的目标属性。
    • 参数:
{
   "start": 1526900000000, // 查询历史数据的起始时间(毫秒单位的时间戳)
   "end": 1526900000001, // 查询历史数据的终止时间(毫秒单位的时间戳)
   "pageSize": 10,  // 查询符合时间段内,以查询顺序做排序的最前的pageSize条数据
   "ordered": true // 查询顺序(true - 正序,false - 倒序)
}

3. 查询设备其他信息

获取物的基本信息等设备维度的基本信息查询。

  • 参数

根据不同的查询类型,需要传入不同的参数,相关的参数配置请参考具体的资源中心-物的管理服务-API文档查询类型对应于资源中心-物的管理服务-api的描述

变量参数

在参数编辑框中使用变量,需要使用{{}}将变量包起来。
内置了如下全局变量,以在参数编辑框及脚本节点中访问:

  • 来自上个节点的输出数据:payload。支持使用payload.payload对象中的某个key来访问指定key的数据;

  • 来自输入节点的数据:query。比如api输入节点的入参、设备触发节点的设备数据;支持使用query.参数名来访问指定数据;

  • 来自指定节点的输出数据:node.节点ID。支持使用node.节点ID.节点输出对象中的某个key来访问指定key的数据。

    示例

{
   "productKey": "{{payload:productKey}}",  // 上一个节点的输出为:{productKey: '值'},取productKey的值
   "deviceName": "{{query.deviceName}}", // API输入节点的入参中定义了一个名称为deviceName的入参,取入参deviceName的值
   "pageNum": "{{node.node_399591c0.pageNum}}" // 节点node_399591c0的输出为{pageNum: 10},取pageNum的值
}

节点输出

产品节点的操作结果作为节点输出
示例:

image.png