Отправка сообщений в Telegram через Алису и HA

Содержание
Рекомендация
Управляй умным домом с компьютера

Яндекс Браузер со встроенной Алисой — бесплатно

Установить
Реклама. ООО «Яндекс», ИНН 7736207543

Умный дом Яндекса предоставляет отличные возможности для голосового управления и базовых автоматизаций. Однако стандартных средств для отправки мгновенных push-уведомлений или сообщений в мессенджеры на внешние устройства в сценариях Алисы явно не хватает. Решить эту проблему можно с помощью связки с сервером автоматизации Home Assistant. Например, когда срабатывает сценарий «Я ушел» или фиксируется протечка воды, Алиса может не только объявить об этом голосом, но и отправить детальный лог в семейную группу в мессенджере. Ниже приведен подробный гайд, как отправить сообщение в группу через алису и homeassistant с помощью Telegram-бота.

Шаг 1. Создание Telegram-бота и получение ID группы

Для отправки сообщений нам потребуется собственный Telegram-бот.

  1. Откройте Telegram, найдите бота @BotFather и отправьте команду /newbot.
  2. Следуйте инструкциям: задайте имя бота и его уникальный юзернейм. Получите API Token (строка вида 123456789:ABCdefGh...).
  3. Создайте группу в Telegram (или откройте существующую), куда будут приходить уведомления, и добавьте туда вашего бота. Сделайте его администратором группы.
  4. Отправьте тестовое сообщение в эту группу. Чтобы узнать цифровой ID группы (Chat ID), перешлите любое сообщение из этой группы специальному боту @RawDataBot или сделайте HTTP-запрос в браузере: https://api.telegram.org/bot<ВАШ_ТОКЕН>/getUpdates. ID группы всегда начинается с минуса (например, -100123456789).

Шаг 2. Интеграция Telegram-бота в Home Assistant

Теперь нам нужно научить Home Assistant отправлять сообщения через созданного бота. Откройте конфигурационный файл configuration.yaml на вашем сервере Home Assistant и добавьте следующие строки:

# configuration.yaml
telegram_bot:
  - platform: polling
    api_key: "ВАШ_API_TOKEN_БОТА"
    allowed_chat_ids:
      - -100123456789 # ID вашей группы

notify:
  - platform: telegram
    name: telegram_group
    chat_id: -100123456789

После редактирования конфигурации обязательно проверьте ее на ошибки в веб-интерфейсе Home Assistant (Панель управления -> Система -> YAML -> Проверить конфигурацию) и перезапустите сервер.

IMPORTANT

Никогда не публикуйте ваши токены ботов в открытых репозиториях на GitHub. Для безопасности выносите все чувствительные данные во внешний файл secrets.yaml и ссылайтесь на них через тег !secret.


Шаг 3. Создание виртуального триггера для Алисы

Поскольку напрямую вызвать сервис уведомлений Home Assistant из приложения Яндекса нельзя, мы создадим виртуальный выключатель (input_boolean), который будет синхронизироваться между двумя системами.

  1. В Home Assistant перейдите в «Настройки» -> «Устройства и службы» -> «Вспомогательные» и создайте элемент типа «Переключатель» с именем Уведомление в Группу.
  2. Настройте проброс этого переключателя в приложение Яндекс. Детальные шаги по синхронизации устройств описаны в нашей инструкции по передаче устройств из Home Assistant в Алису.
  3. В приложении «Дом с Алисой» переключатель появится как обычное умное реле.

Шаг 4. Настройка автоматизации отправки сообщений

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

# automations.yaml
- alias: "Отправка сообщения в группу Telegram"
  trigger:
    - platform: state
      entity_id: input_boolean.notification_trigger
      to: "on"
  action:
    - service: notify.telegram_group
      data:
        message: "⚠️ Внимание! Сработал сценарий Умного Дома Яндекса. Все системы переведены в режим охраны."
    # Автоматически выключаем триггер обратно для готовности к следующему запуску
    - service: input_boolean.turn_off
      target:
        entity_id: input_boolean.notification_trigger

TIP

В поле message вы можете передавать динамические параметры, например, текущую температуру с датчиков: message: "Температура в гостиной: {{ states('sensor.living_room_temp') }}°C".

Теперь в приложении Яндекса вы можете добавить включение реле Уведомление в Группу в любой сценарий (например, «Я ушел» или «Протечка воды»). При активации сценария Алиса переключит виртуальное реле, и Home Assistant моментально отправит сообщение в вашу группу Telegram.

Инструкция по настройке

1

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

Найдите @BotFather в Telegram, создайте нового бота с помощью команды /newbot, запишите токен API и добавьте бота в целевую группу в качестве администратора.

2

Настройка интеграции в configuration.yaml

Добавьте токен бота и ID группы в конфигурационный файл Home Assistant configuration.yaml для инициализации платформы оповещений.

3

Создание виртуального переключателя для Алисы

Создайте input_boolean в Home Assistant и пробросьте его в Умный Дом Яндекса. Он будет служить триггером для запуска оповещений.