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.
Если вы планируете отправлять сообщения в группу или канал, необходимо в BotFather отключить режим конфиденциальности :
- /mybots
- выбираете имя бота из списка
- Bot settings
- Group privacy
- Disable
3. Получение чата и идентификаторов пользователей
3.1 Бот GetIDs или getmyid_bot
Также информация, которая нам нужна для настройки Home Assistant, — это chat_id и group_id для любых людей или групп, с которыми мы хотим разрешить общаться нашему боту.
Чтобы получить идентификатор пользователя или группы, вы можете использовать бота @getIDs . Просто добавьте бота и выполните команду /start , чтобы получить свой идентификатор пользователя. Чтобы получить идентификатор другого пользователя, которого вы хотите включить в настройку Home Assistant, просто попросите их также добавить бота GetIDs и отправить вам свой идентификатор.
Вы также можете добавить бота @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
После этого, в описании профиля канала, группы или пользователя, будет всегда отображаться ID.
Важно знать, что идентификаторы каналов со знаком минус «-» впереди и состоят из 13 символов! Поэтому если вы получили ID группы или канала из 10 символов, надо спереди вписать «-100»
4. Добавление бота
ВАЖНО!!! интеграция не будет работать, пока мы не инициируем первый разговор с ботом. Это касается Всех пользователей, каналов и групп, которых мы хотим включить в наш Home Assistant. В каналах и группах нужно добавить бота в участники и желательно дать боту права администратора.
Найдите своего бота в Telegram и начните с ним разговор или просто введите команду /start .
5. Настройка Home Assistant
На этом этапе у вас должен быть настроен собственный бот Telegram, записан токен для бота и список идентификаторов пользователей и групп , которые вы хотите включить в интеграцию с Home Assistant.
Открываем configuration.yaml с помощью File Editor или другим удобным способом. И вписываем данные строки (не забудьте поменять api_key и chat_id на свои):
На этом настройка полностью завершена. Необходимо полностью ПЕРЕГРУЗИТЬ Home Assistant и можно проверять отправку сообщений.
6. Проверка отправки уведомлений
Для проверки перейдите в «Панель разработчика» и выберите вкладку «Действия». В списке служб выбираем «Уведомления: Send a notification with telegram_user» и вписываем текст сообщения. Если всё сделано верно, адресат получит сообщение
7. Пример автоматизации отправки уведомления в Телеграм