Подключение Telegram бота к Home Assistant: уведомления и удаленное управление

📱 Умный дом в Telegram: полное руководство по подключению бота к Home Assistant

📅 Дата публикации: 14 мая 2026 ⏱️ Время чтения: ~15 минут

Главная идея подключения Telegram — удалённое управление умным домом, а также отправка различных уведомлений о процессах. Удобное управление можно сделать в связке с Node-RED, но в этой статье рассмотрим прямое подключение к Home Assistant. Это хорошее начало, чтобы понять возможности Telegram-бота, а также выявить ограничения, связанные с обновлениями HA и блокировками.

В статье рассмотрим: создание бота через BotFather, получение API-ключа и ID чата, настройку встроенной интеграции Telegram в HA, а также создание автоматизаций для отправки уведомлений и управления устройствами через кнопки.

1. Создание Telegram-бота через BotFather

🤖 BotFather — официальный бот в Telegram для создания и управления другими ботами.
  1. Перейдите по ссылке t.me/BotFather и нажмите кнопку «Старт»
  2. Отправьте команду /newbot для создания нового бота
  3. Введите имя бота (например, «Домашний бот») — оно будет отображаться пользователям
  4. Введите username бота — он должен заканчиваться на bot (например, myHomeBot или my_home_bot)
  5. После успешного создания BotFather выдаст API-ключ — сохраните его, он понадобится позже. Ключ остаётся в чате с BotFather, к нему всегда можно вернуться и посмотреть заново
Создание бота в BotFather
Создание бота через BotFather
⚠️ Важно: API-ключ — это секретная информация. Никому его не передавайте!

Активация бота: Найдите вашего бота в Telegram по его username (например, t.me/myHomeBot), перейдите в чат и нажмите кнопку «Старт» (или отправьте команду /start).

Запуск чата с ботом
Запуск чата с ботом

2. Получение ID чата

Чтобы бот мог отправлять сообщения конкретному пользователю или в чат, нужно узнать Chat ID.

  1. Найдите бота @getidsbot в Telegram
  2. Нажмите «Старт» (или отправьте команду /start)
  3. Бот сразу пришлёт информацию о вашем аккаунте, включая ID
Получение ID через getidsbot
Информация от бота getidsbot
💡 Совет: Если вы планируете отправлять сообщения в группу или канал, добавьте туда бота и используйте команду /start в группе — бот также пришлёт ID чата.

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

📦 Интеграция Telegram — встроенный компонент Home Assistant для работы с Telegram-ботами.

Шаг 1. Добавление интеграции

  1. В Home Assistant перейдите в Настройки → Устройства и службы
  2. Нажмите кнопку «+ Добавить интеграцию»
  3. В поиске введите Telegram и выберите Telegram
  4. На втором шаге выберите тип платформы — от этого зависит функционал бота:
ТипОписаниеКогда использовать
Pooling (рекомендуется) Отправка и обработка сообщений через опрос сервера Telegram. Бот сам проверяет наличие новых команд. ✅ Большинство случаев. Не требует открытого доступа из интернета.
Broadcast Только отправка сообщений (без обработки входящих команд и callback-запросов). ❌ Только если нужно просто слать уведомления, без управления.
Webhooks Отправка и обработка сообщений через webhook. Telegram сам отправляет запросы на ваш HA. ⚠️ Требует, чтобы Home Assistant был доступен из интернета (HTTPS, публичный IP).
  1. Введите API-ключ бота, полученный от BotFather
  2. Завершите настройку

Шаг 2. Добавление разрешённого ID чата

  • Перейдите в Настройки → Устройства и службы → Telegram bot
  • Нажмите «Добавить разрешённый ID чата»
  • Введите ID, полученный от @getidsbot
⚠️ Важные моменты:
  • Если бот не находит чат — убедитесь, что вы активировали бота (отправили ему /start)
  • ID чата/канала нужно вводить со знаком минуса (например, -123456789)
  • Если вы экспериментировали с добавлением/удалением бота из чата, попробуйте ID с префиксом -100 (например, -100123456789)

🔗 Официальная документация: home-assistant.io/integrations/telegram_bot

4. Пример автоматизации: отправка уведомлений

Создадим простую автоматизацию, которая отправляет уведомление в Telegram при срабатывании датчика или другого события.

Как создать автоматизацию через интерфейс:

  1. Перейдите в Настройки → Автоматизации и сценарии → Создать автоматизацию
  2. Выберите триггер (например, срабатывание датчика движения или изменение состояния устройства)
  3. В действии выберите Telegram bot → Send message
  4. В поле Message введите текст уведомления (можно использовать шаблоны Jinja2)

Форматирование сообщения (Markdown):

  • Жирный текст: *жирный текст*
  • Курсив: _текст курсивом_
  • Моноширный текст: `моноширный текст`
Автоматизация отправки уведомления
Настройка автоматизации в Home Assistant
Сообщение в Telegram
Пример сообщения в Telegram

5. Пример автоматизации: управление устройством через кнопки

Сценарий: Пользователь отправляет команду /lamp боту, получает текущее состояние лампочки и инлайн-кнопки для управления.

Как добавить код в текстовый редактор:

  1. Откройте Настройки → Автоматизации и сценарии
  2. Нажмите «Создать автоматизацию» → в правом верхнем углу нажмите на три точки (⋮) → выберите «Текстовый редактор»
⚠️ Важно: Вам потребуется создать три отдельные автоматизации:
  • 1. Основная автоматизация — обрабатывает команду /lamp и показывает состояние лампочки с кнопками
  • 2. Автоматизация для включения — обрабатывает нажатие кнопки /lamp_on
  • 3. Автоматизация для выключения — обрабатывает нажатие кнопки /lamp_off

1. Основная автоматизация (обработчик команды /lamp):

alias: test bot description: "" triggers: - trigger: event event_type: telegram_command event_data: command: /lamp conditions: [] actions: - action: telegram_bot.send_message metadata: {} data: message: |- *Состояние лампочки:* {% if states('light.test_product_2') == 'on' %}🔆 Включена{% else %}💡 Выключена{% endif %} chat_id: "{{ trigger.event.data.chat_id }}" inline_keyboard: - "Включить:/lamp_on" - "Выключить:/lamp_off" mode: single

2. Автоматизация для включения лампочки (обработчик кнопки /lamp_on):

alias: lamp turn on description: "" triggers: - trigger: event event_type: telegram_callback event_data: data: "/lamp_on" conditions: [] actions: - action: light.turn_on target: entity_id: light.test_product_2 data: {} - action: telegram_bot.answer_callback_query data: callback_query_id: "{{ trigger.event.data.id }}" message: "✅ Лампочка включена" - action: telegram_bot.edit_message data: message_id: "{{ trigger.event.data.message.message_id }}" chat_id: "{{ trigger.event.data.chat_id }}" message: |- *Состояние лампочки:* 🔆 Включена inline_keyboard: - "Включить:/lamp_on" - "Выключить:/lamp_off" mode: single

3. Автоматизация для выключения лампочки (обработчик кнопки /lamp_off):

alias: lamp turn off description: "" triggers: - trigger: event event_type: telegram_callback event_data: data: "/lamp_off" conditions: [] actions: - action: light.turn_off target: entity_id: light.test_product_2 data: {} - action: telegram_bot.answer_callback_query data: callback_query_id: "{{ trigger.event.data.id }}" message: "✅ Лампочка выключена" - action: telegram_bot.edit_message data: message_id: "{{ trigger.event.data.message.message_id }}" chat_id: "{{ trigger.event.data.chat_id }}" message: |- *Состояние лампочки:* 💡 Выключена inline_keyboard: - "Включить:/lamp_on" - "Выключить:/lamp_off" mode: single
Команда /lamp в Telegram
Отправка команды /lamp боту
Работа кнопок в Telegram
Инлайн-кнопки для управления лампочкой

6. Особенности и ограничения встроенной интеграции

⚠️ Известные проблемы встроенной интеграции Telegram в HA:
  • Регулярно ломается при обновлениях HA (пример: 2026.3.1 — бот перестал инициализироваться, 2025.11.1 — перестали работать send_photo и send_video через WebSocket API)
  • Не поддерживает несколько ботов корректно — возникает конфликт polling
  • Автоматизации на шаблонах Jinja2 становятся громоздкими (для отправки разного сообщения на два Telegram ID нужно 4-5 вложенных условий)
  • Node-RED позволяет «заворачивать» команды из Telegram в Assist и получать ответ обратно — встроенная интеграция HA так не умеет
💡 Альтернатива: Для более сложных сценариев рекомендуется использовать связку Node-RED + Telegram — она гибче и стабильнее.
🌐 Удалённый доступ без дополнительных настроек: Главное преимущество Telegram в том, что вам не нужно настраивать проброс портов, VPN или Dynamic DNS. Как только бот подключён к Home Assistant, вы можете управлять умным домом из любой точки мира — достаточно иметь доступ в интернет на вашем телефоне. Telegram выступает как облачный посредник, поэтому выход из локальной сети не требует никаких дополнительных манипуляций.
🔧 Node-RED + Telegram — подробное руководств

Гибкое управление ботом через Node-RED с примерами и автоматизациями

✅ Готово! Теперь ваш Telegram-бот подключён к Home Assistant. Вы можете отправлять уведомления, управлять устройствами через команды и кнопки, а также создавать любые другие сценарии.
Мы используем cookie-файлы. Это нужно для лучшей работы сайта. Продолжая пользоваться сайтом, вы соглашаетесь с этим.