Добавляем возможность любому элементу задавать миллисекунды

путем установки отрицательного значения INT параметра
This commit is contained in:
2023-02-08 09:39:24 +03:00
parent 7f73f464ea
commit ebb8b9747d

View File

@@ -7,8 +7,9 @@
IoTItem::IoTItem(const String& parameters) { IoTItem::IoTItem(const String& parameters) {
jsonRead(parameters, F("int"), _interval, false); jsonRead(parameters, F("int"), _interval, false);
if (_interval <= 0) enableDoByInt = false; if (_interval = 0) enableDoByInt = false; // выключаем использование периодического выполнения в модуле
_interval = _interval * 1000; if (_interval > 0) _interval = _interval * 1000; // если int положителен, то считаем, что получены секунды
if (_interval < 0) _interval = _interval * -1; // если int отрицательный, то миллисекунды
jsonRead(parameters, F("subtype"), _subtype, false); jsonRead(parameters, F("subtype"), _subtype, false);
jsonRead(parameters, F("id"), _id); jsonRead(parameters, F("id"), _id);
if (!jsonRead(parameters, F("multiply"), _multiply, false)) _multiply = 1; if (!jsonRead(parameters, F("multiply"), _multiply, false)) _multiply = 1;
@@ -278,7 +279,7 @@ IoTItem* createItemFromNet(const String& msgFromNet) {
} }
void analyzeMsgFromNet(const String& msg, String altId) { void analyzeMsgFromNet(const String& msg, String altId) {
if (!jsonRead(msg, F("id"), altId, altId == "") && altId == "") return; // ничего не предпринимаем, если ошибка и altId = "", вообще данная конструкция нужна для совместимости с форматом данных 3 версией if (!jsonRead(msg, F("id"), altId, altId == "")) return; // ничего не предпринимаем, если ошибка и altId = "", вообще данная конструкция нужна для совместимости с форматом данных 3 версией
IoTItem* itemExist = findIoTItem(altId); IoTItem* itemExist = findIoTItem(altId);
if (itemExist) { if (itemExist) {
String valAsStr = msg; String valAsStr = msg;
@@ -293,6 +294,7 @@ void analyzeMsgFromNet(const String& msg, String altId) {
} else { } else {
// временно зафиксируем данные в базе, если локально элемент отсутствует // временно зафиксируем данные в базе, если локально элемент отсутствует
createItemFromNet(msg); createItemFromNet(msg);
//Serial.println("ffffffffff " + msg + " altId=" + altId);
} }
} }