From 32350ddaf1c6f63a4b107e5dbb12157b78051e51 Mon Sep 17 00:00:00 2001 From: avaksru <33891999+avaksru@users.noreply.github.com> Date: Mon, 13 Dec 2021 16:40:44 +0300 Subject: [PATCH] webUI --- data_esp/config.json | 72 +++++++++--------- data_esp/dashboard/build/bundle.css | 1 + data_esp/dashboard/build/bundle.js.gz | Bin 0 -> 34597 bytes data_esp/dashboard/global.css | 63 ++++++++++++++++ data_esp/dashboard/index.html | 104 ++++++++++++++++++++++++++ data_esp/index.json.gz | Bin 547 -> 604 bytes data_esp/s.conf.csv | 6 +- data_esp/s.scen.txt | 6 +- data_esp/setup/build/bundle.css | 1 + data_esp/setup/build/bundle.js.gz | Bin 0 -> 21982 bytes data_esp/setup/global.css | 63 ++++++++++++++++ data_esp/setup/index.html | 103 +++++++++++++++++++++++++ data_esp/setup/progress.gif | Bin 0 -> 5171 bytes data_esp/widgets.json | 69 ++++++++--------- data_esp/widgets/anydataHum.json | 5 +- data_esp/widgets/anydataTemp.json | 15 +++- data_ms/config.json | 73 +++++++++--------- data_ms/dashboard/build/bundle.css | 1 + data_ms/dashboard/build/bundle.js.gz | Bin 0 -> 34597 bytes data_ms/dashboard/global.css | 63 ++++++++++++++++ data_ms/dashboard/index.html | 104 ++++++++++++++++++++++++++ data_ms/index.json.gz | Bin 547 -> 604 bytes data_ms/s.conf.csv | 6 +- data_ms/s.scen.txt | 6 +- data_ms/setup/build/bundle.css | 1 + data_ms/setup/build/bundle.js.gz | Bin 0 -> 21982 bytes data_ms/setup/global.css | 63 ++++++++++++++++ data_ms/setup/index.html | 103 +++++++++++++++++++++++++ data_ms/setup/progress.gif | Bin 0 -> 5171 bytes data_ms/widgets.json | 66 ++++++++-------- data_ms/widgets/anydataTemp.json | 15 +++- 31 files changed, 860 insertions(+), 149 deletions(-) create mode 100644 data_esp/dashboard/build/bundle.css create mode 100644 data_esp/dashboard/build/bundle.js.gz create mode 100644 data_esp/dashboard/global.css create mode 100644 data_esp/dashboard/index.html create mode 100644 data_esp/setup/build/bundle.css create mode 100644 data_esp/setup/build/bundle.js.gz create mode 100644 data_esp/setup/global.css create mode 100644 data_esp/setup/index.html create mode 100644 data_esp/setup/progress.gif create mode 100644 data_ms/dashboard/build/bundle.css create mode 100644 data_ms/dashboard/build/bundle.js.gz create mode 100644 data_ms/dashboard/global.css create mode 100644 data_ms/dashboard/index.html create mode 100644 data_ms/setup/build/bundle.css create mode 100644 data_ms/setup/build/bundle.js.gz create mode 100644 data_ms/setup/global.css create mode 100644 data_ms/setup/index.html create mode 100644 data_ms/setup/progress.gif diff --git a/data_esp/config.json b/data_esp/config.json index 88ca3689..6684c7f5 100644 --- a/data_esp/config.json +++ b/data_esp/config.json @@ -1,37 +1,37 @@ { - "name": "IoTmanager", - "chipID": "", - "apssid": "IoTmanager", - "appass": "", - "routerssid": "rise", - "routerpass": "hostel3333", - "timezone": 1, - "ntp": "pool.ntp.org", - "mqttServer": "M2.WQTT.RU", - "mqttPort": 8021, - "mqttPrefix": "/iotTest3", - "mqttUser": "rise", - "mqttPass": "hostel3333", - "mqttServer2": "", - "mqttPort2": 0, - "mqttPrefix2": "", - "mqttUser2": "", - "mqttPass2": "", - "scen": "1", - "telegramApi": "1416711569:AAEI0j83GmXqwzb_gnK1B0Am0gDwZoJt5xo", - "telegonof": "0", - "teleginput": "0", - "autos": "1", - "weblogin": "admin", - "webpass": "admin", - "MqttIn": "0", - "MqttOut": "0", - "blink": "0", - "oneWirePin": "2", - "serverip": "http://206.189.49.244", - "uart": "0", - "uartS": "9600", - "uartTX": "12", - "uartRX": "13", - "grafmax": "0" -} \ No newline at end of file + "name": "IoTmanager", + "chipID": "", + "apssid": "IoTmanager", + "appass": "", + "routerssid": "Mikro", + "routerpass": "4455667788", + "timezone": 3, + "ntp": "pool.ntp.org", + "mqttServer": "live-control.ru", + "mqttPort": 1883, + "mqttPrefix": "/IotManager", + "mqttUser": "IotManager:guest", + "mqttPass": "guest", + "mqttServer2": "", + "mqttPort2": 0, + "mqttPrefix2": "", + "mqttUser2": "", + "mqttPass2": "", + "scen": "1", + "telegramApi": "", + "telegonof": "0", + "teleginput": "0", + "autos": "1", + "weblogin": "admin", + "webpass": "admin", + "MqttIn": "0", + "MqttOut": "0", + "blink": "0", + "oneWirePin": "2", + "serverip": "http://206.189.49.244", + "uart": "0", + "uartS": "9600", + "uartTX": "12", + "uartRX": "13", + "grafmax": "0" +} diff --git a/data_esp/dashboard/build/bundle.css b/data_esp/dashboard/build/bundle.css new file mode 100644 index 00000000..5c79bfd0 --- /dev/null +++ b/data_esp/dashboard/build/bundle.css @@ -0,0 +1 @@ +.svelte-tabs__tab-list{display:flex;justify-content:space-evenly;flex-wrap:wrap}.svelte-tabs li.svelte-tabs__tab{color:gray}.svelte-tabs li.svelte-tabs__selected{color:green}.red.svelte-wlhn5k.svelte-wlhn5k{color:crimson}.letter.svelte-wlhn5k.svelte-wlhn5k{color:grey;font-size:60%;padding-left:15px;opacity:0.8}progress.svelte-wlhn5k.svelte-wlhn5k{height:4px}input.svelte-wlhn5k.svelte-wlhn5k{text-align:right;border:1px solid #6699ff;width:100%}body.light-mode{background-color:white}body.dark-mode{background-color:#1d3040;color:#bfc2c7}body.dark-mode span.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7}body.dark-mode div.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7}body.dark-mode input.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7}body.dark-mode select.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7;padding:10px;border-radius:10px;padding-left:20px}select.svelte-wlhn5k.svelte-wlhn5k{padding:10px;border-radius:10px;padding-left:20px}.Shutter.svelte-wlhn5k.svelte-wlhn5k{background-color:hsl(200, 16%, 96%);color:blak;padding:10px;border-radius:5px}body.dark-mode .Shutter.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7;padding:10px;border-radius:5px}.btn.svelte-wlhn5k.svelte-wlhn5k{display:inline-block;box-sizing:border-box;padding:1px;margin:0 0px 5px 0;outline:none;border:1px solid #63b8ff;border-radius:10px;height:36px;line-height:0;font-size:14px;font-weight:500;text-decoration:none;color:#fff;background-color:#fff;position:relative;overflow:hidden;vertical-align:top;cursor:pointer;user-select:none;appearance:none;touch-action:manipulation}.btn.svelte-wlhn5k span.svelte-wlhn5k{box-shadow:7px 7px 5px rgba(0, 0, 0, 0.5);display:block;box-sizing:border-box;padding:0 8px;height:32px;line-height:33px;border:1px solid #63b8ff;border-radius:8px;font-size:14px;color:black;text-align:center;font-weight:600}.btnoff.svelte-wlhn5k.svelte-wlhn5k{display:inline-block;box-sizing:border-box;padding:1px;margin:0 0px 5px 0;outline:none;border:1px solid rgb(85, 84, 84);border-radius:10px;height:36px;line-height:0;font-size:14px;font-weight:500;text-decoration:none;color:#fff;background-color:#fff;position:relative;overflow:hidden;vertical-align:top;cursor:pointer;user-select:none;appearance:none;touch-action:manipulation}.btnoff.svelte-wlhn5k span.svelte-wlhn5k{box-shadow:7px 7px 5px rgba(0, 0, 0, 0.5);display:block;box-sizing:border-box;padding:0 8px;height:32px;line-height:33px;border:1px solid rgb(85, 84, 84);border-radius:8px;font-size:14px;color:black;text-align:center;font-weight:600}button.svelte-wlhn5k.svelte-wlhn5k{color:gray;background-color:#fff;border-bottom-style:solid;border-bottom-width:1px;border-top-width:0px;border-left-width:0px;border-right-width:0px;padding-left:4px;padding-right:4px;padding-top:1px;padding-bottom:1px}body.dark-mode button.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7}.tabs__link.svelte-wlhn5k.svelte-wlhn5k{padding:0.5rem 0.75rem;text-decoration:none;color:gray;text-align:center;flex-shrink:0;flex-grow:1;border:0px;background-color:#fff}.tabs__link_active.svelte-wlhn5k.svelte-wlhn5k{color:black;cursor:default;border-bottom-style:solid;border-bottom-width:1px}.tabs__link.svelte-wlhn5k.svelte-wlhn5k:not(.tabs__link_active):hover,.tabs__link.svelte-wlhn5k.svelte-wlhn5k:not(.tabs__link_active):focus{border-bottom-style:solid;border-bottom-width:0px}.rotate-shadows.svelte-tks6xu{width:220px;height:220px;position:relative}.rotate-shadows.svelte-tks6xu:after,.rotate-shadows.svelte-tks6xu:before{content:"";border-radius:150%;position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:center center}.rotate-shadows.svelte-tks6xu:before{box-shadow:inset 0 20px 0 rgba(0, 250, 250, 0.2), inset 20px 0 0 rgba(0, 200, 200, 0.2), inset 0 -20px 0 rgba(0, 150, 200, 0.2), inset -20px 0 0 rgba(0, 200, 250, 0.2);animation:svelte-tks6xu-rotate-before 9s -0.5s linear infinite}.rotate-shadows.svelte-tks6xu:after{box-shadow:inset 0 20px 0 rgba(250, 250, 0, 0.2), inset 20px 0 0 rgba(250, 200, 0, 0.2), inset 0 -20px 0 rgba(250, 150, 0, 0.2), inset -20px 0 0 rgba(250, 100, 0, 0.2);animation:svelte-tks6xu-rotate-after 9s -0.5s linear infinite}@keyframes svelte-tks6xu-rotate-after{0%{transform:rotateZ(0deg) scaleX(1) scaleY(1)}50%{transform:rotateZ(180deg) scaleX(0.82) scaleY(0.95)}100%{transform:rotateZ(360deg) scaleX(1) scaleY(1)}}@keyframes svelte-tks6xu-rotate-before{0%{transform:rotateZ(0deg) scaleX(1) scaleY(1)}50%{transform:rotateZ(-180deg) scaleX(0.95) scaleY(0.85)}100%{transform:rotateZ(-360deg) scaleX(1) scaleY(1)}}label.svelte-1y1be9d{display:block;margin-bottom:0.25rem;font-size:0.75rem}.hideLabel.svelte-1y1be9d{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}button.svelte-1y1be9d{position:relative;padding:0 0.25rem;border:0;border-radius:1rem;height:1.25rem;width:2.5rem;font:inherit;color:inherit;line-height:inherit}button.svelte-1y1be9d:not([disabled]){cursor:pointer}button[disabled].svelte-1y1be9d{cursor:not-allowed;opacity:0.6}button.svelte-1y1be9d:before{position:absolute;content:"";top:0;bottom:0;left:0.125rem;margin:auto;height:1rem;width:1rem;text-align:center;border-radius:50%;background-color:currentColor;transition:transform 150ms ease-out}button[aria-checked="true"].svelte-1y1be9d:before{transform:translateX(1.25rem)}button.small.svelte-1y1be9d{height:1rem;width:1.75rem}button.small.svelte-1y1be9d:before{height:0.75rem;width:0.75rem}button.small[aria-checked="true"].svelte-1y1be9d:before{transform:translateX(0.75rem)}div.svelte-1y1be9d{display:flex;align-items:center}span.svelte-1y1be9d{margin-left:0.5rem} \ No newline at end of file diff --git a/data_esp/dashboard/build/bundle.js.gz b/data_esp/dashboard/build/bundle.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0f62fe3641feefa53506715091bf25f894bc7a2f GIT binary patch literal 34597 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 lnm8+A=nqmPRkPOq0RUU}d6fVF literal 0 HcmV?d00001 diff --git a/data_esp/dashboard/global.css b/data_esp/dashboard/global.css new file mode 100644 index 00000000..bb28a941 --- /dev/null +++ b/data_esp/dashboard/global.css @@ -0,0 +1,63 @@ +html, body { + position: relative; + width: 100%; + height: 100%; +} + +body { + color: #333; + margin: 0; + padding: 8px; + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +a { + color: rgb(0,100,200); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: rgb(0,80,160); +} + +label { + display: block; +} + +input, button, select, textarea { + font-family: inherit; + font-size: inherit; + -webkit-padding: 0.4em 0; + padding: 0.4em; + margin: 0 0 0.5em 0; + box-sizing: border-box; + border: 1px solid #ccc; + border-radius: 2px; +} + +input:disabled { + color: #ccc; +} + +button { + color: #333; + background-color: #f4f4f4; + outline: none; +} + +button:disabled { + color: #999; +} + +button:not(:disabled):active { + background-color: #ddd; +} + +button:focus { + border-color: #666; +} diff --git a/data_esp/dashboard/index.html b/data_esp/dashboard/index.html new file mode 100644 index 00000000..cca0daaf --- /dev/null +++ b/data_esp/dashboard/index.html @@ -0,0 +1,104 @@ + + + + + + + LiveControl v 0.3.2 + + + + + + + + + + + + + + +

+ + + diff --git a/data_esp/index.json.gz b/data_esp/index.json.gz index 25eebb261096a4b133b5182bb36ea3c3885ef369..3f7227ac846d1e52ffeb736e552e58fb662e16ce 100644 GIT binary patch literal 604 zcmV-i0;ByOiwFq&mLFjP0BLSyWq2-Xb8l_{#g$EO(=Zsv&rI5PuyS4!y3wvoLOURk zDlrK}5eLMS=?*6386@d0!QfH)7#qg$HLGE^MpGS7&v48x_Ta9gXUAt- z++$Uo9U}=oc1I|0Gq3&3eD2SIui<*QjQNa}sK)WB?sXK6eV0q0J#=~|6m#IZd8K{p zdNonLP)~v8lxFsJ>uPJpOg`XUe#V3wH`?tPgyDT-&X~|J!Gf5EGbk%Q`JbfkaEm5* ztR=W4akR>kXDJ;e1hOA&hYfnzZLq`GKj8i7=C!2z7oPv4J=rlSCG()rv1*^p--l$6*VhPf0wo7L(#{TfY;#=kt0hnHL*_lzN;(^t6wS;ixg-fHqjK=lQ6*XB zNvS)A8^N%I10UcFGWZ5F$ckg9QUgIX0$3K|>ey9-0akEZWS+O~lu;bk%4VH+%Rof6 zuvO5|*wA`m^Oh zt_-d^L1maK9xnAUG$zqIzMlwsW$Z)|-H=f5InTf{L3003qF4RHVf diff --git a/data_esp/s.conf.csv b/data_esp/s.conf.csv index 40b35ae1..d3f8d5ff 100644 --- a/data_esp/s.conf.csv +++ b/data_esp/s.conf.csv @@ -1 +1,5 @@ -Удалить;Тип элемента;Id;Виджет;Имя вкладки;Имя виджета;Позиция виджета \ No newline at end of file +Удалить;Тип элемента;Id;Виджет;Имя вкладки;Имя виджета;Позиция виджета +0;uptime;upt;anydataTime;IoTManager;%name%#uptime;8;int[60] +0;output-value;ip;anydata;IoTManager;IP;9 +0;output-value;time;anydata;IoTManager;Время#на#устройстве;10 +0;output-value;weekday;anydata;IoTManager;День#недели#на#устройстве ;11 \ No newline at end of file diff --git a/data_esp/s.scen.txt b/data_esp/s.scen.txt index ab0c0141..c0539394 100644 --- a/data_esp/s.scen.txt +++ b/data_esp/s.scen.txt @@ -1 +1,5 @@ -// \ No newline at end of file +timenow > 0 +weekday %weekday% +ip %IP% +time %date% +end \ No newline at end of file diff --git a/data_esp/setup/build/bundle.css b/data_esp/setup/build/bundle.css new file mode 100644 index 00000000..b88b58fb --- /dev/null +++ b/data_esp/setup/build/bundle.css @@ -0,0 +1 @@ +.letter.svelte-1ls9om6{color:grey;font-size:60%;padding-left:0px;opacity:0.5}table.svelte-1ls9om6{margin:0px;background-color:#fafafa;line-height:1}td.svelte-1ls9om6{text-align:left;padding-left:1px}input[type="text"].svelte-1ls9om6{width:100%;padding:10px;border:1;box-shadow:0 0 15px 10px rgba(0, 0, 0, 0.06);border-radius:1px}.letter1.svelte-1ls9om6{color:grey;font-size:80%;padding-left:20px}.letter2.svelte-1ls9om6{text-align:left;padding-left:0px}select.svelte-1ls9om6{padding:10px;border-radius:10px;padding-left:20px;height:40px;font-size:13px}input[type="password"].svelte-1ls9om6{width:100%;padding:10px;border:1;box-shadow:0 0 15px 10px rgba(0, 0, 0, 0.06);border-radius:1px}input.svelte-1ls9om6:required:invalid:not(:placeholder-shown){border-color:crimson}.red.svelte-1ls9om6{border-color:crimson}progress.svelte-1ls9om6{height:4px}textarea.svelte-1ls9om6{width:100%}button.svelte-1ls9om6{height:30px;border-radius:4px;line-height:0}body.light-mode{background-color:white}body.dark-mode{background-color:#1d3040;color:#bfc2c7}body.dark-mode textarea.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode input.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode select.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode button.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode div.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode span.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}.Shutter.svelte-1ls9om6{background-color:hsl(200, 16%, 96%);color:blak;padding:10px;border-radius:5px}body.dark-mode .Shutter.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7;padding:10px;border-radius:5px}body.dark-mode table.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode .letter1.svelte-1ls9om6{color:#bfc2c7}body.dark-mode .letter2.svelte-1ls9om6{color:#bfc2c7}body.dark-mode b.svelte-1ls9om6{color:#bfc2c7}body.dark-mode button.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}h5.svelte-1ls9om6{display:inline}.box.svelte-hp9es9{width:93%;border:1px solid #aaa;border-radius:10px;box-shadow:10px 10px 8px rgba(0, 0, 0, 0.1);padding:1em;margin:0 0 1em 0}.tooltip.svelte-1vepdvs{border:1px solid #ddd;box-shadow:1px 1px 1px #ddd;background:rgb(185, 238, 241);border-radius:4px;padding:4px;position:absolute;color:black}.modal-background.svelte-10j5cq5{position:fixed;top:0;left:0;width:100%;height:100%;background:gray;opacity:0.8}.modal.svelte-10j5cq5{position:absolute;left:50%;top:50%;width:calc(100vw - 4em);max-width:32em;max-height:calc(100vh - 4em);overflow:auto;transform:translate(-50%, -50%);padding:1em;border-radius:0.2em;background:white}button.svelte-10j5cq5{display:block}.rotate-shadows.svelte-tks6xu{width:220px;height:220px;position:relative}.rotate-shadows.svelte-tks6xu:after,.rotate-shadows.svelte-tks6xu:before{content:"";border-radius:150%;position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:center center}.rotate-shadows.svelte-tks6xu:before{box-shadow:inset 0 20px 0 rgba(0, 250, 250, 0.2), inset 20px 0 0 rgba(0, 200, 200, 0.2), inset 0 -20px 0 rgba(0, 150, 200, 0.2), inset -20px 0 0 rgba(0, 200, 250, 0.2);animation:svelte-tks6xu-rotate-before 9s -0.5s linear infinite}.rotate-shadows.svelte-tks6xu:after{box-shadow:inset 0 20px 0 rgba(250, 250, 0, 0.2), inset 20px 0 0 rgba(250, 200, 0, 0.2), inset 0 -20px 0 rgba(250, 150, 0, 0.2), inset -20px 0 0 rgba(250, 100, 0, 0.2);animation:svelte-tks6xu-rotate-after 9s -0.5s linear infinite}@keyframes svelte-tks6xu-rotate-after{0%{transform:rotateZ(0deg) scaleX(1) scaleY(1)}50%{transform:rotateZ(180deg) scaleX(0.82) scaleY(0.95)}100%{transform:rotateZ(360deg) scaleX(1) scaleY(1)}}@keyframes svelte-tks6xu-rotate-before{0%{transform:rotateZ(0deg) scaleX(1) scaleY(1)}50%{transform:rotateZ(-180deg) scaleX(0.95) scaleY(0.85)}100%{transform:rotateZ(-360deg) scaleX(1) scaleY(1)}} \ No newline at end of file diff --git a/data_esp/setup/build/bundle.js.gz b/data_esp/setup/build/bundle.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..ea276b2155857c8e6b4238d0d2924d5e8393c853 GIT binary patch literal 21982 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%0D!EC@utMFV%Q}*3D#%k`_wbzo;f#fxp~9Q1vl47 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 BU$_7O literal 0 HcmV?d00001 diff --git a/data_esp/setup/global.css b/data_esp/setup/global.css new file mode 100644 index 00000000..bb28a941 --- /dev/null +++ b/data_esp/setup/global.css @@ -0,0 +1,63 @@ +html, body { + position: relative; + width: 100%; + height: 100%; +} + +body { + color: #333; + margin: 0; + padding: 8px; + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +a { + color: rgb(0,100,200); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: rgb(0,80,160); +} + +label { + display: block; +} + +input, button, select, textarea { + font-family: inherit; + font-size: inherit; + -webkit-padding: 0.4em 0; + padding: 0.4em; + margin: 0 0 0.5em 0; + box-sizing: border-box; + border: 1px solid #ccc; + border-radius: 2px; +} + +input:disabled { + color: #ccc; +} + +button { + color: #333; + background-color: #f4f4f4; + outline: none; +} + +button:disabled { + color: #999; +} + +button:not(:disabled):active { + background-color: #ddd; +} + +button:focus { + border-color: #666; +} diff --git a/data_esp/setup/index.html b/data_esp/setup/index.html new file mode 100644 index 00000000..890c5342 --- /dev/null +++ b/data_esp/setup/index.html @@ -0,0 +1,103 @@ + + + + + + + IotManager v 0.3.2 + + + + + + + + + + + + + +

+ + + diff --git a/data_esp/setup/progress.gif b/data_esp/setup/progress.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff6bbcff7980b74631e91302ac01da6665f3b785 GIT binary patch literal 5171 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 Na`*I8Mndur{|om)#o_<} literal 0 HcmV?d00001 diff --git a/data_esp/widgets.json b/data_esp/widgets.json index acf59ff9..70801da1 100644 --- a/data_esp/widgets.json +++ b/data_esp/widgets.json @@ -1,34 +1,35 @@ -{ - "undef": "Ошибка", - "toggleBtn": "Кнопка переключатель", - "range": "Ползунок", - "inputDate": "Окно ввода даты", - "inputTime": "Окно ввода времени 1", - "inputTimeClock": "Окно ввода времени 2", - "inputDigit": "Окно ввода цифры", - "inputDigitTemp": "Окно ввода температуры", - "inputText": "Окно ввода текста", - "select": "Выпадающий список", - "chart": "График без точек", - "chart2": "График с точками", - "chart3": "График дневного расхода (столбики)", - "chart4": "График дневного расхода (плавный)", - "fillgauge": "Бочка", - "progress-line": "Линия", - "progress-round": "Круг", - "anydata": "Текст", - "anydataHum": "Влажность (%)", - "anydataPress": "Давление (mm)", - "anydataTemp": "Температура (°С)", - "anydataPpb": "Части на миллиард (ppb)", - "anydataPpm": "Части на миллион (ppm)", - "anydataVlt": "Напряжение (Vlt)", - "anydataAmp": "Сила тока (Amp)", - "anydataWtt": "Мощность (Wtt)", - "anydataWhr": "Энергия (Whr)", - "anydataHtz": "Частота (Htz)", - "anydataTime": "Манометр", - "alarm": "Тревожное сообщение 1", - "anydataAlarm": "Тревожное сообщение 2", - "na": "Без виджета" -} \ No newline at end of file +{ + "undef": "Ошибка", + "toggleBtn": "Переключатель", + "btn": "Кнопка", + "select": "Кнопка переключатель", + "range": "Ползунок", + "inputDate": "Окно ввода даты", + "inputTime": "Окно ввода времени 1", + "inputTimeClock": "Окно ввода времени 2", + "inputDigit": "Окно ввода цифры", + "inputDigitTemp": "Окно ввода температуры", + "inputText": "Окно ввода текста", + "chart": "График без точек", + "chart2": "График с точками", + "chart3": "График дневного расхода (столбики)", + "chart4": "График дневного расхода (плавный)", + "fillgauge": "Бочка", + "progress-line": "Линия", + "progress-round": "Круг", + "anydata": "Текст", + "anydataHum": "Влажность (%)", + "anydataPress": "Давление (mm)", + "anydataTemp": "Температура (°С)", + "anydataPpb": "Части на миллиард (ppb)", + "anydataPpm": "Части на миллион (ppm)", + "anydataVlt": "Напряжение (Vlt)", + "anydataAmp": "Сила тока (Amp)", + "anydataWtt": "Мощность (Wtt)", + "anydataWhr": "Энергия (Whr)", + "anydataHtz": "Частота (Htz)", + "anydataTime": "Манометр", + "alarm": "Тревожное сообщение 1", + "anydataAlarm": "Тревожное сообщение 2", + "na": "Без виджета" +} diff --git a/data_esp/widgets/anydataHum.json b/data_esp/widgets/anydataHum.json index ebc5b5af..966c6ba5 100644 --- a/data_esp/widgets/anydataHum.json +++ b/data_esp/widgets/anydataHum.json @@ -1,5 +1,6 @@ { "widget": "anydata", "after": "%", - "icon": "water" -} \ No newline at end of file + "icon": "water", + "color": "#88AADF" +} diff --git a/data_esp/widgets/anydataTemp.json b/data_esp/widgets/anydataTemp.json index 112da222..0f063a71 100644 --- a/data_esp/widgets/anydataTemp.json +++ b/data_esp/widgets/anydataTemp.json @@ -1,5 +1,16 @@ { "widget": "anydata", "after": "°С", - "icon": "thermometer" -} \ No newline at end of file + "icon": "thermometer", + "font": "OCR A Std", + "color": [ + { "level": -20, "value": "#0000CC" }, + { "level": -10, "value": "#0000CC" }, + { "level": 0, "value": "#0000CC" }, + { "level": 12, "value": "#3366FF" }, + { "level": 16, "value": "#33CCFF" }, + { "level": 18, "value": "#009933" }, + { "level": 30, "value": "#FF9900" }, + { "level": 40, "value": "red" } + ] +} diff --git a/data_ms/config.json b/data_ms/config.json index c9b7441c..6684c7f5 100644 --- a/data_ms/config.json +++ b/data_ms/config.json @@ -1,38 +1,37 @@ { - "name": "IoTmanager", - "chipID": "", - "apssid": "IoTmanager", - "appass": "", - "routerssid": "rise2", - "routerpass": "hostel3333", - "timezone": 1, - "ntp": "pool.ntp.org", - "mqttServer": "91.204.228.124", - "mqttPort": 1883, - "mqttPrefix": "/iotTest4", - "mqttUser": "rise", - "mqttPass": "23ri22se32", - "mqttServer2": "", - "mqttPort2": 0, - "mqttPrefix2": "", - "mqttUser2": "", - "mqttPass2": "", - "scen": "1", - "telegramApi": "1416711569:AAEI0j83GmXqwzb_gnK1B0Am0gDwZoJt5xo", - "telegonof": "0", - "teleginput": "0", - "autos": "1", - "weblogin": "admin", - "webpass": "admin", - "MqttIn": "0", - "MqttOut": "0", - "blink": "0", - "oneWirePin": "2", - "serverip": "http://206.189.49.244", - "uart": "0", - "uartS": "9600", - "uartTX": "12", - "uartRX": "13", - "grafmax": "0", - "gateAuto": "0" -} \ No newline at end of file + "name": "IoTmanager", + "chipID": "", + "apssid": "IoTmanager", + "appass": "", + "routerssid": "Mikro", + "routerpass": "4455667788", + "timezone": 3, + "ntp": "pool.ntp.org", + "mqttServer": "live-control.ru", + "mqttPort": 1883, + "mqttPrefix": "/IotManager", + "mqttUser": "IotManager:guest", + "mqttPass": "guest", + "mqttServer2": "", + "mqttPort2": 0, + "mqttPrefix2": "", + "mqttUser2": "", + "mqttPass2": "", + "scen": "1", + "telegramApi": "", + "telegonof": "0", + "teleginput": "0", + "autos": "1", + "weblogin": "admin", + "webpass": "admin", + "MqttIn": "0", + "MqttOut": "0", + "blink": "0", + "oneWirePin": "2", + "serverip": "http://206.189.49.244", + "uart": "0", + "uartS": "9600", + "uartTX": "12", + "uartRX": "13", + "grafmax": "0" +} diff --git a/data_ms/dashboard/build/bundle.css b/data_ms/dashboard/build/bundle.css new file mode 100644 index 00000000..5c79bfd0 --- /dev/null +++ b/data_ms/dashboard/build/bundle.css @@ -0,0 +1 @@ +.svelte-tabs__tab-list{display:flex;justify-content:space-evenly;flex-wrap:wrap}.svelte-tabs li.svelte-tabs__tab{color:gray}.svelte-tabs li.svelte-tabs__selected{color:green}.red.svelte-wlhn5k.svelte-wlhn5k{color:crimson}.letter.svelte-wlhn5k.svelte-wlhn5k{color:grey;font-size:60%;padding-left:15px;opacity:0.8}progress.svelte-wlhn5k.svelte-wlhn5k{height:4px}input.svelte-wlhn5k.svelte-wlhn5k{text-align:right;border:1px solid #6699ff;width:100%}body.light-mode{background-color:white}body.dark-mode{background-color:#1d3040;color:#bfc2c7}body.dark-mode span.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7}body.dark-mode div.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7}body.dark-mode input.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7}body.dark-mode select.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7;padding:10px;border-radius:10px;padding-left:20px}select.svelte-wlhn5k.svelte-wlhn5k{padding:10px;border-radius:10px;padding-left:20px}.Shutter.svelte-wlhn5k.svelte-wlhn5k{background-color:hsl(200, 16%, 96%);color:blak;padding:10px;border-radius:5px}body.dark-mode .Shutter.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7;padding:10px;border-radius:5px}.btn.svelte-wlhn5k.svelte-wlhn5k{display:inline-block;box-sizing:border-box;padding:1px;margin:0 0px 5px 0;outline:none;border:1px solid #63b8ff;border-radius:10px;height:36px;line-height:0;font-size:14px;font-weight:500;text-decoration:none;color:#fff;background-color:#fff;position:relative;overflow:hidden;vertical-align:top;cursor:pointer;user-select:none;appearance:none;touch-action:manipulation}.btn.svelte-wlhn5k span.svelte-wlhn5k{box-shadow:7px 7px 5px rgba(0, 0, 0, 0.5);display:block;box-sizing:border-box;padding:0 8px;height:32px;line-height:33px;border:1px solid #63b8ff;border-radius:8px;font-size:14px;color:black;text-align:center;font-weight:600}.btnoff.svelte-wlhn5k.svelte-wlhn5k{display:inline-block;box-sizing:border-box;padding:1px;margin:0 0px 5px 0;outline:none;border:1px solid rgb(85, 84, 84);border-radius:10px;height:36px;line-height:0;font-size:14px;font-weight:500;text-decoration:none;color:#fff;background-color:#fff;position:relative;overflow:hidden;vertical-align:top;cursor:pointer;user-select:none;appearance:none;touch-action:manipulation}.btnoff.svelte-wlhn5k span.svelte-wlhn5k{box-shadow:7px 7px 5px rgba(0, 0, 0, 0.5);display:block;box-sizing:border-box;padding:0 8px;height:32px;line-height:33px;border:1px solid rgb(85, 84, 84);border-radius:8px;font-size:14px;color:black;text-align:center;font-weight:600}button.svelte-wlhn5k.svelte-wlhn5k{color:gray;background-color:#fff;border-bottom-style:solid;border-bottom-width:1px;border-top-width:0px;border-left-width:0px;border-right-width:0px;padding-left:4px;padding-right:4px;padding-top:1px;padding-bottom:1px}body.dark-mode button.svelte-wlhn5k.svelte-wlhn5k{background-color:#1d3040;color:#bfc2c7}.tabs__link.svelte-wlhn5k.svelte-wlhn5k{padding:0.5rem 0.75rem;text-decoration:none;color:gray;text-align:center;flex-shrink:0;flex-grow:1;border:0px;background-color:#fff}.tabs__link_active.svelte-wlhn5k.svelte-wlhn5k{color:black;cursor:default;border-bottom-style:solid;border-bottom-width:1px}.tabs__link.svelte-wlhn5k.svelte-wlhn5k:not(.tabs__link_active):hover,.tabs__link.svelte-wlhn5k.svelte-wlhn5k:not(.tabs__link_active):focus{border-bottom-style:solid;border-bottom-width:0px}.rotate-shadows.svelte-tks6xu{width:220px;height:220px;position:relative}.rotate-shadows.svelte-tks6xu:after,.rotate-shadows.svelte-tks6xu:before{content:"";border-radius:150%;position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:center center}.rotate-shadows.svelte-tks6xu:before{box-shadow:inset 0 20px 0 rgba(0, 250, 250, 0.2), inset 20px 0 0 rgba(0, 200, 200, 0.2), inset 0 -20px 0 rgba(0, 150, 200, 0.2), inset -20px 0 0 rgba(0, 200, 250, 0.2);animation:svelte-tks6xu-rotate-before 9s -0.5s linear infinite}.rotate-shadows.svelte-tks6xu:after{box-shadow:inset 0 20px 0 rgba(250, 250, 0, 0.2), inset 20px 0 0 rgba(250, 200, 0, 0.2), inset 0 -20px 0 rgba(250, 150, 0, 0.2), inset -20px 0 0 rgba(250, 100, 0, 0.2);animation:svelte-tks6xu-rotate-after 9s -0.5s linear infinite}@keyframes svelte-tks6xu-rotate-after{0%{transform:rotateZ(0deg) scaleX(1) scaleY(1)}50%{transform:rotateZ(180deg) scaleX(0.82) scaleY(0.95)}100%{transform:rotateZ(360deg) scaleX(1) scaleY(1)}}@keyframes svelte-tks6xu-rotate-before{0%{transform:rotateZ(0deg) scaleX(1) scaleY(1)}50%{transform:rotateZ(-180deg) scaleX(0.95) scaleY(0.85)}100%{transform:rotateZ(-360deg) scaleX(1) scaleY(1)}}label.svelte-1y1be9d{display:block;margin-bottom:0.25rem;font-size:0.75rem}.hideLabel.svelte-1y1be9d{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}button.svelte-1y1be9d{position:relative;padding:0 0.25rem;border:0;border-radius:1rem;height:1.25rem;width:2.5rem;font:inherit;color:inherit;line-height:inherit}button.svelte-1y1be9d:not([disabled]){cursor:pointer}button[disabled].svelte-1y1be9d{cursor:not-allowed;opacity:0.6}button.svelte-1y1be9d:before{position:absolute;content:"";top:0;bottom:0;left:0.125rem;margin:auto;height:1rem;width:1rem;text-align:center;border-radius:50%;background-color:currentColor;transition:transform 150ms ease-out}button[aria-checked="true"].svelte-1y1be9d:before{transform:translateX(1.25rem)}button.small.svelte-1y1be9d{height:1rem;width:1.75rem}button.small.svelte-1y1be9d:before{height:0.75rem;width:0.75rem}button.small[aria-checked="true"].svelte-1y1be9d:before{transform:translateX(0.75rem)}div.svelte-1y1be9d{display:flex;align-items:center}span.svelte-1y1be9d{margin-left:0.5rem} \ No newline at end of file diff --git a/data_ms/dashboard/build/bundle.js.gz b/data_ms/dashboard/build/bundle.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..0f62fe3641feefa53506715091bf25f894bc7a2f GIT binary patch literal 34597 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 lnm8+A=nqmPRkPOq0RUU}d6fVF literal 0 HcmV?d00001 diff --git a/data_ms/dashboard/global.css b/data_ms/dashboard/global.css new file mode 100644 index 00000000..bb28a941 --- /dev/null +++ b/data_ms/dashboard/global.css @@ -0,0 +1,63 @@ +html, body { + position: relative; + width: 100%; + height: 100%; +} + +body { + color: #333; + margin: 0; + padding: 8px; + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +a { + color: rgb(0,100,200); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: rgb(0,80,160); +} + +label { + display: block; +} + +input, button, select, textarea { + font-family: inherit; + font-size: inherit; + -webkit-padding: 0.4em 0; + padding: 0.4em; + margin: 0 0 0.5em 0; + box-sizing: border-box; + border: 1px solid #ccc; + border-radius: 2px; +} + +input:disabled { + color: #ccc; +} + +button { + color: #333; + background-color: #f4f4f4; + outline: none; +} + +button:disabled { + color: #999; +} + +button:not(:disabled):active { + background-color: #ddd; +} + +button:focus { + border-color: #666; +} diff --git a/data_ms/dashboard/index.html b/data_ms/dashboard/index.html new file mode 100644 index 00000000..cca0daaf --- /dev/null +++ b/data_ms/dashboard/index.html @@ -0,0 +1,104 @@ + + + + + + + LiveControl v 0.3.2 + + + + + + + + + + + + + + +

+ + + diff --git a/data_ms/index.json.gz b/data_ms/index.json.gz index 25eebb261096a4b133b5182bb36ea3c3885ef369..3f7227ac846d1e52ffeb736e552e58fb662e16ce 100644 GIT binary patch literal 604 zcmV-i0;ByOiwFq&mLFjP0BLSyWq2-Xb8l_{#g$EO(=Zsv&rI5PuyS4!y3wvoLOURk zDlrK}5eLMS=?*6386@d0!QfH)7#qg$HLGE^MpGS7&v48x_Ta9gXUAt- z++$Uo9U}=oc1I|0Gq3&3eD2SIui<*QjQNa}sK)WB?sXK6eV0q0J#=~|6m#IZd8K{p zdNonLP)~v8lxFsJ>uPJpOg`XUe#V3wH`?tPgyDT-&X~|J!Gf5EGbk%Q`JbfkaEm5* ztR=W4akR>kXDJ;e1hOA&hYfnzZLq`GKj8i7=C!2z7oPv4J=rlSCG()rv1*^p--l$6*VhPf0wo7L(#{TfY;#=kt0hnHL*_lzN;(^t6wS;ixg-fHqjK=lQ6*XB zNvS)A8^N%I10UcFGWZ5F$ckg9QUgIX0$3K|>ey9-0akEZWS+O~lu;bk%4VH+%Rof6 zuvO5|*wA`m^Oh zt_-d^L1maK9xnAUG$zqIzMlwsW$Z)|-H=f5InTf{L3003qF4RHVf diff --git a/data_ms/s.conf.csv b/data_ms/s.conf.csv index 40b35ae1..d3f8d5ff 100644 --- a/data_ms/s.conf.csv +++ b/data_ms/s.conf.csv @@ -1 +1,5 @@ -Удалить;Тип элемента;Id;Виджет;Имя вкладки;Имя виджета;Позиция виджета \ No newline at end of file +Удалить;Тип элемента;Id;Виджет;Имя вкладки;Имя виджета;Позиция виджета +0;uptime;upt;anydataTime;IoTManager;%name%#uptime;8;int[60] +0;output-value;ip;anydata;IoTManager;IP;9 +0;output-value;time;anydata;IoTManager;Время#на#устройстве;10 +0;output-value;weekday;anydata;IoTManager;День#недели#на#устройстве ;11 \ No newline at end of file diff --git a/data_ms/s.scen.txt b/data_ms/s.scen.txt index ab0c0141..c0539394 100644 --- a/data_ms/s.scen.txt +++ b/data_ms/s.scen.txt @@ -1 +1,5 @@ -// \ No newline at end of file +timenow > 0 +weekday %weekday% +ip %IP% +time %date% +end \ No newline at end of file diff --git a/data_ms/setup/build/bundle.css b/data_ms/setup/build/bundle.css new file mode 100644 index 00000000..b88b58fb --- /dev/null +++ b/data_ms/setup/build/bundle.css @@ -0,0 +1 @@ +.letter.svelte-1ls9om6{color:grey;font-size:60%;padding-left:0px;opacity:0.5}table.svelte-1ls9om6{margin:0px;background-color:#fafafa;line-height:1}td.svelte-1ls9om6{text-align:left;padding-left:1px}input[type="text"].svelte-1ls9om6{width:100%;padding:10px;border:1;box-shadow:0 0 15px 10px rgba(0, 0, 0, 0.06);border-radius:1px}.letter1.svelte-1ls9om6{color:grey;font-size:80%;padding-left:20px}.letter2.svelte-1ls9om6{text-align:left;padding-left:0px}select.svelte-1ls9om6{padding:10px;border-radius:10px;padding-left:20px;height:40px;font-size:13px}input[type="password"].svelte-1ls9om6{width:100%;padding:10px;border:1;box-shadow:0 0 15px 10px rgba(0, 0, 0, 0.06);border-radius:1px}input.svelte-1ls9om6:required:invalid:not(:placeholder-shown){border-color:crimson}.red.svelte-1ls9om6{border-color:crimson}progress.svelte-1ls9om6{height:4px}textarea.svelte-1ls9om6{width:100%}button.svelte-1ls9om6{height:30px;border-radius:4px;line-height:0}body.light-mode{background-color:white}body.dark-mode{background-color:#1d3040;color:#bfc2c7}body.dark-mode textarea.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode input.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode select.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode button.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode div.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode span.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}.Shutter.svelte-1ls9om6{background-color:hsl(200, 16%, 96%);color:blak;padding:10px;border-radius:5px}body.dark-mode .Shutter.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7;padding:10px;border-radius:5px}body.dark-mode table.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}body.dark-mode .letter1.svelte-1ls9om6{color:#bfc2c7}body.dark-mode .letter2.svelte-1ls9om6{color:#bfc2c7}body.dark-mode b.svelte-1ls9om6{color:#bfc2c7}body.dark-mode button.svelte-1ls9om6{background-color:#1d3040;color:#bfc2c7}h5.svelte-1ls9om6{display:inline}.box.svelte-hp9es9{width:93%;border:1px solid #aaa;border-radius:10px;box-shadow:10px 10px 8px rgba(0, 0, 0, 0.1);padding:1em;margin:0 0 1em 0}.tooltip.svelte-1vepdvs{border:1px solid #ddd;box-shadow:1px 1px 1px #ddd;background:rgb(185, 238, 241);border-radius:4px;padding:4px;position:absolute;color:black}.modal-background.svelte-10j5cq5{position:fixed;top:0;left:0;width:100%;height:100%;background:gray;opacity:0.8}.modal.svelte-10j5cq5{position:absolute;left:50%;top:50%;width:calc(100vw - 4em);max-width:32em;max-height:calc(100vh - 4em);overflow:auto;transform:translate(-50%, -50%);padding:1em;border-radius:0.2em;background:white}button.svelte-10j5cq5{display:block}.rotate-shadows.svelte-tks6xu{width:220px;height:220px;position:relative}.rotate-shadows.svelte-tks6xu:after,.rotate-shadows.svelte-tks6xu:before{content:"";border-radius:150%;position:absolute;top:0;left:0;width:100%;height:100%;transform-origin:center center}.rotate-shadows.svelte-tks6xu:before{box-shadow:inset 0 20px 0 rgba(0, 250, 250, 0.2), inset 20px 0 0 rgba(0, 200, 200, 0.2), inset 0 -20px 0 rgba(0, 150, 200, 0.2), inset -20px 0 0 rgba(0, 200, 250, 0.2);animation:svelte-tks6xu-rotate-before 9s -0.5s linear infinite}.rotate-shadows.svelte-tks6xu:after{box-shadow:inset 0 20px 0 rgba(250, 250, 0, 0.2), inset 20px 0 0 rgba(250, 200, 0, 0.2), inset 0 -20px 0 rgba(250, 150, 0, 0.2), inset -20px 0 0 rgba(250, 100, 0, 0.2);animation:svelte-tks6xu-rotate-after 9s -0.5s linear infinite}@keyframes svelte-tks6xu-rotate-after{0%{transform:rotateZ(0deg) scaleX(1) scaleY(1)}50%{transform:rotateZ(180deg) scaleX(0.82) scaleY(0.95)}100%{transform:rotateZ(360deg) scaleX(1) scaleY(1)}}@keyframes svelte-tks6xu-rotate-before{0%{transform:rotateZ(0deg) scaleX(1) scaleY(1)}50%{transform:rotateZ(-180deg) scaleX(0.95) scaleY(0.85)}100%{transform:rotateZ(-360deg) scaleX(1) scaleY(1)}} \ No newline at end of file diff --git a/data_ms/setup/build/bundle.js.gz b/data_ms/setup/build/bundle.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..ea276b2155857c8e6b4238d0d2924d5e8393c853 GIT binary patch literal 21982 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%0D!EC@utMFV%Q}*3D#%k`_wbzo;f#fxp~9Q1vl47 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 BU$_7O literal 0 HcmV?d00001 diff --git a/data_ms/setup/global.css b/data_ms/setup/global.css new file mode 100644 index 00000000..bb28a941 --- /dev/null +++ b/data_ms/setup/global.css @@ -0,0 +1,63 @@ +html, body { + position: relative; + width: 100%; + height: 100%; +} + +body { + color: #333; + margin: 0; + padding: 8px; + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +a { + color: rgb(0,100,200); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: rgb(0,80,160); +} + +label { + display: block; +} + +input, button, select, textarea { + font-family: inherit; + font-size: inherit; + -webkit-padding: 0.4em 0; + padding: 0.4em; + margin: 0 0 0.5em 0; + box-sizing: border-box; + border: 1px solid #ccc; + border-radius: 2px; +} + +input:disabled { + color: #ccc; +} + +button { + color: #333; + background-color: #f4f4f4; + outline: none; +} + +button:disabled { + color: #999; +} + +button:not(:disabled):active { + background-color: #ddd; +} + +button:focus { + border-color: #666; +} diff --git a/data_ms/setup/index.html b/data_ms/setup/index.html new file mode 100644 index 00000000..890c5342 --- /dev/null +++ b/data_ms/setup/index.html @@ -0,0 +1,103 @@ + + + + + + + IotManager v 0.3.2 + + + + + + + + + + + + + +

+ + + diff --git a/data_ms/setup/progress.gif b/data_ms/setup/progress.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff6bbcff7980b74631e91302ac01da6665f3b785 GIT binary patch literal 5171 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 Na`*I8Mndur{|om)#o_<} literal 0 HcmV?d00001 diff --git a/data_ms/widgets.json b/data_ms/widgets.json index 8b9190e1..70801da1 100644 --- a/data_ms/widgets.json +++ b/data_ms/widgets.json @@ -1,33 +1,35 @@ { - "toggleBtn": "Кнопка переключатель", - "range": "Ползунок", - "inputDate": "Окно ввода даты", - "inputTime": "Окно ввода времени 1", - "inputTimeClock": "Окно ввода времени 2", - "inputDigit": "Окно ввода цифры", - "inputDigitTemp": "Окно ввода температуры", - "inputText": "Окно ввода текста", - "select": "Выпадающий список", - "chart": "График без точек", - "chart2": "График с точками", - "chart3": "График дневного расхода (столбики)", - "chart4": "График дневного расхода (плавный)", - "fillgauge": "Бочка", - "progress-line": "Линия", - "progress-round": "Круг", - "anydata": "Текст", - "anydataHum": "Влажность (%)", - "anydataPress": "Давление (mm)", - "anydataTemp": "Температура (°С)", - "anydataPpb": "Части на миллиард (ppb)", - "anydataPpm": "Части на миллион (ppm)", - "anydataVlt": "Напряжение (Vlt)", - "anydataAmp": "Сила тока (Amp)", - "anydataWtt": "Мощность (Wtt)", - "anydataWhr": "Энергия (Whr)", - "anydataHtz": "Частота (Htz)", - "anydataTime": "Манометр", - "alarm": "Тревожное сообщение 1", - "anydataAlarm": "Тревожное сообщение 2", - "na": "Без виджета" -} \ No newline at end of file + "undef": "Ошибка", + "toggleBtn": "Переключатель", + "btn": "Кнопка", + "select": "Кнопка переключатель", + "range": "Ползунок", + "inputDate": "Окно ввода даты", + "inputTime": "Окно ввода времени 1", + "inputTimeClock": "Окно ввода времени 2", + "inputDigit": "Окно ввода цифры", + "inputDigitTemp": "Окно ввода температуры", + "inputText": "Окно ввода текста", + "chart": "График без точек", + "chart2": "График с точками", + "chart3": "График дневного расхода (столбики)", + "chart4": "График дневного расхода (плавный)", + "fillgauge": "Бочка", + "progress-line": "Линия", + "progress-round": "Круг", + "anydata": "Текст", + "anydataHum": "Влажность (%)", + "anydataPress": "Давление (mm)", + "anydataTemp": "Температура (°С)", + "anydataPpb": "Части на миллиард (ppb)", + "anydataPpm": "Части на миллион (ppm)", + "anydataVlt": "Напряжение (Vlt)", + "anydataAmp": "Сила тока (Amp)", + "anydataWtt": "Мощность (Wtt)", + "anydataWhr": "Энергия (Whr)", + "anydataHtz": "Частота (Htz)", + "anydataTime": "Манометр", + "alarm": "Тревожное сообщение 1", + "anydataAlarm": "Тревожное сообщение 2", + "na": "Без виджета" +} diff --git a/data_ms/widgets/anydataTemp.json b/data_ms/widgets/anydataTemp.json index 112da222..0f063a71 100644 --- a/data_ms/widgets/anydataTemp.json +++ b/data_ms/widgets/anydataTemp.json @@ -1,5 +1,16 @@ { "widget": "anydata", "after": "°С", - "icon": "thermometer" -} \ No newline at end of file + "icon": "thermometer", + "font": "OCR A Std", + "color": [ + { "level": -20, "value": "#0000CC" }, + { "level": -10, "value": "#0000CC" }, + { "level": 0, "value": "#0000CC" }, + { "level": 12, "value": "#3366FF" }, + { "level": 16, "value": "#33CCFF" }, + { "level": 18, "value": "#009933" }, + { "level": 30, "value": "#FF9900" }, + { "level": 40, "value": "red" } + ] +}