Найти в Дзене
Умный Дом Парус

Настройка оповещений в Телеграм из Home Assistant

1. Условия

2. Создание нового бота Telegram

2.1 Обращение к BotFather

2.2 Получить токен доступа

3. Получение чата и идентификаторов пользователей

3.1 Бот GetIDs или getmyid_bot

3.2 ID с помощью стандартного API

3.3 Через браузерную веб-версию Telegram

3.4 Самый лучший способ- Show peer ID in Profile

4. Добавление бота

5. Настройка Home Assistant

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

7. Пример создания автоматизации команд

1. Условия

У вас должен быть установлен и запущен Home Assistant, а также вы должны иметь базовые знания YAML, включая редактирование configuration.yaml .

Вам нужно понимать, как использовать службы и объекты в Home Assistant.

Если вы новичок в Home Assistant или еще не знакомы с редактированием файлов YAML, рекомендую установить дополнение File Editor

Вам также необходима учетная запись в Telegram.

2. Создать нового бота Telegram

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

2.1 Обращение к BotFather

Чтобы создать своего собственного бота Telegram, вам нужно посетить BotFather бот, единственная цель которого — создавать новых ботов. Вы можете либо посетить страницу BotFather , либо просто добавить @botfather .

После того, как вы добавили @botfather в Telegram, отправьте сообщение /start , и вам будут представлены доступные команды. Отправьте сообщение /newbot и следуйте инструкциям, чтобы создать нового бота.

После создания нового бота вам будет предоставлен токен доступа. В качестве альтернативы вы можете ввести команду /token, чтобы отобразить токен.

Получив токен, никому не передавайте его, скопируйте и запишите его в надежном месте, так как он понадобится нам позже для настройки Home Assistant.

-2

Если вы планируете отправлять сообщения в группу или канал, необходимо в BotFather отключить режим конфиденциальности :

  • /mybots
  • выбираете имя бота из списка
  • Bot settings
  • Group privacy
  • Disable

3. Получение чата и идентификаторов пользователей

3.1 Бот GetIDs или getmyid_bot

Также информация, которая нам нужна для настройки Home Assistant, — это chat_id и group_id для любых людей или групп, с которыми мы хотим разрешить общаться нашему боту.

Чтобы получить идентификатор пользователя или группы, вы можете использовать бота @getIDs . Просто добавьте бота и выполните команду /start , чтобы получить свой идентификатор пользователя. Чтобы получить идентификатор другого пользователя, которого вы хотите включить в настройку Home Assistant, просто попросите их также добавить бота GetIDs и отправить вам свой идентификатор.

-3

Вы также можете добавить бота @GetIDs в группу, чтобы получить идентификатор группы , но учтите, что бот ответит только в том случае, если в группе есть хотя бы один человек.

Также обратите внимание, что идентификатор группы должен начинаться с отрицательного символа (-), и иметь 13 символов -это важно учитывать при добавлении идентификатора группы в Home Assistant.

3.2 ID с помощью стандартного API

ID группы (канала, чата) можно получить как с помощью многочисленных ботов, так и с помощью стандартного API Телеграмм по инструкции

https://api.telegram.org/botBOT:TOKEN/getChat?chat_id=@имяканала

тут:

BOT:TOKEN - реквизиты Вашего бота

@имяканала- имя искомого чата, канала или группы

в ответ получим

json

{«ok»:true,»result»:{«id»:-1001234567890,»title»:………

где id – chat_id канала.

3.3 Через браузерную веб-версию Telegram

Откройте на компьютере веб-браузер, войдите под своей учетной записью аккаунта, в браузерную веб-версию Telegram: https://web.telegram.org

Зайдите в нужный вам чат, чей идентификатор вы хотите узнать.

Посмотрите на ссылку , которая отобразиться в строке веб-браузера.

Ссылка должна быть похожа на:

https://web.telegram.org/k/#-1234567890, где последние символы - ID

3. 4. САМЫЙ лучший способ.

Узнать ID пользователя, группы или канала через дескпопное (компьютерное) приложение Телеграм:

-Настройки>Продвинутые настройки>Экспериментальные настройки

Далее. в появившемся меню находим опцию и включаем её:

Show peer ID in Profile

-4

После этого, в описании профиля канала, группы или пользователя, будет всегда отображаться ID.

-5

Важно знать, что идентификаторы каналов со знаком минус «-» впереди и состоят из 13 символов! Поэтому если вы получили ID группы или канала из 10 символов, надо спереди вписать «-100»

4. Добавление бота

ВАЖНО!!! интеграция не будет работать, пока мы не инициируем первый разговор с ботом. Это касается Всех пользователей, каналов и групп, которых мы хотим включить в наш Home Assistant. В каналах и группах нужно добавить бота в участники и желательно дать боту права администратора.

Найдите своего бота в Telegram и начните с ним разговор или просто введите команду /start .

5. Настройка Home Assistant

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

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

-6

На этом настройка полностью завершена. Необходимо полностью ПЕРЕГРУЗИТЬ Home Assistant и можно проверять отправку сообщений.

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

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

7. Пример автоматизации отправки уведомления в Телеграм

-7