Создание бота в телеграмм - SCratORS/SmartIntercom GitHub Wiki
Для управления умным домом и его устройствами через Телеграм, требуется создание своего бота. Вот этим мы и займемся...
В поиске ищем @ВоtFather - это официальный бот Телеграма, созданный специально для управления ботами. Если раньше им не пользовались, то нажимаем кнопку "Запустить" - собственно ничего другого в чате бота и не будет.
Появится меню бота:
В меню очень много возможностей, из которых нас интересует пока только одна - создание бота, это команда /newbot или эта же команда вызванная из "Меню", расположенного внизу слева.
Вызываем команду...
BotFather попросит указать имя бота - имя можете задать любое например "Бот умного дома".
Следом BotFather попросит ввести имя бота обязательно заканчивающее на "bot". Имя вводится на латинице и должно быть уникальным!
Если бот с таким именем уже существует, то появится сообщение с просьбой использовать другое имя:
Для примера я ввел имя - smarthome121_ha_bot
Появится сообщение о создании бота, в котором нам понадобится токен, при помощи которого мы и будем с ним работать:
(Особо хитрых сразу предупреждаю - бот был создан для примера и сразу же удален! Так что не пытайтесь его взломать по токену с картинки!)
Полученный токен сохраняем в файле secrets.yaml в Home Assistant:
# id:token - smarthome121_ha_bot
telegram_token: 5739678252:AAHq5KAwPaVDBgqLrpbMALOxTwTt8mLWYc4
Далее, для настройки бота в Home Assistant нам понадобится узнать свой "id".
В поиске ищем - @getmyid_bot и запускаем его. Появится сообщение:
Your user ID: 457173212
Current chat ID: 457173212
Это и есть ваш идентификатор в телеграм. Если вам надо узнать "id" собеседника - например жены, то просто перешлите боту @getmyid_bot сообщение полученное от неё. (Не свое ей, не пересланное ей, а именно написанное ей и присланное вам - это важно!) И получите третью строку:
Your user ID: 457173212
Current chat ID: 457173212
Forwarded from: 1311585534
Полученные id так же записываем в файл secrets.yaml:
# telegram chats
telegram_chat_my: 457173212
telegram_chat_wife: 1311585534
Осталось только настроить телеграм бот в Home Assistant. Тут все просто - в файл configuration.yaml пищем вот эти строки
telegram_bot:
- platform: polling
api_key: !secret telegram_token
parse_mode: html
allowed_chat_ids:
- !secret telegram_chat_my
- !secret telegram_chat_wife
Теперь вы можете отправлять в ваш бот сообщения - например так:
- service: telegram_bot.send_message
data:
title: "Умный дом сообщает"
message: "У меня все хорошо работает!"
target:
- !secret telegram_chat_my
- !secret telegram_chat_wife
Используя встроенные в Home Assistant команды, можно отправлять, файлы, картинки, видео. Но это уже тема отдельного разговора...