Telegram (обновлено: 11 Apr 2023, 20:29:36)

Telegram


Поддержка Telegram. Отправка уведомлений и управление. Устройство напрямую подключается к серверам Телеграм.

Можно использовать облачный сервис для контроля через Телеграм - можно управлять всеми устройствами через одного бота, требуется минимум настройки и это менее ресурсоёмкая опция.

С 16.04.2018 Telegram в России заблокирован. Работа опции не возможна. Разблокирован 19.06.2020.

18.03.23. Глобальное обновление опции: После обновления требуется заново настроить опцию ! Сейчас чтобы узнать свой ИД можно написать боту и посмотреть его на вкладке IP/debug. Доступно управление всеми PWM опциями.


Работа опции аналогична другим опциям уведомлений. Настройка опции находится в общей для этих целей вкладке Notifications.

Для отправки данных с датчиков или состояния GPIO через Telegram требуется использовать опцию Текстовые шаблоны. Вызвать шаблон для отправки можно из других систем модуля но номеру GPIO или выбора шаблона.

Обратите внимание, что опция использует достаточно ресурсоёмкую SSL. Для ESP8266 это критично - там ОЗУ должно быть свободно не меньше 28кб для работы опции. По этой причине функций влезает крайне мало и не рекомендуется использовать на ESP8266 поддержку обратной связи, только отправка уведомлений.

Добавление бота в Telegram

Необходимо добавить бота BotFather к себе в контакты и написать ему команду /newbot . Далее вводим имя как бот будет отображаться в списке контактов и в следующей строке его адрес (то же имя). В ответ на сообщения бот выдаст ID и токен через двоеточие - эти данные необходимо будет указать в настройках модуля в поле Bot data вкладки Notifications секции настройки Telegram. .

Обязательно добавляем созданного бота в список контактов используя поиск пользователей.

Добавление основного пользователя для уведомления и управления

Чтобы узнать свой ID (кому писать сообщение):

1 вариант: пишем своему боту и смотрим ID на вкладке ip/debug . Работает, если API ключ вбит корректно. 

2 вариант: добавляем бота ShowJsonBot и что нибудь ему пишем.

В ответ он выдаст json где будет поле id с вашим ID,


который нужно указать в настройках модуля в поле Chat id вкладки Notifications секции настройки Telegram. 

3 вариант: Свой ID можно узнать и через UART отладку модуля, если пользователь не авторизован, то там на команду боту будет ошибка вида TELEGRAMMRECV: Error:id user ХХХХХХ , где ХХХХХХ - ID пользователя.

Управление модулем через команды и кнопки

Функция управления должна быть включена в шестеренке опции.

Интервал опроса команд - 3 сек.

Поддерживаемые команды (соответствующие опции должны быть установлены в прошивке):

setgpio X Y - управление GPIO, в том числе VGPIO и D2D. Включая поддержку обратной связи для вывода состояния удаленных GPIO.

setpwm X Y - управление PWM

settermo X Y Z - Управление термостатом, его параметрами. X - номер термостата, Y - верхняя граница, Z -нижняя граница

gettermo X - Чтение настроек термостата

ontermo X - Включение выбранного термостата

offtermo X - Выключение выбранного термостата

radio XXX - управление радио, можно указать имя, номер или url станции. Имена станции должны быть названы маленькими буквами.

info - вывод полезной информации;

hard - получить список установленных опций на модуле(не все !);

hard Y X - устройство номер Y согласно списку включить или выключить. Х - 0 выкл, 1 -вкл.

restart - перезапустить модуль;

ver - дата и версия прошивки;

geturl URL - отправка и чтение get запросов. Пример geturl 192.168.0.100/debug;

cam - получение картинки из подключенной к esp32 камеры;

camtime Х - установка интервала отправки изображения у подключенной к esp32 камеры;

caminfo - информация о состоянии и настройках esp32 камеры;

wol x - Пробуждение устройств через опцию WakeOnLan. Где x - это номер на вкладке настроек MAC адресов или сам MAC адрес без разделителей.

valdes X Y - установка переменной X конструктора кода в значение Y.

После первой команды модулю должно появится меню, через которое так же можно управлять модулем. Меню реализовано через встроенные возможности Telegram. Кнопки так же появляются, если настроены имена у sms/email шаблонов и у Alias.

На каждую команду должен приходить ответ.

Alias 

Функция позволяет создавать свои кнопки. Name - имя кнопки, to - команда (до 30 символов). Например, для управления gpio19 - setgpio 19 2.



Сообщения в группу(чат)

Бота обязательно добавляем в администраторы чата. У приватных чатов ID отрицательный и вводиться без изменений в поле ID.

Создаем именно группу , а не канал !!! С каналом бот не будет работать !

Список доступа (user list)

Опция позволяет дополнительно дать нескольким пользователям доступ к управлению модулем. На данный момент уведомления от функций модуля доступны только пользователю, который прописан на вкладке notification. Если требуется отправлять уведомления нескольким пользователям, то создайте канал для этого. 

В дополнительных настройках перед компиляцией  можно задать количество пользователей, которым будет дан доступ к модулю. При установке в  - 0, список доступа будет отключен.

Настройка списка доступа - в подменю Notifications -> User list. Вводить можно только числовые ID пользователей.

Отладка

У ESP32 и ESP8266RTOS в UART можно увидеть сообщения от сервера telegram. Запрос команд не отображает состояние - выводит только ошибки.