mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 06:32:19 +03:00
добавление кнопок в элемент
This commit is contained in:
@@ -34,7 +34,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
|
||||
case WStype_TEXT: {
|
||||
bool endOfHeaderFound = false;
|
||||
size_t maxAllowedHeaderSize = 15; //максимальное количество символов заголовка
|
||||
size_t maxAllowedHeaderSize = 15; // максимальное количество символов заголовка
|
||||
size_t headerLenth = 0;
|
||||
String headerStr;
|
||||
for (size_t i = 0; i <= maxAllowedHeaderSize; i++) {
|
||||
@@ -54,13 +54,13 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
// Страница веб интерфейса dashboard
|
||||
//----------------------------------------------------------------------//
|
||||
|
||||
//публикация всех виджетов
|
||||
// публикация всех виджетов
|
||||
if (headerStr == "/|") {
|
||||
sendFileToWsByFrames("/layout.json", "layout", "", num, WEB_SOCKETS_FRAME_SIZE);
|
||||
}
|
||||
|
||||
if (headerStr == "/params|") {
|
||||
//публикация всех статус сообщений при подключении svelte приложения
|
||||
// публикация всех статус сообщений при подключении svelte приложения
|
||||
String params = "{}";
|
||||
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
||||
if ((*it)->getSubtype() != "Loging") {
|
||||
@@ -69,21 +69,21 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
}
|
||||
sendStringToWs("params", params, num);
|
||||
|
||||
//генерация события подключения в модулях
|
||||
// генерация события подключения в модулях
|
||||
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
||||
if ((*it)->iAmLocal) (*it)->onMqttWsAppConnectEvent();
|
||||
}
|
||||
}
|
||||
|
||||
//отвечаем на запрос графиков
|
||||
// отвечаем на запрос графиков
|
||||
if (headerStr == "/charts|") {
|
||||
//обращение к логированию из ядра
|
||||
//отправка данных графиков только в выбранный сокет
|
||||
// обращение к логированию из ядра
|
||||
// отправка данных графиков только в выбранный сокет
|
||||
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
||||
//сбрасываем даты графиков
|
||||
// if ((*it)->getID().endsWith("-date")) {
|
||||
// (*it)->setTodayDate();
|
||||
//}
|
||||
// сбрасываем даты графиков
|
||||
// if ((*it)->getID().endsWith("-date")) {
|
||||
// (*it)->setTodayDate();
|
||||
// }
|
||||
if ((*it)->getSubtype() == "Loging" || "LogingDaily") {
|
||||
(*it)->setPublishDestination(TO_WS, num);
|
||||
(*it)->publishValue();
|
||||
@@ -95,7 +95,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
// Страница веб интерфейса configutation
|
||||
//----------------------------------------------------------------------//
|
||||
|
||||
//отвечаем данными на запрос страницы
|
||||
// отвечаем данными на запрос страницы
|
||||
if (headerStr == "/config|") {
|
||||
sendFileToWsByFrames("/items.json", "itemsj", "", num, WEB_SOCKETS_FRAME_SIZE);
|
||||
sendFileToWsByFrames("/widgets.json", "widget", "", num, WEB_SOCKETS_FRAME_SIZE);
|
||||
@@ -104,7 +104,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
sendStringToWs("settin", settingsFlashJson, num);
|
||||
}
|
||||
|
||||
//обработка кнопки сохранить
|
||||
// обработка кнопки сохранить
|
||||
if (headerStr == "/gifnoc|") {
|
||||
writeFileUint8tByFrames("config.json", payload, length, headerLenth, 256);
|
||||
}
|
||||
@@ -124,7 +124,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
// Страница веб интерфейса connection
|
||||
//----------------------------------------------------------------------//
|
||||
|
||||
//отвечаем данными на запрос страницы
|
||||
// отвечаем данными на запрос страницы
|
||||
if (headerStr == "/connection|") {
|
||||
sendStringToWs("settin", settingsFlashJson, num);
|
||||
sendStringToWs("ssidli", ssidListHeapJson, num);
|
||||
@@ -133,7 +133,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
// RouterFind(jsonReadStr(settingsFlashJson, F("routerssid")));
|
||||
}
|
||||
|
||||
//обработка кнопки сохранить настройки wifi
|
||||
// обработка кнопки сохранить настройки wifi
|
||||
if (headerStr == "/sgnittes|") {
|
||||
writeUint8tToString(payload, length, headerLenth, settingsFlashJson);
|
||||
writeFileUint8tByFrames("settings.json", payload, length, headerLenth, 256);
|
||||
@@ -141,16 +141,16 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
addThisDeviceToList();
|
||||
}
|
||||
|
||||
//обработка кнопки сохранить настройки mqtt
|
||||
// обработка кнопки сохранить настройки mqtt
|
||||
if (headerStr == "/mqtt|") {
|
||||
sendStringToWs("settin", settingsFlashJson, num); //отправляем в ответ новые полученные настройки
|
||||
handleMqttStatus(false, 8); //меняем статус на неопределенный
|
||||
mqttReconnect(); //начинаем переподключение
|
||||
sendStringToWs("errors", errorsHeapJson, num); //отправляем что статус неопределен
|
||||
sendStringToWs("settin", settingsFlashJson, num); // отправляем в ответ новые полученные настройки
|
||||
handleMqttStatus(false, 8); // меняем статус на неопределенный
|
||||
mqttReconnect(); // начинаем переподключение
|
||||
sendStringToWs("errors", errorsHeapJson, num); // отправляем что статус неопределен
|
||||
sendStringToWs("ssidli", ssidListHeapJson, num);
|
||||
}
|
||||
|
||||
//запуск асинхронного сканирования wifi сетей при нажатии выпадающего списка
|
||||
// запуск асинхронного сканирования wifi сетей при нажатии выпадающего списка
|
||||
if (headerStr == "/scan|") {
|
||||
RouterFind(jsonReadStr(settingsFlashJson, F("routerssid")));
|
||||
sendStringToWs("ssidli", ssidListHeapJson, num);
|
||||
@@ -160,7 +160,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
// Страница веб интерфейса list
|
||||
//----------------------------------------------------------------------//
|
||||
|
||||
//отвечаем данными на запрос страницы
|
||||
// отвечаем данными на запрос страницы
|
||||
if (headerStr == "/list|") {
|
||||
sendStringToWs("devlis", devListHeapJson, num);
|
||||
}
|
||||
@@ -169,7 +169,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
// Страница веб интерфейса system
|
||||
//----------------------------------------------------------------------//
|
||||
|
||||
//отвечаем данными на запрос страницы
|
||||
// отвечаем данными на запрос страницы
|
||||
if (headerStr == "/system|") {
|
||||
sendStringToWs("errors", errorsHeapJson, num);
|
||||
sendStringToWs("settin", settingsFlashJson, num);
|
||||
@@ -193,27 +193,27 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
// отдельные команды веб интерфейса
|
||||
//----------------------------------------------------------------------//
|
||||
|
||||
//переписать любое поле в errors json
|
||||
// переписать любое поле в errors json
|
||||
if (headerStr == "/rorre|") {
|
||||
writeUint8tValueToJsonString(payload, length, headerLenth, errorsHeapJson);
|
||||
}
|
||||
|
||||
//команда перезагрузки esp
|
||||
// команда перезагрузки esp
|
||||
if (headerStr == "/reboot|") {
|
||||
ESP.restart();
|
||||
}
|
||||
|
||||
//команда очистки всех логов esp
|
||||
// команда очистки всех логов esp
|
||||
if (headerStr == "/clean|") {
|
||||
cleanLogs();
|
||||
}
|
||||
|
||||
//команда обновления прошивки esp
|
||||
// команда обновления прошивки esp
|
||||
if (headerStr == "/update|") {
|
||||
upgrade_firmware(3);
|
||||
}
|
||||
|
||||
//Прием команд control c dashboard
|
||||
// Прием команд control c dashboard
|
||||
if (headerStr == "/control|") {
|
||||
String msg;
|
||||
writeUint8tToString(payload, length, headerLenth, msg);
|
||||
@@ -227,6 +227,24 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
standWebSocket.sendTXT(num, "/tstr|");
|
||||
}
|
||||
|
||||
// получаем команду посланную из модуля
|
||||
if (headerStr == "/order|") {
|
||||
SerialPrint("i", F("=>WS"), "Msg from module");
|
||||
String json;
|
||||
writeUint8tToString(payload, length, headerLenth, json);
|
||||
|
||||
String id, key, value;
|
||||
jsonRead(json, "id", id);
|
||||
jsonRead(json, "key", key);
|
||||
jsonRead(json, "value", value);
|
||||
|
||||
for (std::list<IoTItem*>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
|
||||
if ((*it)->getID() == id) {
|
||||
(*it)->onModuleOrder(key, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} break;
|
||||
|
||||
case WStype_BIN: {
|
||||
@@ -265,7 +283,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
|
||||
}
|
||||
}
|
||||
|
||||
//публикация статус сообщений в ws (недостаток в том что делаем бродкаст всем клиентам поднятым в свелте!!!)
|
||||
// публикация статус сообщений в ws (недостаток в том что делаем бродкаст всем клиентам поднятым в свелте!!!)
|
||||
void publishStatusWs(const String& topic, const String& data) {
|
||||
String path = mqttRootDevice + "/" + topic;
|
||||
String json = "{}";
|
||||
@@ -274,7 +292,7 @@ void publishStatusWs(const String& topic, const String& data) {
|
||||
sendStringToWs("status", json, -1);
|
||||
}
|
||||
|
||||
//публикация дополнительных json сообщений в ws
|
||||
// публикация дополнительных json сообщений в ws
|
||||
void publishJsonWs(const String& topic, String& json) {
|
||||
String path = mqttRootDevice + "/" + topic;
|
||||
jsonWriteStr(json, "topic", path);
|
||||
@@ -282,7 +300,7 @@ void publishJsonWs(const String& topic, String& json) {
|
||||
// sendStringToWs("status", json, -1);
|
||||
}
|
||||
|
||||
//данные которые мы отправляем в сокеты переодически
|
||||
// данные которые мы отправляем в сокеты переодически
|
||||
void periodicWsSend() {
|
||||
sendStringToWs("ssidli", ssidListHeapJson, -1);
|
||||
sendStringToWs("errors", errorsHeapJson, -1);
|
||||
|
||||
Reference in New Issue
Block a user