Уведомления из Home Assistant в Telegram

Научитесь настраивать отправку уведомлений из Home Assistant в Telegram: полезно для оповещений о событиях, автоматизациях и безопасности умного дома.

Уведомления из Home Assistant в Telegram

Введение

Уведомления в Telegram позволяют быстро и удобно получать информацию о событиях в вашем умном доме. Это отличный способ всегда быть в курсе: сообщения приходят мгновенно, вы их видите на смартфоне, и они легко вплетаются в автоматизации Home Assistant. Подробнее об этом можно узнать в официальной документации.

Если поискать по слову telegram в списке интеграций Home Assistant, можно заметить две интеграции: Telegram и Telegram Bot. Первая подходит для работы с внешними сервисами и требует настройки через YAML, но её возможности ограничены. Вторая — Telegram Bot — это современная интеграция, которая поддерживается и настраивается прямо из веб-интерфейса. Для отправки уведомлений и построения автоматизаций рекомендуется использовать именно её.

Важно понимать, что Telegram устроен так, что бот не может отправлять сообщения без явного согласия пользователя. Для этого нужно либо начать с ним личный диалог, либо добавить его в группу. Вариант с группой удобнее: если появляется новый человек, которому нужны уведомления, достаточно добавить его в группу через мобильное приложение — никаких изменений в настройках Home Assistant делать не нужно. Когда необходимость отпадёт, участника так же легко можно удалить. После этого бот получает «разрешение» общаться в выбранном чате. Именно поэтому мы сначала создадим бота, затем получим ваш chat_id, а потом подключим всё это к Home Assistant.

Создание Telegram-бота

  1. В Telegram найдите бота @BotFather
  2. Отправьте команду /newbot
  3. Укажите имя и логин для вашего бота
  4. BotFather вернёт вам API-токен — сохраните его, он понадобится для настройки

Если когда-нибудь потребуется сменить владельца бота, это делается через меню Transfer Ownership в @BotFather. Подробная инструкция есть в базе знаний BotHelp.

Получение chat_id

Следующим шагом нужно создать группу в Telegram, добавить туда вашего бота и всех заинтересованных участников. Именно в этот чат будут приходить уведомления. Чтобы Home Assistant мог работать с ним, необходимо узнать его chat_id. Сделать это можно двумя способами:

  • воспользоваться ботом @chatIDrobot
  • получить идентификатор через API Telegram

Чтобы получить chat_id через @chatIDrobot:

  1. В Telegram откройте диалог с ботом @chatIDrobot и нажмите Start
  2. Добавьте в вашу группу участников: вашего нового Telegram-бота, самого себя (если вы не владелец) и @chatIDrobot
  3. @chatIDrobot ответит и покажет информацию о чате, включая поле chat_id (обычно это длинное отрицательное число, например -4882332612)
  4. После этого бота @chatIDrobot можно удалить из группы

Настройка интеграции в Home Assistant

Теперь подключаем бота в Home Assistant. Через веб-интерфейс это делается в меню Настройки → Интеграции — найдите Telegram Bot и начните добавление.

На первом шаге система спросит, какую платформу использовать:

  • Broadcast — для рассылки сообщений сразу в несколько чатов. В Home Assistant применяется редко и не является основным вариантом.
  • Polling — Home Assistant сам периодически опрашивает серверы Telegram, чтобы получить новые сообщения. Это самый простой и надёжный вариант: работает без проброса портов и дополнительных настроек, подходит для большинства сценариев.
  • Webhooks — Telegram будет сам отправлять события на ваш сервер. Требует, чтобы Home Assistant был доступен из интернета по HTTPS. Обеспечивает минимальную задержку, но сложнее в настройке.

Для большинства пользователей рекомендуется выбрать Polling.

После выбора платформы введите API-токен, который вы получили от @BotFather, и сохраните настройки.

После выбора платформы и ввода API-токена нужно указать, какие чаты будут получать уведомления. Для этого в настройках интеграции нажмите меню с тремя точками и выберите пункт «Добавить разрешённый ID чата». В открывшемся окне введите chat_id вашей группы (например, -4882332612). После сохранения этот чат станет доступен для отправки сообщений из Home Assistant.

Если всё прошло успешно, интеграция появится в списке, а сервисы telegram_bot.send_message станут доступны для тестирования.

Отправка тестового уведомления

Чтобы проверить, что всё работает, зайдите в Инструменты разработчика → Действия. Выберите сервис telegram_bot.send_message и отправьте любой текст, например: "Hello from Home Assistant!". Если всё сделано правильно, сообщение появится в Telegram.

Вывод

Интеграция Telegram с Home Assistant — это просто, надёжно и полезно. С её помощью можно получать мгновенные уведомления о любых событиях в доме. Дальше вы сможете расширять сценарии: от сигнализации до отчётов по счётчикам — и всё это будет удобно приходить прямо в мессенджер.