Добавляем поиск элемента по части ИД

This commit is contained in:
2023-03-26 13:23:46 +03:00
parent 4f7923e7aa
commit ff84a18fd0
2 changed files with 17 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ class IoTItem {
String getSubtype();
String getID();
bool isStrInID(const String& str);
int getIntFromNet();
virtual String getValue();
long getInterval();
@@ -91,6 +92,7 @@ class IoTItem {
};
IoTItem* findIoTItem(const String& name); // поиск экземпляра элемента модуля по имени
IoTItem* findIoTItemByPartOfName(const String& partName); // поиск элемента модуля в существующей конфигурации по части имени
String getItemValue(const String& name); // поиск плюс получение значения
bool isItemExist(const String& name); // существует ли айтем
//StaticJsonDocument<JSON_BUFFER_SIZE>* getLocalItemsAsJSON(); // сбор всех локальных значений Items

View File

@@ -200,6 +200,10 @@ String IoTItem::getID() {
return _id;
};
bool IoTItem::isStrInID(const String& str) {
return _id.indexOf(str) != -1;
}
void IoTItem::setInterval(long interval) {
_interval = interval;
}
@@ -245,6 +249,17 @@ IoTItem* findIoTItem(const String& name) {
return nullptr;
}
// поиск элемента модуля в существующей конфигурации по части имени
IoTItem* findIoTItemByPartOfName(const String& partName) {
if (partName == "") return nullptr;
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
if ((*it)->isStrInID(partName)) return *it;
}
return nullptr;
}
// поиск плюс получение значения
String getItemValue(const String& name) {
IoTItem* tmp = findIoTItem(name);