mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
Добавляем в ядро setValue(String valStr); для универсального присваивания значения элементу конфигурации
This commit is contained in:
@@ -37,6 +37,7 @@ class IoTItem {
|
|||||||
virtual IoTGpio* getGpioDriver();
|
virtual IoTGpio* getGpioDriver();
|
||||||
virtual iarduino_RTC_BASE* getRtcDriver();
|
virtual iarduino_RTC_BASE* getRtcDriver();
|
||||||
virtual void setValue(IoTValue Value);
|
virtual void setValue(IoTValue Value);
|
||||||
|
virtual void setValue(String valStr);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
String _subtype;
|
String _subtype;
|
||||||
|
|||||||
@@ -29,12 +29,7 @@ void handleOrder() {
|
|||||||
IoTItem* item = findIoTItem(selectToMarker(order, " "));
|
IoTItem* item = findIoTItem(selectToMarker(order, " "));
|
||||||
if (item) {
|
if (item) {
|
||||||
String valStr = selectToMarkerLast(order, " ");
|
String valStr = selectToMarkerLast(order, " ");
|
||||||
IoTValue value;
|
item->setValue(valStr);
|
||||||
if (value.isDecimal = isDigitDotCommaStr(valStr))
|
|
||||||
value.valD = valStr.toFloat();
|
|
||||||
else
|
|
||||||
value.valS = valStr;
|
|
||||||
item->setValue(value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
orderBuf = deleteBeforeDelimiter(orderBuf, ",");
|
orderBuf = deleteBeforeDelimiter(orderBuf, ",");
|
||||||
|
|||||||
@@ -113,6 +113,16 @@ void IoTItem::setValue(IoTValue Value) {
|
|||||||
regEvent(value.valS, "");
|
regEvent(value.valS, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IoTItem::setValue(String valStr) {
|
||||||
|
if (value.isDecimal = isDigitDotCommaStr(valStr)) {
|
||||||
|
value.valD = valStr.toFloat();
|
||||||
|
regEvent(value.valD, "");
|
||||||
|
} else {
|
||||||
|
value.valS = valStr;
|
||||||
|
regEvent(value.valS, "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
externalVariable::externalVariable(String parameters) : IoTItem(parameters) {
|
externalVariable::externalVariable(String parameters) : IoTItem(parameters) {
|
||||||
prevMillis = millis(); // запоминаем текущее значение таймера для выполения doByInterval после int сек
|
prevMillis = millis(); // запоминаем текущее значение таймера для выполения doByInterval после int сек
|
||||||
iAmLocal = false; // указываем, что это сущность прилетела из сети
|
iAmLocal = false; // указываем, что это сущность прилетела из сети
|
||||||
|
|||||||
Reference in New Issue
Block a user