mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 06:32:19 +03:00
добавление возможности управления виджетами из модулей
This commit is contained in:
@@ -19,15 +19,16 @@ boolean publish(const String& topic, const String& data);
|
||||
boolean publishData(const String& topic, const String& data);
|
||||
boolean publishChartMqtt(const String& topic, const String& data);
|
||||
boolean publishControl(String id, String topic, String state);
|
||||
boolean publishChart_test(const String& topic, const String& data);
|
||||
boolean publishJsonMqtt(const String& topic, const String& json);
|
||||
boolean publishStatusMqtt(const String& topic, const String& data);
|
||||
boolean publishEvent(const String& topic, const String& data);
|
||||
boolean publishInfo(const String& topic, const String& data);
|
||||
boolean publishAnyJsonKey(const String& topic, const String& key, const String& data);
|
||||
boolean publishAnyJsonKeyMqtt(const String& topic, const String& key, const String& data);
|
||||
bool publishChartFileToMqtt(String path, String id, int maxCount);
|
||||
|
||||
void publishWidgets();
|
||||
void publishState();
|
||||
void publishMainWidgetsValues();
|
||||
void publishSubWidgetsValues();
|
||||
|
||||
void mqttCallback(char* topic, uint8_t* payload, size_t length);
|
||||
void handleMqttStatus(bool send);
|
||||
|
||||
@@ -10,7 +10,7 @@ struct IoTValue {
|
||||
|
||||
class IoTItem {
|
||||
public:
|
||||
IoTItem(const String ¶meters);
|
||||
IoTItem(const String& parameters);
|
||||
virtual ~IoTItem() {}
|
||||
virtual void loop();
|
||||
virtual void doByInterval();
|
||||
@@ -28,7 +28,10 @@ class IoTItem {
|
||||
virtual String getValue();
|
||||
long getInterval();
|
||||
bool isGlobal();
|
||||
|
||||
|
||||
void sendSubWidgetsValues(String& id, String& json);
|
||||
virtual void handleSendSubWidgetsValues();
|
||||
|
||||
void setInterval(long interval);
|
||||
void setIntFromNet(int interval);
|
||||
|
||||
@@ -38,7 +41,7 @@ class IoTItem {
|
||||
|
||||
IoTValue value; // хранение основного значения, которое обновляется из сценария, execute(), loop() или doByInterval()
|
||||
|
||||
//bool iAmDead = false; // признак необходимости удалить объект из базы
|
||||
// bool iAmDead = false; // признак необходимости удалить объект из базы
|
||||
bool iAmLocal = true; // признак того, что айтем был создан локально
|
||||
|
||||
bool enableDoByInt = true;
|
||||
@@ -63,11 +66,11 @@ class IoTItem {
|
||||
protected:
|
||||
bool _needSave = false; // признак необходимости сохранять и загружать значение элемента на flash
|
||||
String _subtype = "";
|
||||
String _id = "errorId"; // если будет попытка создания Item без указания id, то элемент оставит это значение
|
||||
String _id = "errorId"; // если будет попытка создания Item без указания id, то элемент оставит это значение
|
||||
long _interval = 0;
|
||||
int _intFromNet = -2; // количество секунд доверия, пришедших из сети вместе с данными для текущего ИД
|
||||
// -2 - данные не приходили, скорее всего, элемент локальный, доверие есть
|
||||
// -1 - данные приходили и обратный отсчет дошел до нуля, значит доверия нет
|
||||
int _intFromNet = -2; // количество секунд доверия, пришедших из сети вместе с данными для текущего ИД
|
||||
// -2 - данные не приходили, скорее всего, элемент локальный, доверие есть
|
||||
// -1 - данные приходили и обратный отсчет дошел до нуля, значит доверия нет
|
||||
|
||||
float _multiply; // умножаем на значение
|
||||
float _plus; // увеличиваем на значение
|
||||
@@ -80,9 +83,9 @@ class IoTItem {
|
||||
bool _global = false; // характеристика айтема, что ему нужно слать и принимать события из внешнего мира
|
||||
};
|
||||
|
||||
IoTItem* findIoTItem(const String& name); // поиск экземпляра элемента модуля по имени
|
||||
String getItemValue(const String& name); // поиск плюс получение значения
|
||||
bool isItemExist(const String& name); // существует ли айтем
|
||||
IoTItem* findIoTItem(const String& name); // поиск экземпляра элемента модуля по имени
|
||||
String getItemValue(const String& name); // поиск плюс получение значения
|
||||
bool isItemExist(const String& name); // существует ли айтем
|
||||
StaticJsonDocument<JSON_BUFFER_SIZE>* getLocalItemsAsJSON(); // сбор всех локальных значений Items
|
||||
|
||||
IoTItem* createItemFromNet(const String& itemId, const String& value, int interval);
|
||||
|
||||
Reference in New Issue
Block a user