本教程将向你展示如何使用规则引擎向用户发送电子邮件。
在本教程中,我们将从教程中实现用例:创建并清除警报:
假设你的设备正在使用DHT22传感器来收集温度读数并将其推送到ThingsBoard。
DHT22传感器适用于-40至80°C的温度读数。如果温度超出范围,我们想生成警报,并在警报创建时发送电子邮件。
在本教程中,我们将ThingsBoard规则引擎配置为:
如果温度超出范围,即:低于-40和高于80度,请向用户发送电子邮件。
使用脚本转换节点将当前温度添加到电子邮件正文中,以将当前温度保存在消息Metadata中。
我们假设你已完成以下指南并查看了以下文章:
在本节中我们将解释本教程中每个节点的用途:
在本教程中我们使用了创建和清除警报 教程中的规则链。
我们通过添加消息流部分中上文所述的节点,修改了规则链Create & Clear Alarms并将此规则链重命名为Create/Clear Alarm & Send Email。
以下屏幕截图显示了以上规则链的外观:
下载附件json文件以用于Create/Clear Alarm & Send Email规则链。
下一节将向你展示如何从头开始修改此规则链。
在此规则链中你将创建3个节点如以下各节所述:
metadata.temperature = msg.temperature;
return {msg: msg, metadata: metadata, msgType: msgType};
添加To Email节点并将其连接到关联类型为Created的Create Alarm节点。
此节点不发送实际的电子邮件,它仅从配置的模板构造电子邮件。
因此,你可以使用对消息元数据中存在的任何字段的引用。
填写下表中输入的数据字段:
Field | Input Data |
Name | Temperature Email |
From Template | info@testmail.org |
To Template | **Your Email** |
Subject Template | Device ${deviceType} temperature unacceptable |
Body Template | Device ${deviceName} has unacceptable temperature: ${temperature} |
添加Send Email节点并将其连接到关联类型为Success的To Email节点。
该节点实际上将使用系统SMTP设置从入站邮件发送电子邮件。
输入名称SendGrid SMTP。
如果你无权访问系统管理员帐户,则需要为此节点进行自己的SMTP配置。
否则,标记一个字段Use system SMTP settings。
请注意,在Demo Server上已将SendGrid提供程序配置为系统SMTP。
以下部分将说明如何配置这些设置的说明。
链配置已完成,我们需要保存它。
在本节中,我们向你介绍如何配置系统SMTP设置并尝试发送测试电子邮件:
-在本教程的范围内我们将使用SendGrid作为SMTP提供程序,而Thingsboard将使用该提供程序发送电子邮件。你可以使用此[连接]](https://app.sendgrid.com/signup)注册进行试用。
登录到SendGrid后,打开SMTP中继配置页。
如果你具有使用系统管理员帐户登录到ThingsBoard的权限,则可以自定义SMTP设置并发送测试电子邮件。
对于默认的系统管理员帐户:
转到System Settings -> Outgoing Mail并配置Outgoing Mail Settings如以下屏幕截图所述:
如果系统SMTP配置正确:你将看到一条弹出消息,如上面的屏幕快照所示。
系统SMTP设置配置完成。不要忘记按Save按钮。
如果你无法访问系统管理员的帐户,则可以直接在节点中配置SMTP设置,但无法检查电子邮件是否已成功发送。
对于发布设备遥测我们将使用Rest API遥测上传API。为此我们将需要复制设备Thermostat Home的访问令牌。
发布temperature = 180 创建警报
curl -v -X POST -d '{"temperature":180}' http://localhost:8080/api/v1/$ACCESS_TOKEN/telemetry --header "Content-Type:application/json"
**你需要将$ACCESS_TOKEN替换为实际的设备令牌**
你应该了解,仅在创建警报的情况下,警报更新后才将消息发送到电子邮件。
最后我们可以看到收到的电子邮件具有正确的值。 (如果你没有收到任何电子邮件,请检查你的垃圾邮件文件夹)
此外你可以查看有关如何进行以下操作的更多信息:
向设备的客户发送电子邮件。
从收到的邮件中向电子邮件正文中添加其他数据。
请参阅另请参阅部分下的第一个链接,以了解如何执行此操作。
入门指南 - 这些指南提供了ThingsBoard主要功能的快速概述。
安装指南 - 了解如何在各种操作系统上安装ThingsBoard。
设备连接 - 了解如何根据您的连接方式或解决方案连接设备。
数据看板 - 这些指南包含有关如何配置复杂的ThingsBoard仪表板的说明。
数据分析 - 了解如何使用规则引擎执行基本的分析任务。
硬件样品 - 了解如何将各种硬件平台连接到ThingsBoard。
高级功能 - 了解高级ThingsBoard功能。
开发指南 - 了解ThingsBoard中的贡献和开发。