button with name

This commit is contained in:
Dmitry Borisenko
2020-07-28 22:22:14 +02:00
parent bcbec5a9d8
commit 5aa6f9482f
11 changed files with 77 additions and 128 deletions

View File

@@ -1,3 +1,5 @@
#include "Cmd.h"
#include "Global.h"
#include "Module/Terminal.h"
#include "Servo/Servos.h"
@@ -105,9 +107,14 @@ void cmd_init() {
handle_time_init();
}
//==========================================================================================================
//==========================================Модуль кнопок===================================================
//button out light toggle Кнопки Свет 1 pin[12] inv[1] st[1]
//void button() {
// void itemInit();
//}
//==========================================================================================================
void button() {
String command = sCmd.order();
pm.info("create '" + command + "'");
@@ -137,107 +144,33 @@ void button() {
}
}
Serial.println(pin);
Serial.println(inv);
Serial.println(state);
createWidget(descr, page, order, file, key);
sCmd.addCommand(key.c_str(), buttonSet);
if (pin != "") {
pinMode(pin.toInt(), OUTPUT);
jsonWriteStr(configOptionJson, key + "_pin", pin);
}
if (state != "") {
digitalWrite(pin.toInt(), state.toInt());
jsonWriteStr(configLiveJson, key, state);
}
}
//void button() {
// pm.info("create 'button'");
// String number = sCmd.next();
// String param = sCmd.next();
// String widget = sCmd.next();
// String page = sCmd.next();
// String state = sCmd.next();
// String pageNumber = sCmd.next();
//
// jsonWriteStr(configOptionJson, "button_param" + number, param);
// jsonWriteStr(configLiveJson, "button" + number, state);
//
// if (isDigitStr(param)) {
// pinMode(param.toInt(), OUTPUT);
// digitalWrite(param.toInt(), state.toInt());
// }
//
// if (param == "scen") {
// jsonWriteStr(configSetupJson, "scen", state);
// loadScenario();
// saveConfig();
// }
//
// if (param.indexOf("line") != -1) {
// String str = param;
// while (str.length()) {
// if (str == "") return;
// String tmp = selectToMarker(str, ","); //line1,
// String number = deleteBeforeDelimiter(tmp, "e"); //1,
// number.replace(",", "");
// Serial.println(number);
// int number_int = number.toInt();
// scenario_line_status[number_int] = state.toInt();
// str = deleteBeforeDelimiter(str, ",");
// }
// }
// createWidget(widget, page, pageNumber, "toggle", "button" + number);
//}
void buttonSet() {
String order = sCmd.order();
String key = sCmd.order();
String state = sCmd.next();
//Serial.println(order);
int pin = jsonReadInt(configOptionJson, key + "_pin");
digitalWrite(pin, state.toInt());
eventGen(order, "");
jsonWriteStr(configLiveJson, order, state);
MqttClient::publishStatus(order, state);
eventGen(key, "");
jsonWriteStr(configLiveJson, key, state);
MqttClient::publishStatus(key, state);
}
//void buttonSet() {
// String button_number = sCmd.next();
// String button_state = sCmd.next();
// String button_param = jsonReadStr(configOptionJson, "button_param" + button_number);
//
// if (button_param != "na" || button_param != "scen" || button_param.indexOf("line") != -1) {
// digitalWrite(button_param.toInt(), button_state.toInt());
// }
//
// if (button_param == "scen") {
// jsonWriteStr(configSetupJson, "scen", button_state);
// loadScenario();
// saveConfig();
// }
//
// if (button_param.indexOf("line") != -1) {
// String str = button_param;
// while (str.length() != 0) {
// if (str == "") return;
// String tmp = selectToMarker(str, ","); //line1,
// String number = deleteBeforeDelimiter(tmp, "e"); //1,
// number.replace(",", "");
// Serial.println(number);
// int number_int = number.toInt();
// scenario_line_status[number_int] = button_state.toInt();
// str = deleteBeforeDelimiter(str, ",");
// }
// }
//
// eventGen("button", button_number);
// jsonWriteStr(configLiveJson, "button" + button_number, button_state);
// MqttClient::publishStatus("button" + button_number, button_state);
//}
void buttonChange() {
String button_number = sCmd.next();
if (!isDigitStr(button_number)) {
@@ -545,6 +478,8 @@ void servoSet() {
MqttClient::publishStatus("servo" + number, String(value, DEC));
}
#endif
//====================================================================================================================================================
//=============================================================Модуль сериал порта=======================================================================
#ifdef SERIAL_ENABLED
void serialBegin() {