Добавление в песочницу возможность атлавливать команды из сценариев

This commit is contained in:
2022-02-01 09:01:07 +03:00
parent c7b649db07
commit bfabd3965f

View File

@@ -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));
}