Transform telemetry using previous record
使用先前记录转换遥测数据
- 用例
- 先决条件
- 步骤1:添加富集节点
- 步骤2:默认的前一个计数器节点。
- 步骤3:Delta转换节点
- 步骤4:设置仪表板查看数据。
- TL;DR
Use 用例
我们假设设备报告的absolute“计数”与水的消耗量对应。但是我们要的是“delta”值,而不是“absolute”值,例如,我们需要知道在过去的一天、一周、一个月里消耗了多少水。 在本教程中,我们将根据当前和之前的读数来计算“delta”值。 假设计数器先前报告的值为90,我们将对传入的遥测进行转换:
{
"counter": 100
}
to
{
"counter": 100,
"delta": 10
}
先决条件
操作之前请确保您已经阅读了以下章节
- 入门指南。
- 规则引擎概述。
- 传入遥测转换指南。
步骤1:添加富集节点
我们将修改默认规则链,并使用富集规则节点从数据库中获取之前的遥测值,并将其放到消息元数据中。
我们使用以下节点配置:
请注意,如果“计数”值丢失,则规则节点将返回failure。我们会在下一步中设置先前计数作为默认值来防止失败后带来的损害。
步骤2:默认先前计数节点
该转换节点将默认计数设置到传入消息元数据。该操作可在下一步将默认的“delta”值设置为0。
步骤3:Delta转换节点
该转换节点将根据来自元数据的先前计数值和来自消息的当前值计算delta值。
Step 4: Setup dashboard to view the data
步骤4:设置仪表板来展示数据
我们添加简单的卡片部件来展示规则链生成的最新值
TL;DR
从该教程中下载并导入带有规则链的附加JSON文件。不要忘记将新规则链标记为“root”
从该教程下载并导入有仪表板的JSON文件。