Интеграция с Телеграм ver.4

В настоящее время наблюдаются проблемы с работой модуля Телеграм на ESP8266. В то же время на ESP32 все работает отлично. Так что пока пробуйте на этом чипе.

Есть два модуля Телеграм.

  • TelegramLT Телеграм-Лайт (Только отправка уведомлений в телеграм о событиях. Модуль занимает значительно меньше памяти в ESP по сравнению со стандартным. Внимание! для отправки сообщений используется промежуточный сервер http://live-control.com)

Описание модуля TelegramLT Настраивается точно также как описано ниже, но заполняется только:
token — Токен для авторизации бота в системе Telegram;
chatID — ИД диалога с контактом. Необходим для отправки сообщений именно вам.

  • Telegram Телеграм-Бот (Добавляет возможность отправлять сообщения от имени бота контакту в Телеграм-чате и получать команды.)

Описание модуля Telegram

Для начала необходимо сделать собственный бот. Как это сделать можно посмотреть в инструкции к третьей версии.

Впишите токен в описание модуля.
Для принятия команд с бота receiveMsg нужно включить поставив 1.

Чтобы узнать свой чат ID подключитесь к нашему боту.
Внутри бота нужно дать команду /help. В ответ Вы получите ID(Chat ID).

Впишите ID(Chat ID) в соответствующее поле модуля.
Модуль настроен.


С модуля можно получать информацию о состоянии командой get_ID. Например get_led получить состояние светодиода.
Команда /all присылает информацию о всех интерфейсах.
Командой set_ID_x можно дать команду на установку значения, где x это значение. Например set_led_1 включит светодиод.

Для отправки информации в Телеграм из сценариев есть 2 функции:

tg.sendMsg(сообщение или значение); //отправка идет только если изменилось значение
tg.sendOftenMsg(сообщение или значение); //отправить в любом случае

Где (tg) — это Id модуля телеграм.

Id телеграм

Пример сценария с использованием телеграм (исключительно ознакомление):

if onStart then tg.sendMsg(«ESP32 загружена»);
if var==1 then {led=1; tg.sendOftenMsg(«led on»);}
if var==0 then {led=0; tg.sendOftenMsg(«led off»);}
if var==1 then {led=1; tg.sendOftenMsg(«led on»);}
if var==0 then {led2=0; tg.sendOftenMsg(«led off»);}

Пример: Как правильно сделать в сценарии чтобы сообщение приходило только при переходе температуры от датчика?
Например: if Ds1 < 28 then tg1.sendMsg(«Температура упала «+ Ds1)
При таком сценарии сообщения приходят постоянно если температура меньше 28.
Решение:
if Ds1 >= 28 then
{ tg1.sendMsg(«Температура больше 28»)}
else
{ tg1.sendMsg(«Температура меньше 28») }

Оставьте комментарий

Поддержал проект — спас молодого самодельщика! А мы принимаем подарки...

X