Интеграция Telegram с Home Assistant — это простой и эффективный способ сделать ваш умный дом еще более отзывчивым и удобным. Вы можете управлять устройствами и получать важные уведомления прямо в привычном мессенджере на своем смартфоне или компьютере, вместо того чтобы постоянно заходить в приложение Home Assistant.
Представьте себе ситуацию, когда Telegram сообщает вам, что сработал датчик движения или что вы забыли выключить свет. Вы можете отреагировать на сообщение прямо сейчас, отключить сигнализацию или отправить комнату в темноту. Это делает Telegram универсальным инструментом управления, который всегда доступен.
Чтобы настроить такое взаимодействие, не нужно иметь глубокие технические знания. Вам нужно просто использовать специальный «Отец ботов» в Telegram для создания своего бота, скопировать полученный токен и добавить его в конфигурацию Home Assistant. Впоследствии ваш бот-чат станет командным центром умного дома.
Создание Telegram бота
Чтобы создать своего бота, посетите https://t.me/BotFather и найдите кнопку «Старт». Хотя Бот выведет список команд и описание, удобнее воспользоваться мини-приложением, которое можно открыть, нажав кнопку «Открыть» или «Открыть».

Введите имя бота (например, «Домашний бот») и пользователя, которому он доступен.
Имя пользователя бота должно начинаться на «бот», например, myHomeBot или myHome_bot.
По завершении создания бота можно получить его API-ключ, который можно увидеть в любое время.

Получение ID пользователя Telegram
Вы должны получить ID пользователя или ID чата, чтобы бот мог определить, кому необходимо отправлять сообщения. В приложении Telegram на компьютере найдите «Настройки» — «Общие». В самом низу найдите опцию «Показывать ID чатов в профиле».

Теперь новое поле PEER ID появится на экране профиля пользователя или группы. Перейдите в Настройки и выберите «Мой профиль», чтобы узнать свой ID.
В режиме отладки также можно узнать идентификаторы чатов, от которых поступают сообщения.
Активация бота
В поиске необходимо найти бота по имени и нажать «Старт», чтобы бот мог писать вам или другим пользователям. Если вы планируете отправлять сообщения нескольким пользователям, то проще добавить вашего бота в канал или чат, и вам потребуется только ID этого канала для отправки сообщений.
Иначе бот не сможет отправлять сообщения вам. Каждый пользователь, которому вы хотите отправлять сообщения, должен активировать бота.
Настройка Home Assistant
Установите интеграцию, перейдя в Настройки → Устройства и услуги в помощнике дома. Справа внизу нажмите Добавить интеграцию. Затем введите «Телеграм» в поиске и выберите «Телеграм Бот». Во втором шаге выберите «Телеграм Бот».

На следующем шаге в разделе Платформа выберите Соединение. Затем введите API-ключ бота, который вы получили от него, и завершите настройку.
- Broadcast — только отправка сообщений
- Pooling — отправка и обработка сообщений
- Webhooks — отправка и обработка сообщений, требующая чтобы ваш Home Assistant был доступен из интернета

Только один бот может использовать этот ключ в режиме Pooling API. Другой бот уже не сможет подключиться, если он использует этот ключ.
Подключившись к Telegram к Home Assistant, вы получите удобный и надежный способ управлять умным домом и получать уведомления прямо в чате — будь то сообщения о протечке, включении света или команде голосом через бота. За полчаса можно настроить все: создайте бота в Telegram и добавьте его в Home Assistant, чтобы получать оповещения в считанные минуты или управлять устройствами с помощью простых текстовых команд. Это удобно, бесплатно и работает постоянно.
Добавление пользователей
Перейдите в Настройки — Устройства и услуги — Telegram bot — Home Assistant. Нажмите «Добавить разрешенный ID чата». Введите свой ID чата или пользователя в открывшемся окне.

Важно! Если вы получаете ошибку «Чат не найден», первое, что вам следует сделать, это убедиться, что ваша идентификация правильная, а затем убедитесь, что вы активировали бота, как указано выше.
Важно для чатов и каналов! Введите канал или ID чата с минусом. Например, если ID канала PEER 123456789, необходимо ввести -123456789 в окне. Проверьте также, чтобы добавить бота в соответствующий канал или чат. Когда мы проводили эксперименты с добавлением и удалением бота из чата, мы обнаружили еще одну интересную особенность. В частности, если PEER-ID чата 123456789, необходимо ввести -100123456789 в окне.
Чтобы облегчить поиск в интеграциях, запись можно переименовать после добавления ID через меню Три точки.
Проверка отправки уведомлений
Перейдите в Панель разработчика Home Assistant.
Через стандартные уведомления
Она создала стандартные объекты уведомлений в Home Assistant после того, как вы добавили разрешенные ID чатов в интеграцию Telegram. Этот метод хорош для простых текстовых уведомлений, не требующих дополнительных настроек.
В Панели разработчика найдите notify.send_message. Вы можете выбрать конкретные цели в разделе Цели, например, отдельно для пользователя или чата, если у вас их несколько. Вы можете выбрать Устройство, а затем сообщение будет отправлено всем пользователям, включенным в этот ботов.

Через интеграцию
Отправка через интеграцию предлагает гораздо больше настроек и функций, таких как отправка сообщений, стикеров, файлов и т. д., но единственным недостатком является необходимость вводить ID чата вручную.
В Панели разработчика введите telegram_bot.send_message и выберите «Отправить сообщение». Введите текст сообщения, а затем введите ID пользователей или чатов в разделе Цели.
Цель состоит в том, чтобы укaзать идентификаторы, которые были добавлены в список разрешенных идентификаторов в настройках интеграции. Для отправки в канал ID или чат вы должны использовать знак минус.

Отправка сообщения из автоматизации
Следует отметить, что после выполнения всех этих действий в Home Assistant появился новый сервис notify.telegram_bot_123456789_123456789, у которого будут другие ID в конце. Это может помочь в автоматизации отправки сообщений.
Отправлять уведомления можно точно так же, как в Панели разработчика. Ищите действия notify.send_message или telegram_bot.send_message в визуальном редакторе. Давайте, например, добавим немного автоматизации, чтобы уведомлять вас о включении переключателя света. В этом примере показана одновременная отправка сообщений обоими методами.
alias: Test telegram notify description: Тестовая отправка сообщений в телеграм triggers: - type: turned_on device_id: e7a6629e6f8d1a2a47a924694cca72aa entity_id: e08e337107c5228d564e7eb22426376b domain: light trigger: device conditions: [] actions: - action: telegram_bot.send_message metadata: {} data: message: Люстра переключается target: - "-123456789" - "123456789" enabled: true - action: notify.send_message metadata: {} data: {} target: entity_id: notify.telegram_bot_123456789_123456789 mode: single 
На самом деле существует множество вариантов, когда может потребоваться уведомление в Telegram. Например, если у вас протечка и вам нужно быстро среагировать. Или допустим, вы или все пользователи Home Assistant получите уведомление после того, как все ушли из дома.
Форматирование текста
Форматированный текст можно отправить с помощью разметки Markdown.
- жирный — например
*жирный текст* - курсив — например
_текст курсивом_ - моноширный текст — например
`моноширный текст`
Обработка команд
В режиме сбора ботов помощник дома может создавать команды, которые должны начинаться с «/», например, «температура». Команды можно отправлять напрямую боту или через чат, который он добавил. В автоматизациях получение команд может помочь. Напишем простую автоматизацию, которая собирает данные о влажности и температуре с датчика и отправляет сообщение в ответ.
Перейдите в Настройки, затем в «Автоматизация и сцены» и выберите «Создать автоматизацию». Затем перейдите в текстовый режим, выбрав «Текстовый редактор» в меню Три точки сверху справа. Затем введите следующий текст в автоматизацию:
alias: test bot description: "" triggers: - trigger: event event_type: telegram_command event_data: command: /climate conditions: [] actions: - action: telegram_bot.send_message metadata: {} data: message: |- *Температура:* {{states('sensor.temperature')}} *Влажность:* {{states('sensor.humidity')}} target: - "{{ trigger.event.data.chat_id }}" mode: single
- в поле
triggers.trigger.event_data.commandзамените название команды на свою. команда обязательно должна начинаться с/ - в поле
actions.action.data.messageзаменитеsensor.temperatureиsensor.humidityна идентификаторы своих сенсоров - в поле
actions.action.data.targetподставляется ID чата из, которого пришло сообщение
Это все! Теперь ваш Telegram тщательно связан с помощником дома. Простая команда чата позволяет вам удаленно управлять устройствами и получать уведомления о событиях в вашем доме.
Такая связка значительно облегчает вашу жизнь. Теперь вам не нужно больше открывать отдельное приложение, чтобы проверить, выключен ли утюг или какая температура в детской, а команды отправляются всего в нескольких кликов.
Отличный шаг к созданию по-настоящему умного и отзывчивого дома, который общается с вами на понятном языке, — экспериментировать с автоматизациями и настраивать уведомления и команды, которые вам удобны.








