使用 Telegram Bot 在智能手机上发送通知和警报

概述

Telegram 提供了创建 Telegram Bots 的可能性,这些机器人被视为第三方应用程序。因此,在本教程中,我们将演示如何创建 Telegram Bot
并配置 ThingsBoard 规则引擎,以便能够使用 Rest API 调用扩展将通知发送到 Telegram App。

用例

本教程基于创建和清除警报教程及其用例。我们将重用上述教程中的规则链,并将添加更多规则节点以与 Telegram 集成

假设您的设备使用 DHT22 传感器收集温度读数并将其推送到 ThingsBoard。DHT22 传感器适用于 -40 至 80°C 的温度读数。如果温度超出正常范围,我们希望生成警报,并在创建警报时向 Telegram App 发送通知。

在本教程中,我们将配置 ThingsBoard 规则引擎以:

先决条件

我们假设您已完成以下指南并阅读了下面列出的文章:

消息流

在本节中,我们将解释本教程中每个节点的用途:

电报机器人的创建

BotFather是主要的机器人,可帮助您创建新机器人并更改其设置。

机器人创建完成后,您可以为新机器人生成授权令牌。令牌是一个字符串,看起来像这样 - '110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw',这是授权机器人所必需的。

先决条件:

获取聊天 ID

在下一步中,我们需要检索聊天 ID。需要聊天 ID 才能通过 HTTP API 发送消息。

有几种获取聊天 ID 的方法:

1
2
3
4
5https://api.telegram.org/bot"YOUR_BOT_TOKEN"/getUpdates"YOUR_BOT_TOKEN" has to be replaced by the authentication token of your bot, e.g.:

https://api.telegram.org/bot110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw/getUpdates

从输出数据中,您可以找到字段“id”这就是所谓的 chat_id。

图片

图片

之后,您可以开始配置规则引擎以使用 Rest API 调用扩展。

配置规则链

在本教程中,我们使用了创建和清除警报教程中的规则链。我们通过添加上面消息流部分中描述的节点来修改规则链创建和清除警报, 并将此规则链重命名为:创建/清除警报并向电报发送通知


以下屏幕截图显示了上述规则链的外观:

图片

图片


以下部分将向您展示如何从头开始修改此规则链。

修改创建/清除警报和发送电子邮件

添加所需的节点

在此规则链中,您将创建 2 个节点,这将在以下部分中进行解释:

节点 A:转换脚本
{"chat_id" : "PUT YOUR CHOSEN CHAT_ID", "text" : "SOME MESSAGE YOU WANT TO RECEIVE"}
1
2
3
4 var newMsg ={};
 newMsg.text = '"' +  msg.name + '"' + " alarm was created for device: " + '"' + metadata.deviceName + '"';
 newMsg.chat_id = 337878729; //has to be replaced by the actual chat id
 return {msg: newMsg, metadata: metadata, msgType: msgType};

图片

节点 B:REST API 调用

图片

发布遥测并验证

为了发布设备遥测数据,我们将使用 Rest API、遥测上传 API为此,我们需要从设备Thermostat Home复制设备访问令牌。

图片

让 post temperature = 99。应该创建警报:

1
2
3curl -v -X POST -d '{"temperature":99}' http://localhost:8080/api/v1/$ACCESS_TOKEN/telemetry --header "Content-Type:application/json"**you need to replace $ACCESS_TOKEN with actual device token**

您应该了解,警报更新时不会将消息发送到 Telegram 应用程序,只有在创建警报时才会发送消息。

最后,我们可以看到收到的消息具有正确的值:

图片

图片

此外,您还可以:


更多消息

全面解析 Telegram Passport:统一身份验证工具及其实际应用

在数字化时代,人们在网络上的身份识别需求日益增加,从金融服务到电商渠道注册,每一项服务几乎都需求用户···
18 02.2025

深度解析 Telegram 最新更新:群组主题、可收藏用户名、视频消息转文字功能及其他

引言Telegram 的最新更新再一次让用户体验提升到了新的高度,为用户带来了更加便捷和多元化的功能···
18 02.2025

纸飞机使用表情符号指南:提升 Telegram 聊天体验

表情符号早已成为现代通讯中不可或缺的元素,它们能以生动、幽默的方法传递情感和意图。作为一款重视用户体···
17 02.2025

Telegram 群组为何如此酷:探索其强大功能与无限潜力

在交际媒体和即时通讯应用如漫山遍野般出现的今天,Telegram(纸飞机)凭仗其共同的群组功用脱颖而···
17 02.2025