Главная страница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

  • 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 именно для чата?

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

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

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

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