Главная страницаHome AssistantИнтеграции в Home AssistantПодключаем Telegram к Home Assistant
Подключаем Telegram к Home Assistant

Подключаем Telegram к Home Assistant

Для отправки уведомлений из Home Assistant есть несколько способов. Одним из таких является Telegram. Если вы пользуетесь каждый этим мессенджером, то есть возможность настроить удобное получение уведомлений. Настройка довольно легкая и не потребует больших знаний.

Если у вас Home Assistant не имеет удаленного доступа, то переживать не стоит. Уведомления из телеграма все равно будут присылаться. Для интеграции требуется только доступ в интернет. А она в свою очередь напрямую связывается с Telegram.

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

Для создания своего бота необходимо перейти по ссылке https://t.me/BotFather. И нажать на кнопку «Старт» (в веб версии она сверху, а в остальных внизу).

В открывшемся чате вписываем команду:

/newbot 

После чего нас просят ввести название бота. Для удобства можно написать Home Assistant. Чтобы понимать быстро понимать откуда пришло сообщение.

Далее вводим логин бота. Вводить необходимо любое уникальное название. В случае, если ваш логин будет не уникальный, то бот попросит еще раз ввести логин.

В результате вам придет сообщение с токеном доступа. С помощью него и будет происходит обмен данными между Home Assistant и Telegram.

В нашем случае получилось:

5695034781:AAHvmR_QcCCI5sj2TjFMjfhof_D3JFa990c

Получение ID пользователя Telegram

Чтобы бот понял кому необходимо отправлять сообщения надо получить ваш ID пользователя. Для этого напишем еще одному боту https://t.me/GetIdsBot.

Эту операцию необходимо проделать для всех аккаунтов телеграм, которым вы хотите отправлять уведомления.

Настройка Home Assistant

Открываем configuration.yaml с помощью File Editor или другим удобным способом. И вписываем данные строки (не забудьте поменять api_key и chat_id на свои):

telegram_bot:
  - platform: polling
    api_key: 5695034781:AAHvmR_QcCCI5sj2TjFMjfhof_D3JFa990c
    allowed_chat_ids:
      - 167245707

notify:
  - name: telegram_notifier
    platform: telegram
    chat_id: 167245707

На этом настройка полностью завершена. Необходимо перезапустить Home Assistant и можно проверять отправку сообщений.

Проверка отправки уведомлений

Для проверки перейдите в «Панель разработчика» и выберите вкладку «Службы». В списке служб выбираем «Уведомления: Send a notification with telegram_notifier» и вписываем текст сообщения.

Если вы все правильно сделали, то у вас появится сообщение от бота

Отправка сообщения из автоматизации

После всех действий в Home Assistant появился новый сервис telegram_notifier. С помощью которого можно автоматизировать отправку сообщений.

Для примера давайте добавим небольшую автоматизацию. При включении сервера с Home Assistant будет присылаться уведомление.

- id: 'Notify_Telegram_HA_Start'
  alias: "Уведомление о запуске HA в Telegram"
  trigger:
    - platform: homeassistant
      event: start
  action:
    - service: telegram_notifier
      data:
        message: "Home Assistant - включился"

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

Был ли полезен материал?

Мне очень важно получать обратную связь. Пожалуйста, оцените материал. Так я пойму в какую сторону его стоит изменить.

Комментарии
  • Вова
    Вова
    01.04.2023 22:20

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

  • VK
    VK
    02.09.2023 12:32

    А как на несколько ID отправить?

    • Alexander Pushkarev
      Alexander Pushkarev
      07.10.2023 20:00

      Создать несколько notify и вызывать все созданные notify в action

      • Алексей
        Алексей
        07.02.2024 16:56

        как создать несколько notify? в configuration.yaml не получается создавать несколько

    • Denis
      Denis
      21.02.2025 23:34

      Для отправки на несколько ID нужно создать для них отдельные notify, а потом создать в них группу: https://www.home-assistant.io/integrations/group/#notify-groups

  • Vlad
    Vlad
    14.11.2023 18:16

    Отправлять просто контакту всё получилось
    Но с семейным чатом — бьюсь уже сутки, id чата получил добавив в него GetIdsBot, менял с приватного на паблик и обратно. разрешения бота в BotFather все уже передёргал.. Да, то что id чата пишется с начальным дефисом тоже не помогло (
    Данила! Ай нид хэлп (

    • Alexander Pushkarev
      Alexander Pushkarev
      14.11.2023 18:20

      Надо добавить бота с которого будут уходить сообщения, как администратора канала. Тогда он сможет публиковать сообщения.

      Информация -> Администраторы -> Добавить администратора -> Выбрать бота

      • Vlad
        Vlad
        15.11.2023 10:12

        Да в том то и дело, что админом я его сразу сделал..
        Если не затруднит, можно кусок работающего кода с разделом notify именно для чата?

        • Андрей
          Андрей
          30.11.2023 14:58

          У меня вот так работает:

          # Telegram Bot
          telegram_bot:
          — platform: polling
          api_key: …
          allowed_chat_ids:
          — -1001501940122

          # Notifier
          notify:
          — platform: telegram
          name: «HA2TelegramGroup»
          chat_id: -1001501940122

        • Максим
          Максим
          02.12.2023 16:06

          Привет. Напиши мне на емэйл помогу.

        • Михаил
          Михаил
          08.12.2023 23:42

          Если получится, скиньте кусочек кода , типа же самая проблема

        • Олег
          Олег
          12.12.2023 21:43

          Получилось сделать?

        • Витюша Баунти хантер
          Витюша Баунти хантер
          21.12.2023 00:36

          Перед айди чата тире поставьте

        • Vova
          Vova
          19.08.2024 23:55

          Решили? Как?

        • Кирилл
          Кирилл
          28.09.2024 12:53

          Тоже не получалось сначала, оказывается группы имеют отрицательный id, его и надо указывать:
          telegram_bot:
          — platform: polling
          api_key: !secret telegram_token
          parse_mode: html
          allowed_chat_ids:
          — 339521111
          — -1002114411111

          notify:
          — name: group_tg
          platform: telegram
          chat_id: -1002114411111

        • Alex
          Alex
          20.11.2024 12:47

          вот рабочий код.. это группа (с дефисом)

          telegram_bot:
          — platform: polling
          api_key: 213068273:AAE2Xo1nq8nX4PGljmil8deom3ixU6MaVJE
          allowed_chat_ids:
          — -1002135792837

          notify:
          — name: telegram_notifier
          platform: telegram
          chat_id: -1002135792837

        • Дмитрий
          Дмитрий
          19.12.2024 09:57

          Получилось? У меня те же грабли.

  • Алексей
    Алексей
    21.12.2023 20:08

    Дополнение. Тот кто делает все с самого начала (даже создает бота), то тестовая инициация отправки из Служб ничего не даст. Надо проинициировать бота — найти в телеге этого бота по заданному вами имени и что-то туда написать — после этого отправка заработает.

    Источник — https://community.home-assistant.io/t/telegram-not-working/121569/8

  • Alex
    Alex
    27.02.2024 02:35

    Вопрос , а куда этот код вставлять
    — id: ‘Notify_Telegram_HA_Start’
    alias: «Уведомление о запуске HA в Telegram»
    trigger:
    — platform: homeassistant
    event: start
    action:
    — service: telegram_notifier
    data:
    message: «Home Assistant — включился»

  • Driverz
    Driverz
    03.03.2025 17:29

    день добрый! а цветовое оформление для сообщения существует? теги *Bold* _Italic_ и тд работают, а вот цветом как поиграться?

Оставить комментарий