转换传入遥测值

  • 用例
  • 先决条件
  • 步骤1:添加温度转换节点
  • 步骤2:验证脚本调试
  • TL;DR

用例

我们假设设备正在使用定制传感器来收集温度,并将温度读数推到TB上。该传感器读取的温度值计量单位为°F ,我们需要将温度值转换为°C才可存入数据库并进行可视化展示。 在本教程中,我们将配置ThingsBoard规则引擎,根据如下公式来转换温度:

[°C] = ([°F] - 32) × 5/9.

先决条件

请阅读完以下文章后进行接下来的操作:

  • 入门指南。
  • 规则引擎的概述。

步骤1:添加温度验证节点

修改默认的规则链,并添加带有温度转换脚本的转换规则节点。将该规则节点添加在默认的“message type switch”和“save timeseries”规则节点之间。请注意,我们还需要从根规则链中删除不相关的规则节点。

我们假设到达系统的数据可能没有“温度”字段。我们将使用以下函数对所有没有“温度”字段的数据进行处理,使这些数据有效。

function precisionRound(number, precision) {
  var factor = Math.pow(10, precision);
  return Math.round(number * factor) / factor;
}

if (typeof msg.temperature !== 'undefined'){
    msg.temperature = precisionRound((msg.temperature -32) * 5 / 9, 2);
}

return {msg: msg, metadata: metadata, msgType: msgType};

步骤2:验证脚本调试

我们使用内置的“测试转换功能”按钮检查脚本是否正确

您可以测试更多的用例,比如未设置温度时的情况。

TL;DR

从本教程下载并导入附带的有规则链的json文件。不要忘记将新规则链标记为“root”。

results matching ""

    No results matching ""