устранен баг телеграма, баг сценариев....

This commit is contained in:
Dmitry Borisenko
2020-12-20 17:08:16 +01:00
parent 3417d0c915
commit 1df87f8986
9 changed files with 93 additions and 77 deletions

View File

@@ -3,10 +3,10 @@
0;inoutput;tUp1;inputDigit;Термостат1;Верхний#порог;3
0;inoutput;tLow1;inputDigit;Термостат1;Нижний#порог;4
0;button-out;btn1;toggle;Термостат1;Нагрев;5;pin[12]*
0;dallas-temp;t2;anydataTemp;Термостат2;Температура;1;pin[2];index[0];int[60]
0;dallas-temp;t2;anydataTemp;Термостат2;Температура;1;pin[2];index[0];int[10]
0;logging;log2;chart;Термостат2;История;2;val[t2];int[10];cnt[100]
0;inoutput;threshold;inputDigitTemp;Термостат2;Заданная#температура;3
0;button-out;heater2;toggle;Термостат2;Нагреватель;7;pin[12]
0;button-out;heater2;toggle;Термостат2;Нагреватель;7;pin[5]
0;inoutput;time21;inputTimeClock;Расписание2;Утренний#период;8
0;inoutput;threshold1;inputDigitTemp;Расписание2;Температура;9
0;inoutput;time22;inputTimeClock;Расписание2;Дневной#период;10

View File

@@ -1,10 +1,10 @@
t1 > tUp1
btn1 0
telegram нагрев#выключен 1
telegram Гостинная нагрев#выключен
end
t1 < tLow1
btn1 1
telegram нагрев#включен 1
telegram Гостинная нагрев#включен
end*
t2 > threshold+-2
heater2 0
@@ -26,11 +26,11 @@ threshold threshold4
end*
h3 > hUp3
hUp3 0
telegram полив#выключен 1
telegram Теплица полив#выключен
end
h3 < hLow3
hUp3 1
telegram полив#включен 1
telegram Теплица полив#включен
end*
timenow = time41
btn41 1
@@ -65,7 +65,7 @@ end*
sensor = 1
text обнаружено
time %date%
telegram text обнаружено#движение 1
telegram often Обнаружено#движение
end
reset = 1
text не#обнаружено

View File

@@ -1,8 +1,9 @@
#pragma once
#include <Arduino.h>
#include "ItemsList.h"
#include "Global.h"
#include "ItemsList.h"
#include "Utils/JsonUtils.h"
class LineParsing {
@@ -110,10 +111,13 @@ public:
}
}
if (_pin != "") {
if (!isPinExist(_pin.toInt()) || !isDigitStr(_pin)) {
pinErrors++;
Serial.println("'" + _pin + "'");
_pin = "";
}
}
_page.replace("#", " ");
_descr.replace("#", " ");
@@ -123,7 +127,6 @@ public:
createWidget(_descr, _page, _order, _file, _key);
}
String gkey() {
return _key;
}
@@ -176,7 +179,6 @@ public:
return _index;
}
int getPinErrors() {
return pinErrors;
}
@@ -185,7 +187,6 @@ public:
pinErrors = 0;
}
void clear() {
_key = "";
_file = "";

3
include/Tests.h Normal file
View File

@@ -0,0 +1,3 @@
#pragma once
extern void testsPerform();

View File

@@ -106,7 +106,7 @@ void deviceInit() {
int errors = myLineParsing.getPinErrors();
if (errors != 0) {
if (errors > 0) {
jsonWriteStr(configSetupJson, F("warning3"), F("<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #DCDCDC; border-radius: 3px; background-color: #ffc7c7; padding: 10px;'>Обнаружен неверный номер пина</p></font></div>"));
}
else {

View File

@@ -1,7 +1,7 @@
#include "ItemsList.h"
#include "FileSystem.h"
#include "Class/NotAsync.h"
#include "FileSystem.h"
#include "Init.h"
#include "Utils/StringUtils.h"
@@ -20,7 +20,6 @@ void itemsListInit() {
},
nullptr);
SerialPrint("I", F("Items"), F("Items Init"));
}
@@ -61,7 +60,6 @@ void addItem2(String param) {
Serial.println(seachingLine);
}
void addPreset2(int num) {
File configFile = FileFS.open("/presets/presets.c.txt", "r");
if (!configFile) {
@@ -76,8 +74,7 @@ void addPreset2(int num) {
if (i1 == num) {
if (i1 == 1) {
config = "\n" + item;
}
else {
} else {
config = item;
}
break;
@@ -85,7 +82,7 @@ void addPreset2(int num) {
}
configFile.close();
addFile(DEVICE_CONFIG_FILE, config);
//===========================================================================
File scenFile = FileFS.open("/presets/presets.s.txt", "r");
if (!scenFile) {
return;
@@ -97,17 +94,23 @@ void addPreset2(int num) {
i2++;
String item = scenFile.readStringUntil('*');
if (i2 == num) {
if (i1 == 1) {
scen = "\n" + item;
} else {
scen = item;
}
break;
}
}
scenFile.close();
if (readFile(String(DEVICE_SCENARIO_FILE), 2048) == "//") {
removeFile(DEVICE_SCENARIO_FILE);
}
scen = deleteBeforeDelimiter(scen, "\n");
addFile(DEVICE_SCENARIO_FILE, scen);
} else {
addFile(DEVICE_SCENARIO_FILE, scen);
}
}
void delAllItems() {
removeFile(DEVICE_CONFIG_FILE);
@@ -138,8 +141,7 @@ uint8_t getFreePinAll() {
uint8_t i = getNewElementNumber("pins.txt");
if (i < array_sz) {
return pins[i];
}
else {
} else {
return 0;
}
}
@@ -172,8 +174,7 @@ void delChoosingItems() {
String item = configFile.readStringUntil('\n');
if (firstLine) {
finalConf += item;
}
else {
} else {
int checkbox = selectToMarker(item, ";").toInt();
if (checkbox == 0) {
finalConf += "\n" + item;

View File

@@ -1,13 +1,13 @@
#include "Consts.h"
#ifdef telegramEnable
#include "Telegram.h"
#include "BufferExecute.h"
#include "Telegram.h"
CTBot* myBot{nullptr};
void telegramInit() {
if (isTelegramEnabled()) {
telegramInitBeen = true;
sCmd.addCommand("telegramEnable", sendTelegramMsg);
sCmd.addCommand("telegram", sendTelegramMsg);
String token = jsonReadStr(configSetupJson, "telegramApi");
if (!myBot) {
myBot = new CTBot();
@@ -16,8 +16,7 @@ void telegramInit() {
myBot->enableUTF8Encoding(true);
if (myBot->testConnection()) {
SerialPrint("I", "Telegram", "Connected");
}
else {
} else {
SerialPrint("E", "Telegram", "Not connected");
}
SerialPrint("I", F("Telegram"), F("Telegram Init"));
@@ -53,36 +52,34 @@ void telegramMsgParse(String msg) {
loopCmdAdd(String(msg) + ",");
myBot->sendMessage(jsonReadInt(configSetupJson, "chatId"), "order done");
SerialPrint("<-", "Telegram", "chat ID: " + String(jsonReadInt(configSetupJson, "chatId")) + ", msg: " + String(msg));
}
else if (msg.indexOf("get") != -1) {
} else if (msg.indexOf("get") != -1) {
msg = deleteBeforeDelimiter(msg, "_");
myBot->sendMessage(jsonReadInt(configSetupJson, "chatId"), getValue(msg)); //jsonReadStr(configLiveJson , msg));
SerialPrint("<-", "Telegram", "chat ID: " + String(jsonReadInt(configSetupJson, "chatId")) + ", msg: " + String(msg));
}
else if (msg.indexOf("all") != -1) {
} else if (msg.indexOf("all") != -1) {
String list = returnListOfParams();
myBot->sendMessage(jsonReadInt(configSetupJson, "chatId"), list);
SerialPrint("<-", "Telegram", "chat ID: " + String(jsonReadInt(configSetupJson, "chatId")) + "\n" + list);
}
else {
} else {
myBot->sendMessage(jsonReadInt(configSetupJson, "chatId"), F("Wrong order, use /all to get all values, /get_id to get value, or /set_id_value to set value"));
}
}
void sendTelegramMsg() {
String id = sCmd.next();
String sabject = sCmd.next();
String msg = sCmd.next();
if (sabject == "often") {
msg.replace("#", " ");
if (id == "often") {
myBot->sendMessage(jsonReadInt(configSetupJson, "chatId"), msg);
SerialPrint("<-", "Telegram", "chat ID: " + String(jsonReadInt(configSetupJson, "chatId")) + ", msg: " + msg);
}
else {
String prevMsg = jsonReadStr(telegramMsgJson, id);
} else {
String prevMsg = jsonReadStr(telegramMsgJson, sabject);
if (prevMsg != msg) {
jsonWriteStr(telegramMsgJson, id, msg);
myBot->sendMessage(jsonReadInt(configSetupJson, "chatId"), msg);
SerialPrint("<-", "Telegram", "chat ID: " + String(jsonReadInt(configSetupJson, "chatId")) + ", msg: " + msg);
jsonWriteStr(telegramMsgJson, sabject, msg);
msg.replace("#", " ");
sabject.replace("#", " ");
myBot->sendMessage(jsonReadInt(configSetupJson, "chatId"), sabject + " " + msg);
SerialPrint("<-", "Telegram", "chat ID: " + String(jsonReadInt(configSetupJson, "chatId")) + ", msg: " + sabject + " " + msg);
}
}
}
@@ -95,7 +92,6 @@ bool isTelegramInputOn() {
return jsonReadBool(configSetupJson, "teleginput");
}
String returnListOfParams() {
String cmdStr = readFile(DEVICE_CONFIG_FILE, 4096);
cmdStr += "\r\n";

12
src/Tests.cpp Normal file
View File

@@ -0,0 +1,12 @@
#include "Tests.h"
#include "Global.h"
#include "ItemsList.h"
void testsPerform() {
Serial.println("====some tests section====");
Serial.println("==========end============");
}

View File

@@ -22,6 +22,7 @@
#include "Telegram.h"
#include "SoftUART.h"
#include "FileSystem.h"
#include "Tests.h"
void not_async_actions();
@@ -67,7 +68,9 @@ void setup() {
SsdpInit();
#endif
getFSInfo();
//esp_log_level_set("esp_littlefs", ESP_LOG_NONE);
testsPerform();
just_load = false;
initialized = true;
}