Telegram
Telegram 集成已被标记为弃用,未来将被移除。 请改用 Telegram bot integration。
::: Telegram 集成使用 Telegram 将 Home Assistant 的通知发送到您的 Telegram 应用。
设置示例
要创建您的第一个 Telegram bot,请按以下步骤操作:
- 机器人不能主动联系用户。您需要先由要使用该机器人的用户向机器人发起首次联系。
-
让 Telegram 为您创建机器人:
- 在 Telegram 中与 @BotFather 开启聊天,并输入
/newbot。 - 按照屏幕提示操作,并为机器人命名。
- BotFather 会向您提供新机器人的链接和一个 HTTP API token。
- 请将该 token 妥善保存。
- 在 Telegram 中与 @BotFather 开启聊天,并输入
-
要获取 chat ID,请向 GetIDs bot 发送任意消息。
- 然后输入
/start。 - 该机器人会返回您的 chat ID 和用户名。
- 然后输入
-
在 Home Assistant 中创建一个 Telegram bot。
-
创建通知器:
-
将以下内容粘贴到配置文件中:
-
用您的实际数据替换
name和chat_id。 -
重启 Home Assistant。
-
-
在与 BotFather 的对话中,点击链接打开与新机器人的聊天。
-
在与新机器人的聊天中输入
/start。 -
测试操作:
-
将以下内容粘贴到 YAML 中:
-
用您的实际数据替换
service和message。 -
点击 Perform action。此时您应该会收到一条消息。
-
您还可以做更多事情。请查看下面的配置说明和示例。
获取 chat_id 的方法
方法 1: 向 GetIDs bot 发送任意消息即可获取 chat_id。
方法 2: 在您向机器人发送消息之后,可访问 https://api.telegram.org/bot<YOUR_API_TOKEN>/getUpdates,或使用 $ curl -X GET https://api.telegram.org/bot<YOUR_API_TOKEN>/getUpdates 来获取 chat_id。请将 <YOUR_API_TOKEN> 替换为实际 token。
返回结果中会在 chat 部分包含您的 chat ID,对应字段为 id:
方法 3: 另一种直接获取 chat ID 的方法如下。请从命令行启动 Python 解释器:
:::tip 如果您想新增 chat ID,则需要暂时禁用当前活动配置,这样才能在返回结果中实际看到这些 ID,否则您可能只会得到空结果数组。
:::
方法 4: 您也可以从 Home Assistant 日志中获取 chat ID。如果您已经设置好了机器人,可以用一个未授权的 ID 向机器人发送消息,日志中会出现包含该 ID 的错误条目。
配置
要在您的安装中启用 Telegram 通知,请将以下内容添加到 configuration.yaml 文件中。
:::tip
更改配置后需要重启 Home Assistant。
有关 telegram_bot 的配置,请参阅 Telegram chatbot 页面 中提到的平台说明。
有关如何使用通知,请参阅自动化入门页面。
文本消息
图片支持
:::important 自 Home Assistant 0.48 起,您必须将要包含在通知中的文件所在源文件夹加入 allowlist_external_dirs 白名单。
:::

