diff --git a/data_ms/items/items.txt b/data_ms/items/items.txt index 4fbf06cc..90abaf88 100644 --- a/data_ms/items/items.txt +++ b/data_ms/items/items.txt @@ -1,6 +1,6 @@ 0;button-out;btnid;toggleBtn;Кнопки;Освещение;order* 0;button-out;100-0;toggleBtn;Кнопки;Освещение;order;type[ms]* -0;input;dgtid;inputDigit;Ввод;Введите#цифру;order* +0;input-value;dgtid;inputDigit;Ввод;Введите#цифру;order* 0;input;tmid;inputTime;Ввод;Введите#время;order* 0;output;txtid;anydata;Вывод;Сигнализация;order* 0;count-down;cntid;anydata;Таймер;Обратный#отчет;order* diff --git a/src/items/vSensorAny.cpp b/src/items/vSensorAny.cpp index 0f4bbc5f..632fe3c1 100644 --- a/src/items/vSensorAny.cpp +++ b/src/items/vSensorAny.cpp @@ -50,10 +50,28 @@ void SensorAny::read() { MySensorAnyVector* mySensorAny = nullptr; +void AnySensorExecute() { + String key = sCmd.order(); + String command = sCmd.next(); + + if (command == "cmd1") { + SerialPrint("I", "Sensor", key + " выполняет cmd1 без параметра"); + } + else if (command == "cmd2") { + String par = sCmd.next(); + SerialPrint("I", "Sensor", key + " выполняет cmd2 c параметром " + par); + } + else if (command == "cmd3") { + String par = sCmd.next(); + SerialPrint("I", "Sensor", key + " выполняет cmd3 c параметром " + par); + } +} + void AnySensor() { String params = "{}"; myLineParsing.update(); - jsonWriteStr(params, "key", myLineParsing.gkey()); + String key = myLineParsing.gkey(); + jsonWriteStr(params, "key", key); jsonWriteStr(params, "addr", myLineParsing.gaddr()); jsonWriteStr(params, "int", myLineParsing.gint()); jsonWriteStr(params, "c", myLineParsing.gc()); @@ -64,7 +82,10 @@ void AnySensor() { myLineParsing.clear(); static bool firstTime = true; - if (firstTime) mySensorAny = new MySensorAnyVector(); + if (firstTime) { + mySensorAny = new MySensorAnyVector(); + sCmd.addCommand(key.c_str(), AnySensorExecute); + } firstTime = false; mySensorAny->push_back(SensorAny(params)); }