Связываем очередь прямых команд с элементами конфигурации. Пока только по установке значения.

This commit is contained in:
2022-02-22 23:58:35 +03:00
parent 729c126405
commit b938cbdcf0

View File

@@ -7,6 +7,8 @@
//его главное отличие от orderBuf в том что события в нем не для выполнения, а для проверки в условиях сценариев
//события в нем лишь вызывают другие команды, помещенные в блоке сценария, если условие совпало.
//эта функция будет вызываться:
// 1.на приеме сообщений в mqtt (см mqttCallback строку 142 в mqttClient.cpp)
// 2.на приеме сообщений в ws
@@ -21,7 +23,17 @@ void handleOrder() {
if (orderBuf.length()) {
String order = selectToMarker(orderBuf, ",");
Serial.println("order: " + order);
//здесь нужно перебрать все методы execute всех векторов и выполнить те id которых совпали с id события
IoTItem* item = findIoTItem(selectToMarker(order, " "));
if (item) {
String valStr = selectToMarkerLast(order, " ");
IoTValue value;
if (value.isDecimal = isDigitStr(valStr)) value.valD = valStr.toFloat();
else value.valS = valStr;
item->setValue(value);
}
orderBuf = deleteBeforeDelimiter(orderBuf, ",");
}
}