|
@@ -56,6 +56,13 @@ function dataFadeIn(){
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+function checkDec(n){return/^[0-9]{1,64}$/.test(n);}
|
|
|
+
|
|
|
+
|
|
|
+function Dec2Bin(n){if(!checkDec(n)||n<0)return 0;return n.toString(2);}
|
|
|
+
|
|
|
+
|
|
|
|
|
|
var ALARM_RED = '#ff5050',
|
|
|
ALARM_YELLOW = '#f0ad4e',
|
|
@@ -232,35 +239,6 @@ function ValidateAlphanumeric(uadd, z) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
function submitForms() {
|
|
|
if (confirm('Вы уверены что хотите применить настройки?')) {
|
|
@@ -277,57 +255,6 @@ function submitForms() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
function checkPWD(){
|
|
|
|
|
|
$('count-wrap').style.display = 'block';
|
|
@@ -508,55 +435,51 @@ function Alarm(bitmask, num) {
|
|
|
return answ;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-var states = {
|
|
|
- alarm_shutdown: {mark: '<span class="mark-almaj"></span>', color: ALARM_RED },
|
|
|
- alarm_standby: {mark: '<span class="mark-almin"></span>', color: ALARM_YELLOW },
|
|
|
- shutdown: {},
|
|
|
-};
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-function getState(i) {
|
|
|
- switch(i) {
|
|
|
- case 0:
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
-}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+function setIcons(containerID, icnName) {
|
|
|
+ $(containerID).innerHTML ='';
|
|
|
|
|
|
-function setStateToPanel(state, panelID){
|
|
|
- var title = panelID.textContent;
|
|
|
- panelID.style.color = state.color;
|
|
|
- panelID.innerHTML = state.mark + title;
|
|
|
+ var icons = typeof icnName === 'string' ? [icnName] : icnName;
|
|
|
+
|
|
|
+ for (var i = 0; i < icons.length; i++) {
|
|
|
+ var icnContainer = document.createElement('i');
|
|
|
+ icnContainer.innerHTML = Icons[icons[i]]['icn'];
|
|
|
+ icnContainer.style.paddingLeft = '10px';
|
|
|
+ icnContainer.title = Icons[icons[i]]['title'];
|
|
|
+ $(containerID).appendChild(icnContainer);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
function paramsRefresh() {
|
|
|
getJSON('getJson.cgi'+'?'+Math.random(), function (data) {
|
|
|
- var ups_bypass = Alarm(data.alarm, 5),
|
|
|
- ups_alarm = Alarm(data.alarm, 4) || Alarm(data.alarm, 7),
|
|
|
- ups_standby = Alarm(data.alarm, 3),
|
|
|
- ups_shutdown = Alarm(data.alarm, 1),
|
|
|
- bat_alarm = Alarm(data.alarm, 1),
|
|
|
- bat_low = Alarm(data.alarm, 6),
|
|
|
- bat_test = Alarm(data.alarm, 2);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ var alrm = Dec2Bin(data.alarm);
|
|
|
+ var pstate = [];
|
|
|
+ var bstate = [];
|
|
|
+
|
|
|
+ var ups_bypass = Alarm(alrm, 5),
|
|
|
+ ups_alarm = Alarm(alrm, 4) || Alarm(alrm, 7),
|
|
|
+ ups_standby = Alarm(alrm, 3),
|
|
|
+ ups_shutdown = Alarm(alrm, 1),
|
|
|
+
|
|
|
+ bat_alarm = Alarm(alrm, 1),
|
|
|
+ bat_low = Alarm(alrm, 6),
|
|
|
+ bat_test = Alarm(alrm, 2);
|
|
|
|
|
|
$('AC').innerHTML = parseFloat(data.AC) + ' В';
|
|
|
$('DC').innerHTML = parseFloat(data.DC) + ' В';
|
|
@@ -564,14 +487,23 @@ function paramsRefresh() {
|
|
|
$('out_freq').innerHTML = parseFloat(data.out_freq) + ' Гц';
|
|
|
$('pwr').innerHTML = parseFloat(data.pwr) + ' %';
|
|
|
$('pmode').innerHTML = ups_bypass ? 'Шунтирование (Bypass)' : 'Буферизация (Boost or Buck)';
|
|
|
- $('pstate').innerHTML = (Alarm(data.alarm, 3) ? 'Норма' : 'Режим ожидания')
|
|
|
- + (Alarm(data.alarm, 4) || Alarm(data.alarm, 7) ? ' | Авария ' : '')
|
|
|
- + (Alarm(data.alarm, 1) ? ' | Выключение' : '');
|
|
|
+
|
|
|
+ bat_test ? pstate.push('normal') : pstate.push('clock');
|
|
|
+ ups_alarm ? pstate.push('exclamination') : null;
|
|
|
+ ups_shutdown ? pstate.push('shutdown') : '';
|
|
|
+
|
|
|
+ bat_low ? bstate.push('batteryLow') : bstate.push('normal');
|
|
|
+
|
|
|
+ setIcons('pstate_icons', pstate);
|
|
|
+ setIcons('bstate_icons', bstate);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
$('bat_cap').innerHTML = parseFloat(data.bat_cap) + ' %';
|
|
|
$('inner_temp').innerHTML = parseFloat(data.inner_temp) + ' °C';
|
|
|
$('bat_time_left').innerHTML = parseFloat(data.bat_time_left) + ' мин';
|
|
|
- $('bstate').innerHTML = Alarm(data.alarm, 1);
|
|
|
+ $('bstate').innerHTML = bat_alarm;
|
|
|
|
|
|
|
|
|
|
|
@@ -1493,3 +1425,29 @@ DYN_WEB.Tabs = (function () {
|
|
|
|
|
|
|
|
|
}((typeof window === 'undefined' ? {} : window)));
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+var Icons = {
|
|
|
+ clock: {
|
|
|
+ icn: '<svg width="20" height="20" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1024 544v448q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h224v-352q0-14 9-23t23-9h64q14 0 23 9t9 23zm416 352q0-148-73-273t-198-198-273-73-273 73-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273zm224 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z" fill="'+ ALARM_YELLOW +'"/></svg>',
|
|
|
+ title: 'Режим ожидания'
|
|
|
+ },
|
|
|
+ exclamination: {
|
|
|
+ icn: '<svg width="20" height="20" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1088 1248v224q0 26-19 45t-45 19h-256q-26 0-45-19t-19-45v-224q0-26 19-45t45-19h256q26 0 45 19t19 45zm30-1056l-28 768q-1 26-20.5 45t-45.5 19h-256q-26 0-45.5-19t-20.5-45l-28-768q-1-26 17.5-45t44.5-19h320q26 0 44.5 19t17.5 45z" fill="'+ ALARM_RED +'"/></svg>',
|
|
|
+ title: 'Авария'
|
|
|
+ },
|
|
|
+ normal: {
|
|
|
+ icn: '<svg width="20" height="20" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1299 813l-422 422q-19 19-45 19t-45-19l-294-294q-19-19-19-45t19-45l102-102q19-19 45-19t45 19l147 147 275-275q19-19 45-19t45 19l102 102q19 19 19 45t-19 45zm141 83q0-148-73-273t-198-198-273-73-273 73-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273zm224 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z" fill="'+ ALARM_GREEN +'"/></svg>',
|
|
|
+ title: 'Норма'
|
|
|
+ },
|
|
|
+ shutdown: {
|
|
|
+ icn: '<svg width="20" height="20" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 896q0 156-61 298t-164 245-245 164-298 61-298-61-245-164-164-245-61-298q0-182 80.5-343t226.5-270q43-32 95.5-25t83.5 50q32 42 24.5 94.5t-49.5 84.5q-98 74-151.5 181t-53.5 228q0 104 40.5 198.5t109.5 163.5 163.5 109.5 198.5 40.5 198.5-40.5 163.5-109.5 109.5-163.5 40.5-198.5q0-121-53.5-228t-151.5-181q-42-32-49.5-84.5t24.5-94.5q31-43 84-50t95 25q146 109 226.5 270t80.5 343zm-640-768v640q0 52-38 90t-90 38-90-38-38-90v-640q0-52 38-90t90-38 90 38 38 90z" fill="'+ ALARM_RED +'"/></svg>',
|
|
|
+ title: 'Выключение'
|
|
|
+ },
|
|
|
+ batteryLow: {
|
|
|
+ icn: '<svg width="30" height="20" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1920 576q53 0 90.5 37.5t37.5 90.5v384q0 53-37.5 90.5t-90.5 37.5v160q0 66-47 113t-113 47h-1856q-66 0-113-47t-47-113v-960q0-66 47-113t113-47h1856q66 0 113 47t47 113v160zm0 512v-384h-128v-288q0-14-9-23t-23-9h-1856q-14 0-23 9t-9 23v960q0 14 9 23t23 9h1856q14 0 23-9t9-23v-288h128z" fill="'+ ALARM_RED +'"/></svg>',
|
|
|
+ title: 'Низкий уровень заряда'
|
|
|
+ }
|
|
|
+};
|