убрал двойную загрузку сценариев

This commit is contained in:
Dmitry Borisenko
2022-08-23 15:05:18 +02:00
parent 9d841b1f57
commit 92dbc1c786

View File

@@ -50,15 +50,15 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
SerialPrint("E", "WS " + String(num), "Package without header"); SerialPrint("E", "WS " + String(num), "Package without header");
} }
// page dashboard=================================================================== // Страница веб интерфейса dashboard===================================================================
//**отправка**// // отправляем только файл layout.json //
if (headerStr == "/|") { if (headerStr == "/|") {
String json = getParamsJson(); String json = getParamsJson();
standWebSocket.sendTXT(num, json); standWebSocket.sendTXT(num, json);
sendFileToWs("/layout.json", num, 1024); sendFileToWs("/layout.json", num, 1024);
} }
// page configutation================================================================ // Страница веб интерфейса configutation================================================================
//**отправка**// //========отправка=========================================================//
if (headerStr == "/config|") { if (headerStr == "/config|") {
sendFileToWs("/items.json", num, 1024); sendFileToWs("/items.json", num, 1024);
sendFileToWs("/widgets.json", num, 1024); sendFileToWs("/widgets.json", num, 1024);
@@ -66,30 +66,24 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
sendFileToWs("/scenario.json", num, 1024); sendFileToWs("/scenario.json", num, 1024);
standWebSocket.sendTXT(num, settingsFlashJson); standWebSocket.sendTXT(num, settingsFlashJson);
} }
//**сохранение**// //========сохранение=======================================================//
if (headerStr == "/gifnoc|") { if (headerStr == "/gifnoc|") {
writeFileUint8tByFrames("config.json", payload, length, headerLenth, 256); writeFileUint8tByFrames("config.json", payload, length, headerLenth, 256);
Serial.println("Start clear");
clearConfigure(); clearConfigure();
Serial.println("Start config");
configure("/config.json"); configure("/config.json");
iotScen.loadScenario("/scenario.json");
} }
//**сохранение**//
if (headerStr == "/tuoyal|") { if (headerStr == "/tuoyal|") {
writeFileUint8tByFrames("layout.json", payload, length, headerLenth, 256); writeFileUint8tByFrames("layout.json", payload, length, headerLenth, 256);
} }
//**сохранение**//
if (headerStr == "/oiranecs|") { if (headerStr == "/oiranecs|") {
writeFileUint8tByFrames("scenario.json", payload, length, headerLenth, 256); writeFileUint8tByFrames("scenario.json", payload, length, headerLenth, 256);
iotScen.loadScenario("/scenario.json"); iotScen.loadScenario("/scenario.json");
// создаем событие завершения конфигурирования для возможности выполнения блока кода при загрузке // создаем событие завершения конфигурирования для возможности выполнения блока кода при загрузке
IoTItems.push_back((IoTItem*)new externalVariable("{\"id\":\"onStart\",\"val\":1,\"int\":60}")); IoTItems.push_back((IoTItem*)new externalVariable("{\"id\":\"onStart\",\"val\":1,\"int\":60}"));
generateEvent("onStart", ""); generateEvent("onStart", "");
} }
// page connection=================================================================== // Страница веб интерфейса connection===================================================================
//**отправка**// //========отправка========================================================//
if (headerStr == "/connection|") { if (headerStr == "/connection|") {
standWebSocket.sendTXT(num, settingsFlashJson); standWebSocket.sendTXT(num, settingsFlashJson);
standWebSocket.sendTXT(num, ssidListHeapJson); standWebSocket.sendTXT(num, ssidListHeapJson);
@@ -97,20 +91,20 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
//запуск асинхронного сканирования wifi сетей при переходе на страницу соединений //запуск асинхронного сканирования wifi сетей при переходе на страницу соединений
// RouterFind(jsonReadStr(settingsFlashJson, F("routerssid"))); // RouterFind(jsonReadStr(settingsFlashJson, F("routerssid")));
} }
//**сохранение**// //========сохранение========================================================//
if (headerStr == "/sgnittes|") { if (headerStr == "/sgnittes|") {
writeUint8tToString(payload, length, headerLenth, settingsFlashJson); writeUint8tToString(payload, length, headerLenth, settingsFlashJson);
writeFileUint8tByFrames("settings.json", payload, length, headerLenth, 256); writeFileUint8tByFrames("settings.json", payload, length, headerLenth, 256);
standWebSocket.sendTXT(num, errorsHeapJson); standWebSocket.sendTXT(num, errorsHeapJson);
addThisDeviceToList(); addThisDeviceToList();
} }
//**отправка**// //========отправка========================================================//
if (headerStr == "/scan|") { if (headerStr == "/scan|") {
//запуск асинхронного сканирования wifi сетей при нажатии выпадающего списка //запуск асинхронного сканирования wifi сетей при нажатии выпадающего списка
RouterFind(jsonReadStr(settingsFlashJson, F("routerssid"))); RouterFind(jsonReadStr(settingsFlashJson, F("routerssid")));
standWebSocket.sendTXT(num, ssidListHeapJson); standWebSocket.sendTXT(num, ssidListHeapJson);
} }
//**сохранение**// //========сохранение========================================================//
if (headerStr == "/mqtt|") { if (headerStr == "/mqtt|") {
standWebSocket.sendTXT(num, settingsFlashJson); //отправляем в ответ новые полученные настройки standWebSocket.sendTXT(num, settingsFlashJson); //отправляем в ответ новые полученные настройки
handleMqttStatus(false, 8); //меняем статус на неопределенный handleMqttStatus(false, 8); //меняем статус на неопределенный
@@ -118,33 +112,33 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
standWebSocket.sendTXT(num, errorsHeapJson); //отправляем что статус неопределен standWebSocket.sendTXT(num, errorsHeapJson); //отправляем что статус неопределен
standWebSocket.sendTXT(num, ssidListHeapJson); standWebSocket.sendTXT(num, ssidListHeapJson);
} }
// page list ========================================================================== // Страница веб интерфейса list ==========================================================================
//**отправка**// //========отправка========================================================//
if (headerStr == "/list|") { if (headerStr == "/list|") {
standWebSocket.sendTXT(num, devListHeapJson); standWebSocket.sendTXT(num, devListHeapJson);
} }
// page system ========================================================================= // траница веб интерфейса system =========================================================================
//**отправка**// //========отправка========================================================//
if (headerStr == "/system|") { if (headerStr == "/system|") {
standWebSocket.sendTXT(num, errorsHeapJson); standWebSocket.sendTXT(num, errorsHeapJson);
standWebSocket.sendTXT(num, settingsFlashJson); standWebSocket.sendTXT(num, settingsFlashJson);
} }
//**сохранение**// //========сохранение========================================================//
//переписать любое поле в errors json //переписать любое поле в errors json
if (headerStr == "/rorre|") { if (headerStr == "/rorre|") {
writeUint8tValueToJsonString(payload, length, headerLenth, errorsHeapJson); writeUint8tValueToJsonString(payload, length, headerLenth, errorsHeapJson);
} }
// orders ============================================================================== //Команды веб интерфейса ==============================================================================
//**команда перезагрузки esp**// //команда перезагрузки esp//
if (headerStr == "/reboot|") { if (headerStr == "/reboot|") {
ESP.restart(); ESP.restart();
} }
//**команда обновления esp**// //команда обновления esp//
if (headerStr == "/update|") { if (headerStr == "/update|") {
upgrade_firmware(3); upgrade_firmware(3);
} }
// cotrol ============================================================================== //Прием сообщений cotrol ==============================================================================
if (headerStr == "/control|") { if (headerStr == "/control|") {
String msg; String msg;
writeUint8tToString(payload, length, headerLenth, msg); writeUint8tToString(payload, length, headerLenth, msg);
@@ -191,6 +185,15 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
} }
} }
//публикация статус сообщений
void publishStatusWs(const String& topic, const String& data) {
String path = mqttRootDevice + "/" + topic; //+ "/status";
String json = "{}";
jsonWriteStr(json, "status", data);
jsonWriteStr(json, "topic", path);
standWebSocket.broadcastTXT(json);
}
//данные которые мы отправляем в сокеты переодически //данные которые мы отправляем в сокеты переодически
void periodicWsSend() { void periodicWsSend() {
standWebSocket.broadcastTXT(devListHeapJson); standWebSocket.broadcastTXT(devListHeapJson);
@@ -235,15 +238,6 @@ void sendFileToWs(const char* filename, uint8_t num, size_t frameSize) {
standWebSocket.sendTXT(num, "/end" + String(filename)); standWebSocket.sendTXT(num, "/end" + String(filename));
} }
//публикация статус сообщений
void publishStatusWs(const String& topic, const String& data) {
String path = mqttRootDevice + "/" + topic; //+ "/status";
String json = "{}";
jsonWriteStr(json, "status", data);
jsonWriteStr(json, "topic", path);
standWebSocket.broadcastTXT(json);
}
//посылка данных из string //посылка данных из string
void sendStringToWs(const String& msg, uint8_t num, String name) { void sendStringToWs(const String& msg, uint8_t num, String name) {
standWebSocket.sendTXT(num, "/st" + String(name)); standWebSocket.sendTXT(num, "/st" + String(name));