From bc545cc958e9813c9db850054fb91e6612ed49d7 Mon Sep 17 00:00:00 2001 From: Dmitry Borisenko <49808844+DmitryBorisenko33@users.noreply.github.com> Date: Thu, 25 Aug 2022 02:18:21 +0200 Subject: [PATCH] =?UTF-8?q?=D0=B0=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=BE=D0=B5=20=D1=83=D0=B4=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=20=D0=BD=D0=B5=D1=81=D1=83=D1=89=D0=B5=D1=81=D1=82=D0=B2?= =?UTF-8?q?=D1=83=D1=8E=D1=89=D0=B8=D1=85=20=D0=B3=D1=80=D0=B0=D1=84=D0=B8?= =?UTF-8?q?=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/classes/IoTItem.h | 3 ++- src/MqttClient.cpp | 9 +++++++-- src/classes/IoTItem.cpp | 9 +++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/include/classes/IoTItem.h b/include/classes/IoTItem.h index f08b22aa..168feef2 100644 --- a/include/classes/IoTItem.h +++ b/include/classes/IoTItem.h @@ -60,11 +60,12 @@ class IoTItem { int _map4; int _round; // 1, 10, 100, 1000, 10000 - bool _global = false; // характеристика айтема, что ему нужно слать и принимать события из внешнего мира + bool _global = false; // характеристика айтема, что ему нужно слать и принимать события из внешнего мира }; IoTItem* findIoTItem(String name); // поиск экземпляра элемента модуля по имени String getItemValue(String name); // поиск плюс получение значения +bool isItemExist(String name); // существует ли айтем StaticJsonDocument* getLocalItemsAsJSON(); // сбор всех локальных занчений Items class externalVariable : IoTItem { // объект, создаваемый при получении информации о событии на другом контроллере для хранения информации о событии указанное время diff --git a/src/MqttClient.cpp b/src/MqttClient.cpp index 02697985..5fc36311 100644 --- a/src/MqttClient.cpp +++ b/src/MqttClient.cpp @@ -319,8 +319,13 @@ void sendAllFilesToMQTT() { while (dir.next()) { String fname = dir.fileName(); String id = selectToMarker(fname, "-"); - SerialPrint("I", "Loging", fname); - sendLogData("/logs/" + fname, id); + if (isItemExist(id)) { + SerialPrint("I", "Loging", fname); + sendLogData("/logs/" + fname, id); + } else { + SerialPrint("i", "Loging", "file '" + fname + "' not used, deleted"); + removeFile(directory + "/" + fname); + } } } diff --git a/src/classes/IoTItem.cpp b/src/classes/IoTItem.cpp index 93213c9e..ed38505b 100644 --- a/src/classes/IoTItem.cpp +++ b/src/classes/IoTItem.cpp @@ -182,6 +182,15 @@ String getItemValue(String name) { return ""; } +// существует ли айтем +bool isItemExist(String name) { + IoTItem* tmp = findIoTItem(name); + if (tmp) + return true; + else + return false; +} + StaticJsonDocument docForExport; StaticJsonDocument* getLocalItemsAsJSON() {