diff --git a/public/index.html b/public/index.html
index 5696fcf..a5ea65e 100644
--- a/public/index.html
+++ b/public/index.html
@@ -4,7 +4,7 @@
-
IoT Manager 4.1.6
+ IoT Manager 4.1.7
diff --git a/src/App.svelte b/src/App.svelte
index e2c2c5b..d1cc568 100644
--- a/src/App.svelte
+++ b/src/App.svelte
@@ -68,7 +68,7 @@
let versionsList = {};
let choosingVersion = undefined;
- //configuration
+ //JSON Files====================================
let configJson = [];
let configJsonFlag = false;
let configJsonParced = false;
@@ -81,6 +81,12 @@
let itemsJsonFlag = false;
let itemsJsonParced = false;
+ let scenarioJson = {};
+ let scenarioJsonFlag = false;
+ let scenarioJsonParced = false;
+
+ //===============================================
+
let layoutJson = [];
let layoutJsonArrayParced = false;
@@ -96,14 +102,10 @@
let paramsJson = {};
let paramsJsonParced = false;
- let statusJsonParced = false;
-
let incDeviceList = [];
let deviceListParced = false;
- let scenarioTxt = "";
- let scenarioTxtFlag = false;
- let scenarioTxtParced = false;
+ let statusJsonParced = false;
let deviceList = [];
deviceList = [
@@ -361,21 +363,24 @@
}
//BLOB==============================================================
- //сборщик scenario.txt пакетов======================================
- if (data === "/st/scenario.txt") {
- scenarioTxtFlag = true;
+ //сборщик scenarioJson пакетов======================================
+ if (data === "/st/scenario.json") {
+ scenarioJsonFlag = true;
}
- if (data === "/end/scenario.txt") {
- scenarioTxtFlag = false;
+ if (data === "/end/scenario.json") {
+ scenarioJsonFlag = false;
var bb = scenarioTxtBlob.getBlob();
- let scenarioTxtReader = new FileReader();
- scenarioTxtReader.readAsText(bb);
- scenarioTxtReader.onload = () => {
- scenarioTxt = scenarioTxtReader.result;
- scenarioTxt = scenarioTxt;
- scenarioTxtParced = true;
- if (debug) console.log("✔", "scenarioTxt parced");
- onParced();
+ let scenarioJsonReader = new FileReader();
+ scenarioJsonReader.readAsText(bb);
+ scenarioJsonReader.onload = () => {
+ let scenarioJsonResult = scenarioJsonReader.result;
+ if (IsJsonParse(scenarioJsonResult)) {
+ scenarioJson = JSON.parse(scenarioJsonResult);
+ scenarioJson = scenarioJson;
+ scenarioJsonParced = true;
+ if (debug) console.log("✔", "scenarioJson parced", scenarioJson);
+ onParced();
+ }
};
}
//сборщик configJson пакетов========================================
@@ -472,7 +477,7 @@
if (configJsonFlag) configJsonBlob.append(event.data);
if (widgetsJsonFlag) widgetsJsonBlob.append(event.data);
if (itemsJsonFlag) itemsJsonBlob.append(event.data);
- if (scenarioTxtFlag) scenarioTxtBlob.append(event.data);
+ if (scenarioJsonFlag) scenarioTxtBlob.append(event.data);
}
//принимаем данные от всех устройств
if (!layoutJsonArray[ws]) layoutJsonArray[ws] = new MyBlobBuilder();
@@ -551,7 +556,7 @@
if (debug) console.log("✔", "dashboard packet received");
dashReady = true;
}
- if (currentPageName === "/config|" && itemsJsonParced && widgetsJsonParced && configJsonParced && settingsJsonParced && scenarioTxtParced) {
+ if (currentPageName === "/config|" && itemsJsonParced && widgetsJsonParced && configJsonParced && settingsJsonParced && scenarioJsonParced) {
clearParcedFlags();
if (debug) console.log("✔✔", "config data parced");
configReady = true;
@@ -575,10 +580,9 @@
}
function saveConfig() {
- scenarioTxt = scenarioTxt;
wsSendMsg(selectedWs, "/tuoyal|" + JSON.stringify(generateLayout()));
wsSendMsg(selectedWs, "/gifnoc|" + JSON.stringify(configJson));
- wsSendMsg(selectedWs, "/oiranecs|" + scenarioTxt);
+ wsSendMsg(selectedWs, "/oiranecs|" + JSON.stringify(scenarioJson));
clearData();
sendCurrentPageName();
}
@@ -649,7 +653,7 @@
layoutJson = [];
layoutJsonArray = [];
- scenarioTxt = "";
+ scenarioJson = "";
scenarioTxtBlob.clear();
settingsJson = {};
@@ -678,7 +682,7 @@
paramsJsonParced = false;
statusJsonParced = false;
deviceListParced = false;
- scenarioTxtParced = false;
+ scenarioJsonParced = false;
clearFlags();
}
@@ -1129,7 +1133,7 @@
{/if}
- saveConfig()} rebootEsp={() => rebootEsp()} scenarioTxt={scenarioTxt} />
+ saveConfig()} rebootEsp={() => rebootEsp()} scenarioJson={scenarioJson} />
rebootEsp()} ssidClick={() => ssidClick()} saveSett={() => saveSett()} saveMqtt={() => saveMqtt()} settingsJson={settingsJson} errorsJson={errorsJson} ssidJson={ssidJson} />
@@ -1138,7 +1142,7 @@
addDevInList()} newDevice={newDevice} sendToAllDevices={(msg) => sendToAllDevices(msg)} />
- saveSett()} rebootEsp={() => rebootEsp()} cancelAlarm={(alarmKey) => cancelAlarm(alarmKey)} versionsList={versionsList} bind:choosingVersion startUpdate={() => startUpdate()} coreMessages={coreMessages} />
+ saveSett()} cancelAlarm={(alarmKey) => cancelAlarm(alarmKey)} versionsList={versionsList} bind:choosingVersion startUpdate={() => startUpdate()} coreMessages={coreMessages} />
{/if}
diff --git a/src/pages/Config.svelte b/src/pages/Config.svelte
index 5ded7ac..722fb1a 100644
--- a/src/pages/Config.svelte
+++ b/src/pages/Config.svelte
@@ -10,7 +10,7 @@
export let show;
- export let scenarioTxt;
+ export let scenarioJson;
let itemsJsonBind = 0;
let debug = true;
@@ -46,10 +46,11 @@
}
}
- $: scenarioTxt, windowHeight();
+ $: scenarioJson, windowHeight();
let height;
function windowHeight() {
- height = Math.round(scenarioTxt.split("\n").length) + 1;
+ let scenStr = JSON.stringify(scenarioJson);
+ height = scenStr.split("\\n").length;
}
@@ -125,7 +126,7 @@
-
+
diff --git a/src/pages/System.svelte b/src/pages/System.svelte
index 9b2b0a3..550a988 100644
--- a/src/pages/System.svelte
+++ b/src/pages/System.svelte
@@ -123,7 +123,7 @@
export let errorsJson;
- export let rebootEsp = () => {};
+ //export let rebootEsp = () => {};
export let versionsList;
export let choosingVersion;
diff --git a/src/widgets/Toggle.svelte b/src/widgets/Toggle.svelte
index eaa053d..759f2e2 100644
--- a/src/widgets/Toggle.svelte
+++ b/src/widgets/Toggle.svelte
@@ -1,5 +1,4 @@