1.4.1 设备触发

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

更新时间:2019-05-29 22:36:57

节点简介

设备触发节点可以将设备上报的属性或事件数据作为服务的输入。监听设备的属性/事件上报,如果收到设备的属性/事件上报,则触发后续的连线逻辑。支持通过虚拟设备上报属性或事件进行调用(注意属性需要为“读写型”)。

使用场景

如果您需要对一个设备的上报数据进行监听,并进行一系列后续动作,可使用设备触发节点。

配置项

产品

与服务所在项目关联的产品。可以前往产品列表进行管理。

设备

可以选择响应单个设备或产品下的所有设备。可以前往设备列表进行管理。

上报类型

选择响应的上报数据。“属性”即任何属性上报时都响应,“事件”即任何事件上报时都响应。“属性或事件”即响应全部属性/事件上报。

image.png

节点输出

以下为属性上报的输出示例。调用失败的输出请在日志栏查看返回结果。

{
        "deviceContext": {
            "productKey": [上报信息的产品的productKey],
            "deviceName": [上报信息的产品的deviceName],
            "gmtCreate": [上报信息的产品的创造事件的时间戳]
        },
        "props": {
            "[属性名1]": {
            "time": [设备上报信息的时间戳],
            "value": [设备上报的属性1的值]
        }
    }
 }

以下为事件上报的输出示例

{
        "deviceContext": {
            "productKey": [上报信息的产品的productKey],
            "deviceName": [上报信息的产品的deviceName],
            "gmtCreate": [上报信息的产品的创造事件的时间戳]
        },
        "event": {
            "event1": {
               "outputs": {
                   "intcome":  [设备上报事件输出参数的值]
               },
               "eventCode": "event1",
               "eventName":  [上报的事件名],
               "eventType":   [上报的事件类型(信息/告警/故障)]
            }
       }
}
字段内容描述示例
deviceContext设备信息{
"productKey": "XXX", // 设备的porductKey
"deviceName": "XXX", // 设备的deviceName
"gmtCreate": 1538109258028 // 设备创建时间
}
props设备上报的属性信息
当选择上报类型中包含“属性”时,会出现该字段。props字段内的具体内容请参考设备模型定义-功能-属性。
{
"LightStatus":{ // 设备属性
"time":1538109258010,
"value":0
},
"LightVolt":{ // 设备属性LightVolt
"time":1538109258010,
"value":1
}
}
event设备上报的事件信息
当选择上报类型中包含“事件”时,会出现该字段。event字段内的具体内容请参考设备模型定义-功能-事件。
{
"Identifier1":{ // 事件标识符
"eventCode":"Identifier1", // 事件标识符
"eventName":"Warm", // 功能名称
"eventType":"info", // 事件类型
"outputs":{ // 输出参数
"outPara1":2,
"outPara2":0
}
},
"Identifier2":{
"eventCode":"Identifier2",
"eventName":"Warm",
"eventType":"info",
"outputs":{
"outPara1":2,
"outPara2":0
}
}
}

使用设备上报的数据

使用虚拟设备进行调试

监听物联网平台的设备属性或事件上报。当设备上报属性或事件时,该节点将会被触发执行。支持通过虚拟设备上报属性或事件进行调用(注意属性需要为“读写型”)。如下图所示:

image.png

image.png

在后续节点使用入参

如果需要在服务的其他节点调用设备上报的属性或事件,可以通过通过query访问该参数,或者在节点的输入源选择入参完成。

通过query访问

在脚本节点,或者钉钉机器人节点的内容编辑框中,如果需要调用入参,需要采用query.props.[参数名称].value的方式调用设备上报的属性,采用query.deviceContext.deviceName获取上报的设备名称。以query.props.event.event1.eventName获取上报的事件名称等。
钉钉机器人等json输入框采用“”的格式。见下图。

image.png

image.png

通过配置项访问

对条件节点,如果需要把API输入的值进行比较,则需要在第一个输入框选择“第一个节点query”,第二个框输入“props.[属性名称].value”。如下图。需要注意此时比较的入参值的类型要与下方路径的一致——布尔型与枚举型请配置数字格式的“0”,“1”进行比较。

image.png