本教程将向你展示如何使用规则引擎向客户发送电子邮件。
本教程基于发送警报时发送电子邮件教程并且它是用例。我们将重用上述教程中的规则链,并添加更多规则节点,以将电子邮件发送给指定设备的客户。
假设你的设备正在使用DHT22传感器来收集温度读数并将其推送到ThingsBoard。
DHT22传感器适用于-40至80°C的温度读数。如果温度超出范围,我们想生成警报,并在警报创建时发送电子邮件。
在本教程中,我们将ThingsBoard规则引擎配置为:
-如果温度超出范围,即:低于-40度且高于80度,则向指定设备的客户发送电子邮件。
将消息始发者属性添加到消息中。
使用传入消息中的“脚本转换”节点将其他数据添加到电子邮件正文中。
我们假设你已完成以下指南并查看了以下文章:
首先我们需要创建客户并将设备分配给客户。以下屏幕截图显示了如何执行此操作:
我们需要分配设备Thermostat Home(创建和清除警报教程)。
转到客户页面上的Manage devices然后选择我们的设备。
接下来我们的客户应具有server scope属性的email。请注意邮件将发送到该电子邮箱,因此请编写你的电子邮件进行测试。
此外,我们还需要向服务器Thermostat Home添加服务器作用域属性-address **:
转到Devices -> Thermostat Home -> Attributes -> Server attributes然后点击 + 按钮添加 address
在本节中,我们将说明在本教程中添加或修改到初始规则链的每个节点的用途:
在本教程中,我们使用了发送警报邮件。
我们通过添加以上在消息流部分中描述的节点,修改了规则链Create/Clear Alarm & Send Email并将此规则链重命名为:Create/Clear Alarm & Send Email to Customer。
以下屏幕截图显示了以上规则链的外观:
下载json文件以用于Create/Clear Alarm & Send Email to Customer:规则链。 如上图所示,在根规则链中创建节点D,以将遥测转发到导入的规则链。
以下部分向你展示了如何修改此规则链特别是:添加规则节点A和B并修改节点C。
在此规则链中,你将添加2个节点并修改1个节点,如以下各节所述:
添加Customer attributes节点并将其连接到关联类型为True的Filter Script节点。
该节点将用于获取客户的email属性并将其保存在
邮件元数据属性customerEmail
填写下表中输入的数据字段:
Field | Input Data |
Name | Get Customer Email |
Source attribute | |
Target attribute | customerEmail |
添加Originator attributes节点并将其粘贴在节点之间:Customer attributes和Create alarm关系类型为Success。
该节点将用于获取始发者 (Thermostat Home) 的地址服务器范围属性。此属性将保存在消息元数据属性ss_address中。
填写下表中输入的数据字段:
Field | Input Data |
Name | Get Device Address |
Server attributes | address |
修改To Email节点。为此我们需要更改此节点详细信息中的某些字段:
To template.
Body tempalte.
填写下表中输入的数据字段:
Field | Input Data |
To template | ${customerEmail} |
Body tempalte | Device ${deviceName} has unacceptable temperature: ${temperature}. Device address - ${ss_address} |
对于发布设备遥测我们将使用Rest API遥测上传API。为此我们将需要复制设备Thermostat Home的访问令牌。
发布temperature = 99. 创建警报:
curl -v -X POST -d '{"temperature":99}' http://localhost:8080/api/v1/$ACCESS_TOKEN/telemetry --header "Content-Type:application/json"
**你需要将$ACCESS_TOKEN替换为实际的设备令牌**
你应该了解仅在创建警报的情况下,警报更新后才将消息发送到电子邮件。
最后我们可以看到收到的电子邮件具有正确的值。 (如果你没有收到任何电子邮件,请检查你的垃圾邮件文件夹)
此外你可以查看有关如何进行以下操作的更多信息:
定义其他用于警报处理的逻辑,例如使用Telegram Bot将通知发送到Telegram App。
在Create and Clear Alarm节点中配置Alarm Details功能并通过添加警报部件以可视化警报来配置仪表板。
设备离线时创建警报。
请参阅另请参阅部分下的链接,以了解如何执行此操作。
入门指南 - 这些指南提供了ThingsBoard主要功能的快速概述。
安装指南 - 了解如何在各种操作系统上安装ThingsBoard。
设备连接 - 了解如何根据您的连接方式或解决方案连接设备。
数据看板 - 这些指南包含有关如何配置复杂的ThingsBoard仪表板的说明。
数据分析 - 了解如何使用规则引擎执行基本的分析任务。
硬件样品 - 了解如何将各种硬件平台连接到ThingsBoard。
高级功能 - 了解高级ThingsBoard功能。
开发指南 - 了解ThingsBoard中的贡献和开发。