跳转至

转换节点

转换节点用于更改传入消息字段,如发起者、消息类型、有效负载和元数据。

更改发起人

自 YiCONNECT 2.0 版本以来

图像

YiCONNECT 中的所有传入消息都有发起者字段,用于标识提交消息的实体。它可以是设备、资产、客户、租户等。

当提交的消息应作为来自另一个实体的消息进行处理时,使用此节点。例如,设备提交遥测数据,遥测数据应复制到更高级别的资产或客户。在这种情况下,管理员应在保存时间序列节点之前添加此节点。

发起者可以更改为:

  • 发起者的客户
  • 发起人的租户
  • 由关系查询标识的相关实体

在“关系查询”配置中,管理员可以选择所需的方向关系深度级别 。还可以使用所需的关系类型和实体类型配置关系过滤器集。

图像

如果找到多个相关实体,则仅使用第一个实体作为新的发起者,其他实体将被丢弃。

如果未找到相关实体/客户/租户,则使用失败链,否则 -成功链。

出站消息将具有新的发起者 ID。

脚本转换节点

自 YiCONNECT 2.0 版本以来

图像

使用配置的 JavaScript 函数更改消息有效负载、元数据或消息类型。

JavaScript 函数接收 3 个输入参数:

  • msg- 是消息有效负载。
  • metadata- 是消息元数据。
  • msgType- 是消息类型。

脚本应返回以下结构:

{   
    msg: new payload,
    metadata: new metadata,
    msgType: new msgType 
}

图像

结果对象中的所有字段都是可选的,如果未指定,将从原始消息中获取。

来自该节点的出站消息将是使用配置的 JavaScript 函数构造的新消息。

JavaScript 转换功能可以使用Test JavaScript 函数进行验证。

例子

节点接收带有有效负载的消息:

{
    "temperature": 22.4,
    "humidity": 78
}

原始元 数据

{ "sensorType" : "temperature" }

原始 消息类型 -​​ POST_TELEMETRY_REQUEST

应进行以下修改:

  • 将消息类型更改为“CUSTOM_UPDATE”
  • 将附加属性版本添加到值为v1.1的有效负载中
  • 将元数据中的sensorType属性值更改为roomTemp

以下转换函数将执行所有必要的修改:

var newType = "CUSTOM_UPDATE";
msg.version = "v1.1";
metadata.sensorType = "roomTemp"
return {msg: msg, metadata: metadata, msgType: newType};

发送至电子邮件节点

自 YiCONNECT 2.0 版本以来

图像

通过使用从消息元数据派生的值填充电子邮件字段,将消息转换为电子邮件消息。设置“SEND_EMAIL”输出消息类型,稍后可由发送电子邮件节点接受。所有电子邮件字段都可以配置为使用元数据中的值。支持发送 HTML 页面和图像。

图像

例如,传入消息在元数据中具有deviceName字段,并且电子邮件正文应包含其值。

在这种情况下,可以引用deviceName${deviceName}的值,如下例所示:

Device ${deviceName} has high temperature

如果您想发送 html 或图像,则必须在“邮件正文类型”字段中选择 “HTML”“动态”