# 设备触发告警并邮件或短信通知
#### 概述
很多物联网设备24小时运行，设备管理者并不需要知道设备每一刻的状态，只需要设备在上报某些特定状态时能通知到管理者。
设备接入服务提供规则引擎功能可以满足该诉求，您可以通过设置规则简单实现当设备上报的数据满足某个条件时，物联网平台触发指定动作进行通知。
#### 示例场景
本示例为设备上报的电池电量小于20%时，物联网平台会上报告警并发送邮件或短信通知给指定的手机号码。
操作步骤如下：
1. [配置消息通知服务]：订阅通知渠道。
2. [配置设备接入服务]：定义物模型、创建产品设备和联动规则引擎配置。
3. [验证操作]。
图1示例说明   
![](https://support.huaweicloud.com/bestpractice-iothub/figure/zh-cn_image_0000002063490622.png "点击放大")
 #### 配置消息通知服务
在消息通知服务中创建主题并添加订阅，供设备接入服务调用以发送邮件或短信。
1. 登录华为云官方网站，访问[消息通知服务](https://www.huaweicloud.com/product/smn.html)。
2. 单击"立即使用"进入消息通知服务控制台。若您未开通消息通知服务，请先开通服务。
3. 进入"主题管理 \> 主题"页面，单击"创建主题"。
4. 输入主题名称，如"Test_1"，单击"确定"。
   图2创建主题-SMN   
   ![](https://support.huaweicloud.com/bestpractice-iothub/figure/zh-cn_image_0000001769654500.png "点击放大") 
5. 进入"主题管理 \> 订阅"页面，单击"添加订阅"。
6. 填写订阅信息，填写完成后单击"确定"。
   图3添加订阅-SMN   
   ![](https://support.huaweicloud.com/bestpractice-iothub/figure/zh-cn_image_0000001816402429.png "点击放大")
   表1添加订阅参数填写说明 
   | 参数名称 | 说明                                                                                                                                                                                                                                                                                                  |
   |:---|:---|
   | 主题名称    | 选择[4]创建的主题。                                                                                                                                                                                                                                             |
   | 协议     | - 若需要发送邮件通知，选择"邮件"。  - 若需要发送短信通知，选择"短信"。                                                                                     |
   | 订阅终端   | - 若协议为"邮件"，填写接收通知邮件的邮箱地址；  - 若协议为"短信"，输入接收短信通知的手机号码。   需要添加多个终端时，每个终端地址占1行，最多填写10行。 |
      
   
 
 #### 配置设备接入服务
在设备接入服务中创建产品模型、注册设备并设置设备联动规则，实现当设备上报特定数据时触发告警并发送邮件或短信。
1. 访问[设备接入服务](https://www.huaweicloud.com/product/iothub.html)，单击"立即使用"进入设备接入控制台。选择您的实例，单击实例卡片进入。
2. 选择左侧导航栏的"产品"。 **注：**本文中使用的产品模型和设备仅为示例，您可以使用自己的产品模型和设备进行操作。
   
3. 单击左侧的"创建产品"，创建一个基于MQTT协议的产品，填写参数后，单击"确定"。
   表2创建产品参数示例 
   |                                       **基本信息**                                       ||
   |---|---|
   | 产品名称 | 自定义，如MQTT_Device |
   | 协议类型  | 选择"MQTT"       |
   | 数据格式 | 选择"JSON"       |
   | 所属行业    | 根据实际情况进行填写。       |
   | 设备类型 | 根据实际情况进行填写。       |
      
   
4. 单击[文件](https://obs-pipeline.obs.cn-north-4.myhuaweicloud.com/sdkDeploy/Profile_01.zip)，获取产品模型文件样例。
5. 找到新增的产品，单击"产品"进入产品详情界面。
6. 在基本信息页面，单击"上传模型文件"，在弹出的页面中加载产品模型文件，然后单击"确定"。
   图4产品-上传模型文件   
   ![](https://support.huaweicloud.com/bestpractice-iothub/figure/zh-cn_image_0000001950352382.png "点击放大") 
7. 选择左侧导航栏的"设备 \> 所有设备"，单击"注册设备"，填写设备注册参数。填写完成后单击"确定"，请注意保存注册成功返回的"设备ID"和"设备密钥"。
   图5单设备注册-MQTT   
   ![](https://support.huaweicloud.com/bestpractice-iothub/figure/zh-cn_image_0000001981327497.png "点击放大")
   表3注册设备参数填写说明 
   | 参数名称  | 说明                                                     |
   |:---|:---|
   | 所属产品  | 选择在[3]中创建的产品。 |
   | 设备标识码 | 即node_id，填写为设备的IMEI、MAC地址或Serial No；若没有真实设备，填写自定义字符串，由英文字母和数字组成。                                |
   | 设备名称                    | 自定义。                                                                       |
   | 设备认证类型                     | 选择"密钥"。                                                                    |
   | 密钥    | 设备密钥，可自定义，不填写物联网平台会自动生成。                                                 |
      
   
8. 选择左侧导航栏的"规则\>设备联动"，单击"创建规则"按钮。（创建规则前需选择所属资源空间。）
9. 参考下表参数说明，填写规则内容。以下参数取值仅为示例，您可参考[云端规则](https://support.huaweicloud.com/usermanual-iothub/iot_01_0023.html)创建自己的规则，填写完成后单击"创建规则"。
   图6新建联动规则-BatteryProperty   
   ![](https://support.huaweicloud.com/bestpractice-iothub/figure/zh-cn_image_0000001950384016.png "点击放大")
   表4创建联动规则参数填写说明 
   | 参数名称    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|
   | 规则名称   | 自定义，例如"Battery_Low_Mail"或"Battery_Low_SMS"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 激活规则  | 勾选"激活规则"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 生效时间 | 选择"一直生效"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 描述       | 自定义对该规则的描述，如"设备上报电量低于20%时上报告警并发送通知"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 触发条件   | 1. 单击"添加条件"；  2. 选择"设备属性触发"；  3. 选择[3]中添加的产品，选择"指定设备"，再选择[7]中添加的设备；  4. "服务类型"选择"Battery"，"属性"选择"batteryLevel"，"操作"选择"\<"，"值"填写"20"，单击"触发机制"，"触发策略"选择"重复抑制"，"数据时效"填写"3600"，然后单击"确认"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 执行动作   | 首先添加告警： 1. 单击"添加动作"；  2. 动作类型选择"上报告警"；  3. "告警等级"选择"次要"，"告警隔离级别"选择"设备"，"告警名称"输入"设备电量低"，"告警内容"输入"设备电量低于20%，请及时确认并更换电池。"，然后单击"确认"。   再添加通知： 1. 单击"添加动作"。  2. 动作类型"选择"发送通知"。  3. 选择您开通的SMN服务区域，如"cn-north-4"。首次创建对接到SMN服务的规则时，平台会根据对接的云服务和区域弹出对应的云服务访问授权窗口，请根据界面提示，配置云服务访问授权。（可登录SMN服务控制台后在左上角查看）。  4. 主题名称选择[配置消息通知服务]时创建的主题； - 若主题对应的订阅协议是邮件，消息标题填写为邮件标题，如"\[Huawei IoT Platform\] Low Battery Warning"；消息内容填写"You have a device with less than 20% charge, please log in to the Huawei IoT Platform for details."  - 若主题对应的订阅协议是短信，消息标题无需填写，消息内容填写"\[Huawei IoT Platform\] You have a device with less than 20% charge, please log in to the Huawei IoT Platform for details."     |
      
   
 
 #### 验证操作
- 您可以使用配置设备接入服务时注册的真实设备接入平台，上报"batteryLevel"小于20的数据。
- 您也可以使用模拟器模拟设备上报"batteryLevel"小于20的数据，操作方法请参考[在线开发MQTT协议的模拟智慧路灯](https://support.huaweicloud.com/bestpractice-iothub/iot_bp_00016.html)。
- 您还可以使用虚拟设备进行在线调试，上报"batteryLevel"小于20的数据。
期望结果：
- 在左侧导航栏选择"监控运维 \> 当前告警"，单击"前往AOM"，跳转至应用运维管理服务，有一条名称为"设备电量低"的一般告警。
- 若订阅了邮件通知，接受订阅的邮箱会收到一封通知设备电量低的邮件。
- 若订阅了短信通知，接受订阅的手机会收到一条通知设备电量低的短信。
 
