Добавил событие об успешной отправке

This commit is contained in:
avaksru
2022-10-20 10:09:16 +03:00
parent f480295d0c
commit cc92500008
2 changed files with 31 additions and 20 deletions

View File

@@ -9,14 +9,16 @@ public:
String _token; String _token;
String _chatID; String _chatID;
TelegramLT(String parameters) : IoTItem(parameters) { TelegramLT(String parameters) : IoTItem(parameters)
{
jsonRead(parameters, "token", _token); jsonRead(parameters, "token", _token);
jsonRead(parameters, "chatID", _chatID); jsonRead(parameters, "chatID", _chatID);
} }
void sendTelegramMsg(bool often, String msg) void sendTelegramMsg(bool often, String msg)
{ {
if (WiFi.status() == WL_CONNECTED && (often || !often && _prevMsg != msg)) { if (WiFi.status() == WL_CONNECTED && (often || !often && _prevMsg != msg))
{
WiFiClient client; WiFiClient client;
HTTPClient http; HTTPClient http;
http.begin(client, "http://live-control.com/iotm/telegram.php"); http.begin(client, "http://live-control.com/iotm/telegram.php");
@@ -27,12 +29,16 @@ public:
SerialPrint("<-", F("Telegram"), "chat ID: " + _chatID + ", msg: " + msg); SerialPrint("<-", F("Telegram"), "chat ID: " + _chatID + ", msg: " + msg);
SerialPrint("->", F("Telegram"), "chat ID: " + _chatID + ", server: " + httpResponseCode); SerialPrint("->", F("Telegram"), "chat ID: " + _chatID + ", server: " + httpResponseCode);
if (!strstr(payload.c_str(), "{\"ok\":true")) { if (!strstr(payload.c_str(), "{\"ok\":true"))
value.valD = 1; {
value.valD = 0;
Serial.printf("Telegram error, msg from server: %s\n", payload.c_str()); Serial.printf("Telegram error, msg from server: %s\n", payload.c_str());
regEvent(value.valD, payload); regEvent(value.valD, payload);
} else { }
value.valD = 0; else
{
value.valD = 1;
regEvent(value.valD, payload);
} }
http.end(); http.end();
_prevMsg = msg; _prevMsg = msg;
@@ -41,7 +47,8 @@ public:
IoTValue execute(String command, std::vector<IoTValue> &param) IoTValue execute(String command, std::vector<IoTValue> &param)
{ {
if (param.size() == 1) { if (param.size() == 1)
{
String strTmp; String strTmp;
if (param[0].isDecimal && param[0].valS == "") if (param[0].isDecimal && param[0].valS == "")
strTmp = param[0].valD; strTmp = param[0].valD;

View File

@@ -21,7 +21,7 @@
"authorGit": "https://github.com/avaksru", "authorGit": "https://github.com/avaksru",
"specialThanks": "", "specialThanks": "",
"moduleName": "TelegramLT", "moduleName": "TelegramLT",
"moduleVersion": "1.0", "moduleVersion": "2",
"usedRam": { "usedRam": {
"esp32_4mb": 15, "esp32_4mb": 15,
"esp8266_4mb": 15 "esp8266_4mb": 15
@@ -37,12 +37,16 @@
{ {
"name": "sendMsg", "name": "sendMsg",
"descr": "Отправить сообщение без повторений.", "descr": "Отправить сообщение без повторений.",
"params": ["Сообщение, может быть строкой, числом или ИД другого элемента для получения значения"] "params": [
"Сообщение, может быть строкой, числом или ИД другого элемента для получения значения"
]
}, },
{ {
"name": "sendOftenMsg", "name": "sendOftenMsg",
"descr": "Отправить сообщение в любом случае, даж если отправляли такое ранее.", "descr": "Отправить сообщение в любом случае, даж если отправляли такое ранее.",
"params": ["Сообщение, может быть строкой, числом или ИД другого элемента для получения значения"] "params": [
"Сообщение, может быть строкой, числом или ИД другого элемента для получения значения"
]
} }
] ]
}, },