diff --git a/data/widgets/inputNum.json b/data/widgets/inputDigit.json similarity index 100% rename from data/widgets/inputNum.json rename to data/widgets/inputDigit.json diff --git a/include/Class/Input.h b/include/Class/Input.h index 9232d194..4f5bdec0 100644 --- a/include/Class/Input.h +++ b/include/Class/Input.h @@ -9,15 +9,25 @@ class Input : public LineParsing { public: Input() : LineParsing(){}; - void inputSetDefault() { - inputSet(_key, _state); + void inputSetDefaultFloat() { + inputSetFloat(_key, _state); } - void inputSet(String key, String state) { + void inputSetDefaultStr() { + inputSetStr(_key, _state); + } + + void inputSetFloat(String key, String state) { eventGen(key, ""); jsonWriteFloat(configLiveJson, key, state.toFloat()); MqttClient::publishStatus(key, state); } + + void inputSetStr(String key, String state) { + eventGen(key, ""); + jsonWriteStr(configLiveJson, key, state); + MqttClient::publishStatus(key, state); + } }; extern Input* myInput; \ No newline at end of file diff --git a/include/Cmd.h b/include/Cmd.h index fdacb71e..a536a0e5 100644 --- a/include/Cmd.h +++ b/include/Cmd.h @@ -3,7 +3,6 @@ #include extern void cmd_init(); -extern void itemInit(); extern void buttonOut(); extern void buttonOutSet(); @@ -17,6 +16,12 @@ extern void buttonInSet(); extern void inputDigit(); extern void inputDigitSet(); +extern void inputTime(); +extern void inputTimeSet(); + +extern void text(); +extern void textSet(); + extern void handle_time_init(); extern void stepper(); extern void stepperSet(); @@ -26,11 +31,10 @@ extern void serialBegin(); extern void serialWrite(); extern void logging(); -extern void inputTime(); + extern void button(); extern void timeSet(); -extern void text(); -extern void textSet(); + extern void mqttOrderSend(); extern void httpOrderSend(); extern void firmwareVersion(); diff --git a/src/Cmd.cpp b/src/Cmd.cpp index 366df8f5..22606ca2 100644 --- a/src/Cmd.cpp +++ b/src/Cmd.cpp @@ -30,15 +30,18 @@ void cmd_init() { sCmd.addCommand("pwm-out", pwmOut); sCmd.addCommand("button-in", buttonIn); sCmd.addCommand("input-digit", inputDigit); + sCmd.addCommand("input-time", inputTime); + + sCmd.addCommand("text", text); + sCmd.addCommand("textSet", textSet); + + - sCmd.addCommand("inputTime", inputTime); - sCmd.addCommand("timeSet", timeSet); sCmd.addCommand("timerStart", timerStart_); sCmd.addCommand("timerStop", timerStop_); - sCmd.addCommand("text", text); - sCmd.addCommand("textSet", textSet); + #ifdef ANALOG_ENABLED sCmd.addCommand("analog", analog); @@ -177,45 +180,39 @@ void buttonInSet() { } //==========================================Модуль ввода цифровых значений================================== -//input-digit digit1 inputNum Ввод Введите 4 st[60] +//input-digit digit1 inputDigit Ввод Введите.цифру 4 st[60] //========================================================================================================== void inputDigit() { myInput = new Input(); myInput->update(); String key = myInput->gkey(); sCmd.addCommand(key.c_str(), inputDigitSet); - myInput->inputSetDefault(); + myInput->inputSetDefaultFloat(); myInput->clear(); } void inputDigitSet() { String key = sCmd.order(); String state = sCmd.next(); - myInput->inputSet(key, state); + myInput->inputSetFloat(key, state); } -//===================================================================================================================================== -//=========================================Добавление окна ввода времени=============================================================== +//==========================================Модуль ввода времени============================================ +//input-time time1 inputTime Ввод Введите.время 4 st[10-00-00] +//========================================================================================================== void inputTime() { - String value_name = sCmd.next(); - String number = value_name.substring(4); - String widget_name = sCmd.next(); - widget_name.replace("#", " "); - String page_name = sCmd.next(); - page_name.replace("#", " "); - String start_state = sCmd.next(); - String page_number = sCmd.next(); - - jsonWriteStr(configLiveJson, "time" + number, start_state); - createWidget(widget_name, page_name, page_number, "inputTime", "time" + number); + myInput = new Input(); + myInput->update(); + String key = myInput->gkey(); + sCmd.addCommand(key.c_str(), inputTimeSet); + myInput->inputSetDefaultStr(); + myInput->clear(); } -void timeSet() { - String number = sCmd.next(); - String value = sCmd.next(); - - jsonWriteStr(configLiveJson, "time" + number, value); - MqttClient::publishStatus("time" + number, value); +void inputTimeSet() { + String key = sCmd.order(); + String state = sCmd.next(); + myInput->inputSetStr(key, state); } void handle_time_init() {