push all
This commit is contained in:
202
iforte/base.js
202
iforte/base.js
@@ -8,16 +8,22 @@ $(document).ready(function() {
|
|||||||
$('#pth').html(fixturename)
|
$('#pth').html(fixturename)
|
||||||
$(document).prop('title', fixturename)
|
$(document).prop('title', fixturename)
|
||||||
|
|
||||||
$('body').prepend(generateNavBar());
|
// handle RDM ident
|
||||||
var am = 0;
|
var idntb = $('#idnt img');
|
||||||
var mip = 0;
|
var idnt_status = sessionStorage.getItem('iforte_idnt')
|
||||||
mip = 1;
|
if (idnt_status == 1) {
|
||||||
var href = $(location).attr('pathname');
|
idntb.addClass("a");
|
||||||
if (href.indexOf('personality') != -1) am = 1;
|
}
|
||||||
if (href.indexOf('logs') != -1) am = 2;
|
$('#idnt').click(function() {
|
||||||
if (href.indexOf('sensors') != -1) am = 3;
|
var idnt_status = sessionStorage.getItem('iforte_idnt')
|
||||||
if (href.indexOf('discovery') != -1) am = (3 + mip);
|
if (idnt_status == 1) {
|
||||||
$('#navbar ul li').eq(am).addClass('active');
|
idntb.removeClass("a");
|
||||||
|
sessionStorage.setItem('iforte_idnt', '0')
|
||||||
|
} else {
|
||||||
|
idntb.addClass("a")
|
||||||
|
sessionStorage.setItem('iforte_idnt', '1')
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
//handle settings
|
//handle settings
|
||||||
$(document).on('click','#scfg',function() {
|
$(document).on('click','#scfg',function() {
|
||||||
@@ -61,12 +67,6 @@ $(document).ready(function() {
|
|||||||
populateUIFromSessionStorage()
|
populateUIFromSessionStorage()
|
||||||
showCustomModal('Cleared', 'Simulated page reset to default settings.')
|
showCustomModal('Cleared', 'Simulated page reset to default settings.')
|
||||||
});
|
});
|
||||||
|
|
||||||
// handle RDM ident
|
|
||||||
var idntb = $('#idnt img');
|
|
||||||
$('#idnt').click(function() {
|
|
||||||
idntb.toggleClass('a');
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// custom modal
|
// custom modal
|
||||||
@@ -94,11 +94,56 @@ function loader(showheader) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function do_ajax(p_url,p_data,f,i = -1,a = true) {
|
function do_ajax(p_url,p_data,f,i = -1,a = true) {
|
||||||
/*console.log("url : " + p_url);
|
loader(1);
|
||||||
console.log("data : " + p_data);
|
|
||||||
console.log("callback function : " + f);
|
// convert p_data to an Object
|
||||||
console.log("callback params : " + i);
|
const data_object = {}
|
||||||
console.log("async : " + a);*/
|
p_data.toString().split('&').forEach(element => {
|
||||||
|
var kvp = element.split('=');
|
||||||
|
data_object[kvp[0]] = kvp[1]
|
||||||
|
});
|
||||||
|
|
||||||
|
p_data = data_object
|
||||||
|
|
||||||
|
switch (p_url) {
|
||||||
|
case '/reset_hours':
|
||||||
|
if (p_data.rh == 0) {
|
||||||
|
sessionStorage.setItem('iforte_hr0', '0')
|
||||||
|
} else if (p_data.rh == 1){
|
||||||
|
sessionStorage.setItem('iforte_hr1', '0')
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case '/reset_temps':
|
||||||
|
if (p_data.rt == 0) {
|
||||||
|
sessionStorage.setItem('iforte_tmr0', sessionStorage.getItem('iforte_t0'))
|
||||||
|
} else if (p_data.rt == 3){
|
||||||
|
sessionStorage.setItem('iforte_tmr3', sessionStorage.getItem('iforte_t3'))
|
||||||
|
} else if (p_data.rt == 2){
|
||||||
|
sessionStorage.setItem('iforte_tmr2', sessionStorage.getItem('iforte_t2'))
|
||||||
|
} else if (p_data.rt == 1){
|
||||||
|
sessionStorage.setItem('iforte_tmr1', sessionStorage.getItem('iforte_t1'))
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
for (const [key, value] of Object.entries(p_data)) {
|
||||||
|
//sessionStorage.setItem(key, value)
|
||||||
|
console.log("key: %o", key)
|
||||||
|
console.log("val: %o", value)
|
||||||
|
|
||||||
|
if (key == 'iforte_tmpu') {
|
||||||
|
if (value == 0) {
|
||||||
|
sessionStorage.setItem('iforte_tu', 'C')
|
||||||
|
} else if (value == 1) {
|
||||||
|
sessionStorage.setItem('iforte_tu', 'F')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
populateUIFromSessionStorage()
|
||||||
|
loader(0)
|
||||||
|
close_modal()
|
||||||
}
|
}
|
||||||
|
|
||||||
function copy_form_values(dir) {
|
function copy_form_values(dir) {
|
||||||
@@ -162,7 +207,6 @@ function show_errors(s,ids) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function close_modal() {
|
function close_modal() {
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
$('#m-b').empty();
|
$('#m-b').empty();
|
||||||
$('#cfg-modal').modal('hide');
|
$('#cfg-modal').modal('hide');
|
||||||
@@ -235,118 +279,9 @@ function c_rad(name,legend,options,invalid_feedback_text,group_class) {
|
|||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
|
|
||||||
function box(t,id,p,su = '',vid = '',bc = '') {
|
|
||||||
|
|
||||||
var s = '';
|
|
||||||
|
|
||||||
s += '<div class="col-md-6 col-xl-4 box-c' + bc + '">';
|
|
||||||
if (id >= 0) s += '<h2>' + t + '<a class="cfg" onclick="open_modal(' + id + ');"><img src="../files/settings.svg"></a></h2>';
|
|
||||||
else s += '<h2>' + t + '</h2>';
|
|
||||||
s += '<div class="box">';
|
|
||||||
for (var j in p) {
|
|
||||||
if (p[j][0].length > 0) s += '<h3>' + p[j][0] + '</h3>';
|
|
||||||
s += '<ul class="group">';
|
|
||||||
for (var i in p[j][1]) {
|
|
||||||
l = p[j][1][i].split(";");
|
|
||||||
if (l.length == 4) s += l[0];
|
|
||||||
else s += '<li>' + l[0] + '</li>';
|
|
||||||
}
|
|
||||||
s += '</ul>';
|
|
||||||
s += '<ul class="group vals" id="' + vid + '">';
|
|
||||||
for (var i in p[j][1]) {
|
|
||||||
l = p[j][1][i].split(";");
|
|
||||||
if (l.length == 4) {
|
|
||||||
var t = l[3].replace(/&DG/gi,'°');
|
|
||||||
s += t;
|
|
||||||
} else if (l.length == 3) s += l[2];
|
|
||||||
else if (l.length == 2) s += '<li><div id="' + l[1] + '_v">-</div></li>';
|
|
||||||
else s += '<li>-</li>';
|
|
||||||
}
|
|
||||||
s += '</ul>';
|
|
||||||
}
|
|
||||||
s += su;
|
|
||||||
s += '</div>';
|
|
||||||
s += '</div>';
|
|
||||||
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
|
|
||||||
function generateNavBar() {
|
|
||||||
var o = '<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">';
|
|
||||||
|
|
||||||
o += '<div class="container">';
|
|
||||||
o += '<a class="navbar-brand" href="./index.html"><img src="../files/robe_logo_white.svg"></a>';
|
|
||||||
o += '<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar">';
|
|
||||||
o += '<span class="navbar-toggler-icon"></span>';
|
|
||||||
o += '</button>';
|
|
||||||
o += '<div class="collapse navbar-collapse" id="navbar">';
|
|
||||||
o += '<ul class="navbar-nav mr-auto">';
|
|
||||||
o += '<li class="nav-item">';
|
|
||||||
o += '<a class="nav-link" href="./index.html">Status</a>';
|
|
||||||
o += '</li>';
|
|
||||||
o += '<li class="nav-item">';
|
|
||||||
o += '<a class="nav-link" href="./personality.html">Personality</a>';
|
|
||||||
o += '</li>';
|
|
||||||
o += '<li class="nav-item">';
|
|
||||||
o += '<a class="nav-link" href="./logs.html">Logs</a>';
|
|
||||||
|
|
||||||
o += '</li>';
|
|
||||||
o += '<li class="nav-item snz">';
|
|
||||||
o += '<a class="nav-link" href="./sensors.html">RAINS logs</a>';
|
|
||||||
o += '</li>';
|
|
||||||
|
|
||||||
o += '<li class="nav-item">';
|
|
||||||
o += '<a class="nav-link" href="./discovery.html">Discovery</a>';
|
|
||||||
o += '</li>';
|
|
||||||
o += '<li class="nav-item">';
|
|
||||||
o += '<a class="nav-link" href="#" id="scfg">Settings</a>';
|
|
||||||
o += '</li>';
|
|
||||||
o += '<li class="nav-item">';
|
|
||||||
o += '<a class="nav-link" href="#" id="idnt"><img class="rdmi" src="../files/identify.svg"></a>';
|
|
||||||
o += '</li>';
|
|
||||||
o += '</ul>';
|
|
||||||
|
|
||||||
o += '</div>';
|
|
||||||
o += '</div>';
|
|
||||||
o += '</nav>';
|
|
||||||
|
|
||||||
o += '<div id="cfg-modal" class="modal fade" tabindex="-1" role="dialog">';
|
|
||||||
o += '<div class="modal-dialog" role="document">';
|
|
||||||
o += '<div class="modal-content">';
|
|
||||||
o += '<div class="modal-header">';
|
|
||||||
o += '<img src="../files/settings.svg">';
|
|
||||||
o += '<h5 class="modal-title" id="m-t"></h5>';
|
|
||||||
o += '<button type="button" class="close" data-dismiss="modal" aria-label="Close">';
|
|
||||||
o += '<span aria-hidden="true">×</span>';
|
|
||||||
o += '</button>';
|
|
||||||
o += '</div>';
|
|
||||||
o += '<div class="modal-body" id="m-b">';
|
|
||||||
o += '</div>';
|
|
||||||
o += '<div class="modal-footer" id="m-f">';
|
|
||||||
o += '<button type="button" class="btn btn-primary sb">Save</button>';
|
|
||||||
o += '</div>';
|
|
||||||
o += '</div>';
|
|
||||||
o += '</div>';
|
|
||||||
o += '</div>';
|
|
||||||
|
|
||||||
return o;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
var pre = '';
|
var pre = '';
|
||||||
var dmxsnf = '';
|
var dmxsnf = '';
|
||||||
|
|
||||||
function ptit(t) {
|
|
||||||
|
|
||||||
if (t == $('#pth').data('title')) return;
|
|
||||||
|
|
||||||
|
|
||||||
if (t.length) $('#pth').data('title',t);
|
|
||||||
$('#pth').html($('#pth').data('title') + dmxsnf);
|
|
||||||
$('#pt_v').html(pre + $('#pth').html());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function c_dt(n,t,e,c,it) {
|
function c_dt(n,t,e,c,it) {
|
||||||
|
|
||||||
var html = '<div class="form-group' + c + '">';
|
var html = '<div class="form-group' + c + '">';
|
||||||
@@ -401,6 +336,7 @@ function initSessionStorage() {
|
|||||||
sessionStorage.setItem('iforte_dmxp', '2') // dmx mode
|
sessionStorage.setItem('iforte_dmxp', '2') // dmx mode
|
||||||
sessionStorage.setItem('iforte_dmxi', '0') // input (wired0 wireless1 wirelessout2)
|
sessionStorage.setItem('iforte_dmxi', '0') // input (wired0 wireless1 wirelessout2)
|
||||||
sessionStorage.setItem('iforte_rdmn', 'Robin iForte') // rdm name
|
sessionStorage.setItem('iforte_rdmn', 'Robin iForte') // rdm name
|
||||||
|
sessionStorage.setItem('iforte_idnt', '0') // rdm idnt
|
||||||
|
|
||||||
sessionStorage.setItem('iforte_h0', '1206') // power on time
|
sessionStorage.setItem('iforte_h0', '1206') // power on time
|
||||||
sessionStorage.setItem('iforte_hr0', '1206') // resetable
|
sessionStorage.setItem('iforte_hr0', '1206') // resetable
|
||||||
@@ -464,12 +400,9 @@ function initSessionStorage() {
|
|||||||
sessionStorage.setItem('iforte_dor', '2') //disp orientation 0norm 1inv 2auto
|
sessionStorage.setItem('iforte_dor', '2') //disp orientation 0norm 1inv 2auto
|
||||||
|
|
||||||
sessionStorage.setItem('iforte_mics', '9') // mic sens
|
sessionStorage.setItem('iforte_mics', '9') // mic sens
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function populateUIFromSessionStorage() {
|
function populateUIFromSessionStorage() {
|
||||||
for (var i = 0; i < sessionStorage.length; i++) {
|
for (var i = 0; i < sessionStorage.length; i++) {
|
||||||
var valueToLoad = '';
|
var valueToLoad = '';
|
||||||
@@ -596,6 +529,7 @@ function populateUIFromSessionStorage() {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('key ' + i + " : " + valueToLoad);
|
||||||
$("#" + sessionStorage.key(i) + "_v").html(valueToLoad)
|
$("#" + sessionStorage.key(i) + "_v").html(valueToLoad)
|
||||||
|
|
||||||
// for each element with id tu_v sets html to string of temp unit
|
// for each element with id tu_v sets html to string of temp unit
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
|
||||||
<link rel="stylesheet" href="../files/bootstrap.min.css">
|
<link rel="stylesheet" href="../files/bootstrap.min.css">
|
||||||
@@ -8,11 +8,25 @@
|
|||||||
<script src="../files/popper.min.js"></script>
|
<script src="../files/popper.min.js"></script>
|
||||||
<script src="../files/bootstrap.min.js"></script>
|
<script src="../files/bootstrap.min.js"></script>
|
||||||
<script src="./base.js"></script>
|
<script src="./base.js"></script>
|
||||||
<title id="pt_v">iForte</title>
|
</head>
|
||||||
</head>
|
<body>
|
||||||
<body>
|
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">
|
||||||
<!-- NAV WILL BE ADDED HERE BY FUNCTION IN BASE JS -->
|
<div class="container">
|
||||||
<div class="fixed-top text-center device-label" id="pth"></div>
|
<a class="navbar-brand" href="./index.html"><img src="../files/robe_logo_white.svg"></a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"><span class="navbar-toggler-icon"></span></button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbar">
|
||||||
|
<ul class="navbar-nav mr-auto">
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./index.html">Status</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./personality.html">Personality</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./logs.html">Logs</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./sensors.html">RAINS logs</a></li>
|
||||||
|
<li class="nav-item active"><a class="nav-link" href="./discovery.html">Discovery</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="idnt"><img class="rdmi" src="../files/identify.svg"></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
||||||
<div class="container-fluid in">
|
<div class="container-fluid in">
|
||||||
<h1>Discovery</h1>
|
<h1>Discovery</h1>
|
||||||
<div class="row" id="boxes">
|
<div class="row" id="boxes">
|
||||||
@@ -158,21 +172,31 @@
|
|||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('h1').html('Discovery');
|
$('h1').html('Discovery');
|
||||||
$('#boxes').html(' < div class = "col-12" > < div class = "clearfix" > < div class = "float-left pt02" > < input type = "checkbox"
|
$('#boxes').html('<div class="col-12"><div class="clearfix"><div class="float-left pt02"><input type = "checkbox" id="w-ot"><label for="w-ot" class="pl04">Move devices with warning to top</label></div><button class="btn btn-primary float-right" id="scan" disabled><div class="loader"></div> Discovering</button></div><h2 > Columns selection(max.7 items) </h2><div class="clearfix" id="cols"></div><div class="clearfix"><button class="btn btn-primary float-right" id="acs">Apply selection</button></div><div class="table-responsive"><table class="table mt-2" id="d-t"><thead id="dmax"><tr><th><i></i><i class="ab"></i> Device</th></tr></thead><tbody><tr id="myd" class="myd"><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody><tbody class="rd" id="scd"></tbody></table></div></div>');
|
||||||
id = "w-ot" > < label
|
var s=0;
|
||||||
for = "w-ot"
|
var bsy=false;
|
||||||
class = "pl04" > Move devices with warning to top < /label> < /div> < button class = "btn btn-primary float-right"
|
var i=0;
|
||||||
id = "scan"
|
var ti;
|
||||||
disabled > < div class = "loader" > < /div> Discovering < /button> < /div> < h2 > Columns selection(max.7 items) < /h2> < div class = "clearfix"
|
var tb;
|
||||||
id = "cols" > < /div> < div class = "clearfix" > < button class = "btn btn-primary float-right"
|
var tr;
|
||||||
id = "acs" > Apply selection < /button> < /div> < div class = "table-responsive" > < table class = "table mt-2"
|
var c_n=['DMX address','DMX preset','RDM UID','IP address','Head temperature [°C]','Relative humidity [%]','RAINS (max wet)','Last pressure test','Device status'];
|
||||||
id = "d-t" > < thead id = "dmax" > < tr > < th > < i > < /i> < i class = "ab" > < /i> Device < /th> < /tr> < /thead> < tbody > < tr id = "myd"
|
var c_js=['dmxa','dmxp','rdm','ip','t','rh','wet','prt','sta'];
|
||||||
class = "myd" > < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < /tr> < /tbody> < tbody class = "rd"
|
var c_s=get_cookie('dc_sel',335);
|
||||||
id = "scd" > < /tbody> < /table> < /div> < /div>');var s=0;var bsy=false;var i=0;var ti;var tb;var tr;var c_n=['DMX address','DMX preset','RDM UID','IP address','Head temperature [°C]','Relative humidity [%]','RAINS (max wet)','Last pressure test','Device status'];var c_js=['dmxa','dmxp','rdm','ip','t','rh','wet','prt','sta'];var c_s=get_cookie('dc_sel',335);var i=0;c_n.forEach(function(v){$('#dmax>tr').append(' < th > < i > < /i> < i class = "ab" > < /i> '+v+' < /th>');$('#cols').append(' < div class = "dchb" > < input type = "checkbox"
|
var i=0;
|
||||||
class = "cchb"
|
c_n.forEach(function(v){
|
||||||
'+((c_s & (1< < i)) ? ' checked' : '') + ' id="cchb-' + i + '"> < label
|
$('#dmax>tr').append('<th><i></i><i class="ab"></i> '+v+'</th>');
|
||||||
for = "cchb-'+i+'" > '+v+' < /label> < /div>');i++});$('#dmax>tr').append(' < th > & nbsp; < /th>');var ccb=$('#cols .cchb');var tcs=$('#dmax>tr>th');function upd_cols_in_rows(){var c_s=get_cookie('dc_sel',335);var r=$('#d-t>tbody>tr');r.each(function(){var c=$(this).find('td');c.each(function(i){if((i > 0)&&(i<=c_js.length)){if(c_s & (1<<(i - 1))) $(this).show();else $(this).hide()}})})}function ccb_en_dis(){var chck=ccb.filter(':checked');if(chck.length>=6){ccb.filter(':not(":checked")').attr('disabled',true)} else ccb.removeAttr('disabled')}ccb_en_dis();$('.cchb').change(function(){ccb_en_dis()});$('#acs').click(function(){var c_s=0;var i=0;c_n.forEach(function(v){if(ccb.eq(i).prop('checked')) c_s|=(1< < i);
|
$('#cols').append('<div class="dchb"><input type="checkbox" class="cchb"'+((c_s & (1 << i)) ? ' checked' : '') + ' id="cchb-' + i + '"><label for="cchb-'+i+'">'+v+'</label></div>');i++});
|
||||||
if (c_s & (1 < < i)) tcs.eq(i + 1).show();
|
$('#dmax>tr').append('<th> </th>');
|
||||||
|
var ccb=$('#cols .cchb');
|
||||||
|
var tcs=$('#dmax>tr>th');
|
||||||
|
function upd_cols_in_rows(){
|
||||||
|
var c_s=get_cookie('dc_sel',335);
|
||||||
|
var r=$('#d-t>tbody>tr');
|
||||||
|
r.each(function(){var c=$(this).find('td');
|
||||||
|
c.each(function(i){if((i > 0)&&(i<=c_js.length)){if(c_s & (1<<(i - 1))) $(this).show();else $(this).hide()}})})}function ccb_en_dis(){var chck=ccb.filter(':checked');if(chck.length>=6){ccb.filter(':not(":checked")').attr('disabled',true)} else ccb.removeAttr('disabled')}ccb_en_dis();$('.cchb').change(function(){ccb_en_dis()});$('#acs').click(function(){var c_s=0;
|
||||||
|
var i=0;
|
||||||
|
c_n.forEach(function(v){if(ccb.eq(i).prop('checked')) c_s|=(1 << i);
|
||||||
|
if (c_s & (1 << i)) tcs.eq(i + 1).show();
|
||||||
else tcs.eq(i + 1).hide();
|
else tcs.eq(i + 1).hide();
|
||||||
i++
|
i++
|
||||||
});
|
});
|
||||||
@@ -185,57 +209,17 @@
|
|||||||
$('#scan').click(function() {
|
$('#scan').click(function() {
|
||||||
if (bsy) return;
|
if (bsy) return;
|
||||||
$('#dmax').removeClass('dmax');
|
$('#dmax').removeClass('dmax');
|
||||||
$('#scan').html(' < div class = "loader" > < /div> Discovering');$('#scd').html('');set_bsy(true);set_bsy(true,true);do_ajax('/start - scan ',{},function (json){if(json){set_bsy(false);s=0;clearInterval(tr)} else set_bsy(false);$('
|
$('#scan').html('<div class="loader"></div> Discovering');$('#scd').html('');set_bsy(true);set_bsy(true,true);do_ajax('/start - scan ',{},function (json){if(json){set_bsy(false);s=0;clearInterval(tr)} else set_bsy(false);$('body').click()})});function set_bsy(v,b_o=false){if(!b_o) bsy=v;clearTimeout(tb);tb=setTimeout(function(){if(!v) $('#scan').removeAttr('disabled');else $('#scan').attr('disabled','1')},b_o ? 5:400)}function max_w(w){if(isNaN(w)) return w;else return '<div class="rains sl"><div style = "width:'+w+'%"></div></div>'}function do_scan(){if(bsy) return;switch (s){case 0:set_bsy(true);do_ajax('/get - child ',{},function (json){if(json){if(json['sd']==0){s=1;i=0;if(json['max']==1) $('#dmax').addClass('dmax')}} else s=255;set_bsy(false)});break;case 1:set_bsy(true);do_ajax('/get-child','i = '+i,function (json){if(json){if(json['ip']){$('#scd').append(' < tr data - value = "'+json['ip']+'" class="dn dis"><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td><img class="rdmi a dn" src="../files/identify.svg"><button class="btn btn-danger btn-sm drem dn" > & #10005;</button></td></tr>');upd_cols_in_rows();i++} else s= 2}
|
||||||
body ').click()})});function set_bsy(v,b_o=false){if(!b_o) bsy=v;clearTimeout(tb);tb=setTimeout(function(){if(!v) $('
|
|
||||||
#scan ').removeAttr('
|
|
||||||
disabled ');else $('
|
|
||||||
#scan ').attr('
|
|
||||||
disabled ','
|
|
||||||
1 ')},b_o ? 5:400)}function max_w(w){if(isNaN(w)) return w;else return ' < div class = "rains sl" > < div style = "width:'+w+'%" > < /div> < /div>'}function do_scan(){if(bsy) return;switch (s){case 0:set_bsy(true);do_ajax('/get - child ',{},function (json){if(json){if(json['
|
|
||||||
sd ']==0){s=1;i=0;if(json['
|
|
||||||
max ']==1) $('
|
|
||||||
#dmax ').addClass('
|
|
||||||
dmax ')}} else s=255;set_bsy(false)});break;case 1:set_bsy(true);do_ajax(' / get - child ','
|
|
||||||
i = '+i,function (json){if(json){if(json['
|
|
||||||
ip ']){$('
|
|
||||||
#scd ').append(' < tr data - value = "'+json['ip']+'"
|
|
||||||
class = "dn dis" > < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < /td> < td > < img class = "rdmi a dn"
|
|
||||||
src = "../files/identify.svg" > < button class = "btn btn-danger btn-sm drem dn" > & #10005;</button>
|
|
||||||
</td>
|
|
||||||
</tr>');upd_cols_in_rows();i++} else s= 2
|
|
||||||
}
|
|
||||||
else s = 255;
|
else s = 255;
|
||||||
set_bsy(false)
|
set_bsy(false)
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case 2: clearInterval(tr);
|
case 2: clearInterval(tr);
|
||||||
set_bsy(true);
|
set_bsy(true);
|
||||||
$('#scan').html(' < div class = "loader" > < /div> Collecting');var devs=$('#scd tr');if(devs.length==0){$('#scan').html('Discover (1)');set_bsy(false);s=255} else {i=0;devs.each(function(){var r=$(this);if(r.attr('data-value')){do_ajax('http:/
|
$('#scan').html('<div class="loader"></div> Collecting');
|
||||||
'+' / '+r.attr('
|
var devs=$('#scd tr');if(devs.length==0){$('#scan').html('Discover (1)');set_bsy(false);s=255} else {i=0;devs.each(function(){var r=$(this);if(r.attr('data-value')){do_ajax('http:/'+' / '+r.attr('data-value')+'/remote',{},function (json){var t=r.find('td');if(json){t.eq(0).html('<a href="http:/'+'/'+r.attr('data-value')+'" target="_blank" > '+json['dn']+'</a>');c_js.forEach(function(v,i){if(json[v]){if(i!=6) t.eq(i+1).html(json[v]);else {t.eq(i+1).html(max_w(json[v]));t.eq(i+1).attr('data-value',json[v])}} else t.eq(i+1).html('-')});r.removeClass('na');r.find('.drem').hide();if(json['stat']==1) r.addClass('err');else r.removeClass('err');r.removeClass('dis');r.show();if(json['rdmi']==1) r.find('.rdmi').show();else r.find('.rdmi').hide()} else {if(r.hasClass('dis')){r.remove()} else {r.addClass('na').removeClass('err');r.find('.drem').show()}t.eq(9).html('disconnected')}i++;if(i>=devs.length){set_bsy(false);s=255;$('#scan').html('Discover ('+($('#scd tr').length+1)+')');tr=setInterval(function(){set_bsy(true,true);s=2},10000);$('#d-t th i.as').click()}})} else { i++}})}break}}ti=setInterval(do_scan,100);function getp(){do_ajax('/pdev_i',{},function (json){var c=$('#myd > td');if(json){c.eq(0).html(json['dn']);c_js.forEach(function(v,i){c.eq(i+1).html(i==6 ? max_w(json[v]):json[v])});upd_cols_in_rows();$('#myd').removeClass('na')} else {c.eq(9).html('disconnected');$('#myd').addClass('na')}})}getp();setInterval(getp,8000);do_ajax('/status_i',{},function (json){if(json){ptit(json['pt'])}});$(document).on('click','.drem',function(){if(confirm('Are you sure to remove offline device from list ?')) $(this).parents().eq(1).remove()});
|
||||||
data - value ')+' / remote ',{},function (json){var t=r.find('
|
var sort_i=0;
|
||||||
td ');if(json){t.eq(0).html(' < a href = "http:/'+'/'+r.attr('data-value')+'"
|
var sort_d=-1;function ldz3(v){return ('000'+v).substr(-3,3)}function my_sort(a,b){var A;var B;console.log(A);if(sort_i==7){B=$(a).children('td').eq(sort_i).attr('data-value');A=$(b).children('td').eq(sort_i).attr('data-value')} else {A=$(a).children('td').eq(sort_i).text();B=$(b).children('td').eq(sort_i).text()}switch (sort_i){case 1:case 5:case 6:case 7:A=parseInt(A);B=parseInt(B);break;case 4:A=A.split('.');A=ldz3(A[0])+ldz3(A[2])+ldz3(A[3])+ldz3(A[4]);B=B.split('.');B=ldz3(B[0])+ldz3(B[2])+ldz3(B[3])+ldz3(B[4]);break}if(A > B) return 1*sort_d;else if(A < B) return -1 * sort_d;
|
||||||
target = "_blank" > '+json['
|
|
||||||
dn ']+' < /a>');c_js.forEach(function(v,i){if(json[v]){if(i!=6) t.eq(i+1).html(json[v]);else {t.eq(i+1).html(max_w(json[v]));t.eq(i+1).attr('data-value',json[v])}} else t.eq(i+1).html('-')});r.removeClass('na');r.find('.drem').hide();if(json['stat']==1) r.addClass('err');else r.removeClass('err');r.removeClass('dis');r.show();if(json['rdmi']==1) r.find('.rdmi').show();else r.find('.rdmi').hide()} else {if(r.hasClass('dis')){r.remove()} else {r.addClass('na').removeClass('err');r.find('.drem').show()}t.eq(9).html('disconnected')}i++;if(i>=devs.length){set_bsy(false);s=255;$('#scan').html('Discover ('+($('#scd tr').length+1)+')');tr=setInterval(function(){set_bsy(true,true);s=2},10000);$('#d-t th i.as').click()}})} else { i++}})}break}}ti=setInterval(do_scan,100);function getp(){do_ajax('/pdev_i
|
|
||||||
',{},function (json){var c=$('
|
|
||||||
#myd > td ');if(json){c.eq(0).html(json['
|
|
||||||
dn ']);c_js.forEach(function(v,i){c.eq(i+1).html(i==6 ? max_w(json[v]):json[v])});upd_cols_in_rows();$('
|
|
||||||
#myd ').removeClass('
|
|
||||||
na ')} else {c.eq(9).html('
|
|
||||||
disconnected ');$('
|
|
||||||
#myd ').addClass('
|
|
||||||
na ')}})}getp();setInterval(getp,8000);do_ajax(' / status_i ',{},function (json){if(json){ptit(json['
|
|
||||||
pt '])}});$(document).on('
|
|
||||||
click ','.drem ',function(){if(confirm('
|
|
||||||
Are you sure to remove offline device from list ? ')) $(this).parents().eq(1).remove()});var sort_i=0;var sort_d=-1;function ldz3(v){return ('
|
|
||||||
000 '+v).substr(-3,3)}function my_sort(a,b){var A;var B;console.log(A);if(sort_i==7){B=$(a).children('
|
|
||||||
td ').eq(sort_i).attr('
|
|
||||||
data - value ');A=$(b).children('
|
|
||||||
td ').eq(sort_i).attr('
|
|
||||||
data - value ')} else {A=$(a).children('
|
|
||||||
td ').eq(sort_i).text();B=$(b).children('
|
|
||||||
td ').eq(sort_i).text()}switch (sort_i){case 1:case 5:case 6:case 7:A=parseInt(A);B=parseInt(B);break;case 4:A=A.split('.
|
|
||||||
');A=ldz3(A[0])+ldz3(A[2])+ldz3(A[3])+ldz3(A[4]);B=B.split('.
|
|
||||||
');B=ldz3(B[0])+ldz3(B[2])+ldz3(B[3])+ldz3(B[4]);break}if(A > B) return 1*sort_d;else if(A < B) return -1 * sort_d;
|
|
||||||
else return 0
|
else return 0
|
||||||
}
|
}
|
||||||
$('table th i').click(function() {
|
$('table th i').click(function() {
|
||||||
@@ -276,4 +260,4 @@
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
|
||||||
<link rel="stylesheet" href="../files/bootstrap.min.css">
|
<link rel="stylesheet" href="../files/bootstrap.min.css">
|
||||||
@@ -8,12 +8,25 @@
|
|||||||
<script src="../files/popper.min.js"></script>
|
<script src="../files/popper.min.js"></script>
|
||||||
<script src="../files/bootstrap.min.js"></script>
|
<script src="../files/bootstrap.min.js"></script>
|
||||||
<script src="./base.js"></script>
|
<script src="./base.js"></script>
|
||||||
<title id="pt_v">iForte</title>
|
</head>
|
||||||
</head>
|
<body>
|
||||||
<body>
|
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">
|
||||||
<!-- NAV WILL BE ADDED HERE BY FUNCTION IN BASE JS -->
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="./index.html"><img src="../files/robe_logo_white.svg"></a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"><span class="navbar-toggler-icon"></span></button>
|
||||||
<div class="fixed-top text-center device-label" id="pth"></div>
|
<div class="collapse navbar-collapse" id="navbar">
|
||||||
|
<ul class="navbar-nav mr-auto">
|
||||||
|
<li class="nav-item active"><a class="nav-link" href="./index.html">Status</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./personality.html">Personality</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./logs.html">Logs</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./sensors.html">RAINS logs</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./discovery.html">Discovery</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="idnt"><img class="rdmi" src="../files/identify.svg"></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
||||||
|
|
||||||
<div class="container-fluid in">
|
<div class="container-fluid in">
|
||||||
<h1>Device status</h1>
|
<h1>Device status</h1>
|
||||||
@@ -120,13 +133,13 @@
|
|||||||
<small>current / maximum / resettable</small>
|
<small>current / maximum / resettable</small>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-xl-4 box-c">
|
<div class="col-md-6 col-xl-4 box-c">
|
||||||
<h2>Wireless state <a class="cfg" onclick="open_modal(3);">
|
<h2>Wireless state <a class="cfg" onclick="open_modal(3);">
|
||||||
<img src="../files/settings.svg">
|
<img src="../files/settings.svg">
|
||||||
</a>
|
</a>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<ul class="group">
|
<ul class="group">
|
||||||
<li>State</li>
|
<li>State</li>
|
||||||
<li>Signal strength</li>
|
<li>Signal strength</li>
|
||||||
@@ -139,9 +152,9 @@
|
|||||||
<div id="iforte_lws_v">%</div>
|
<div id="iforte_lws_v">%</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-xl-4 box-c">
|
<div class="col-md-6 col-xl-4 box-c">
|
||||||
<h2>Software versions</h2>
|
<h2>Software versions</h2>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<ul class="group">
|
<ul class="group">
|
||||||
@@ -175,8 +188,8 @@
|
|||||||
<li>1.2</li>
|
<li>1.2</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-xl-4 box-c">
|
<div class="col-md-6 col-xl-4 box-c">
|
||||||
<h2>Device state</h2>
|
<h2>Device state</h2>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<ul class="group">
|
<ul class="group">
|
||||||
@@ -209,17 +222,17 @@
|
|||||||
<small id="iforte_wrt">last reset: 2.3.2023 16:19:57</small>
|
<small id="iforte_wrt">last reset: 2.3.2023 16:19:57</small>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 box-c">
|
<div class="col-12 box-c">
|
||||||
<h2 id="sta_err">Status messages</h2>
|
<h2 id="sta_err">Status messages</h2>
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<li>This is a simulated REAP™ page for demo purposes. Some content might be different on real fixtures.</li>
|
<li>This is a simulated REAP™ page for demo purposes. Some content might be different on real fixtures.</li>
|
||||||
<li>Big thanks to Vincent BOUQUET for creating this simulator.</li>
|
<li>Big thanks to Vincent BOUQUET for creating this simulator.</li>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="cfg-modal" class="modal fade" tabindex="-1" role="dialog">
|
<div id="cfg-modal" class="modal fade" tabindex="-1" role="dialog">
|
||||||
<div class="modal-dialog" role="document">
|
<div class="modal-dialog" role="document">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@@ -235,8 +248,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
var a_m = -1;
|
var a_m = -1;
|
||||||
var m_t = ['DMX/RDM settings', 'Reset timers', 'Reset temperatures', 'Wireless settings', ];
|
var m_t = ['DMX/RDM settings', 'Reset timers', 'Reset temperatures', 'Wireless settings', ];
|
||||||
|
|
||||||
@@ -439,5 +452,5 @@
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -8,11 +8,25 @@
|
|||||||
<script src="../files/popper.min.js"></script>
|
<script src="../files/popper.min.js"></script>
|
||||||
<script src="../files/bootstrap.min.js"></script>
|
<script src="../files/bootstrap.min.js"></script>
|
||||||
<script src="./base.js"></script>
|
<script src="./base.js"></script>
|
||||||
<title id="pt_v">iForte</title>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- NAV WILL BE ADDED HERE BY FUNCTION IN BASE JS -->
|
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">
|
||||||
<div class="fixed-top text-center device-label" id="pth">iForte</div>
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="./index.html"><img src="../files/robe_logo_white.svg"></a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"><span class="navbar-toggler-icon"></span></button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbar">
|
||||||
|
<ul class="navbar-nav mr-auto">
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./index.html">Status</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./personality.html">Personality</a></li>
|
||||||
|
<li class="nav-item active"><a class="nav-link" href="./logs.html">Logs</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./sensors.html">RAINS logs</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./discovery.html">Discovery</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="idnt"><img class="rdmi" src="../files/identify.svg"></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
||||||
<div class="container-fluid in">
|
<div class="container-fluid in">
|
||||||
<h1>Device logs</h1>
|
<h1>Device logs</h1>
|
||||||
<div class="row" id="boxes">
|
<div class="row" id="boxes">
|
||||||
|
|||||||
@@ -8,11 +8,25 @@
|
|||||||
<script src="../files/popper.min.js"></script>
|
<script src="../files/popper.min.js"></script>
|
||||||
<script src="../files/bootstrap.min.js"></script>
|
<script src="../files/bootstrap.min.js"></script>
|
||||||
<script src="./base.js"></script>
|
<script src="./base.js"></script>
|
||||||
<title id="pt_v">iForte</title>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- NAV WILL BE ADDED HERE BY FUNCTION IN BASE JS -->
|
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">
|
||||||
<div class="fixed-top text-center device-label" id="pth">iForte</div>
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="./index.html"><img src="../files/robe_logo_white.svg"></a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"><span class="navbar-toggler-icon"></span></button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbar">
|
||||||
|
<ul class="navbar-nav mr-auto">
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./index.html">Status</a></li>
|
||||||
|
<li class="nav-item active"><a class="nav-link" href="./personality.html">Personality</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./logs.html">Logs</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./sensors.html">RAINS logs</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./discovery.html">Discovery</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="idnt"><img class="rdmi" src="../files/identify.svg"></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
||||||
<div class="container-fluid in">
|
<div class="container-fluid in">
|
||||||
<h1>Personality</h1>
|
<h1>Personality</h1>
|
||||||
<div class="row" id="boxes">
|
<div class="row" id="boxes">
|
||||||
|
|||||||
@@ -8,11 +8,25 @@
|
|||||||
<script src="../files/popper.min.js"></script>
|
<script src="../files/popper.min.js"></script>
|
||||||
<script src="../files/bootstrap.min.js"></script>
|
<script src="../files/bootstrap.min.js"></script>
|
||||||
<script src="./base.js"></script>
|
<script src="./base.js"></script>
|
||||||
<title id="pt_v">iForte</title>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- NAV WILL BE ADDED HERE BY FUNCTION IN BASE JS -->
|
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">
|
||||||
<div class="fixed-top text-center device-label" id="pth">iForte</div>
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="./index.html"><img src="../files/robe_logo_white.svg"></a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"><span class="navbar-toggler-icon"></span></button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbar">
|
||||||
|
<ul class="navbar-nav mr-auto">
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./index.html">Status</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./personality.html">Personality</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./logs.html">Logs</a></li>
|
||||||
|
<li class="nav-item active"><a class="nav-link" href="./sensors.html">RAINS logs</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="./discovery.html">Discovery</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="idnt"><img class="rdmi" src="../files/identify.svg"></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
||||||
<div class="container-fluid in">
|
<div class="container-fluid in">
|
||||||
<h1>RAINS logs</h1>
|
<h1>RAINS logs</h1>
|
||||||
<div class="row" id="boxes">
|
<div class="row" id="boxes">
|
||||||
@@ -205,588 +219,7 @@
|
|||||||
<td>15.0</td>
|
<td>15.0</td>
|
||||||
<td>1013</td>
|
<td>1013</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 14:37:23</td>
|
|
||||||
<td>40</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 14:22:14</td>
|
|
||||||
<td>39</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 14:09:07</td>
|
|
||||||
<td>38</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:57:46</td>
|
|
||||||
<td>37</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:47:52</td>
|
|
||||||
<td>36</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:34:57</td>
|
|
||||||
<td>35</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:27:38</td>
|
|
||||||
<td>34</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:21:20</td>
|
|
||||||
<td>33</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:16:00</td>
|
|
||||||
<td>32</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:11:49</td>
|
|
||||||
<td>31</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1015</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:07:53</td>
|
|
||||||
<td>30</td>
|
|
||||||
<td>15.5</td>
|
|
||||||
<td>1015</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:06:27</td>
|
|
||||||
<td>29</td>
|
|
||||||
<td>16.0</td>
|
|
||||||
<td>1015</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:05:33</td>
|
|
||||||
<td>28</td>
|
|
||||||
<td>17.0</td>
|
|
||||||
<td>1015</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:04:55</td>
|
|
||||||
<td>27</td>
|
|
||||||
<td>17.5</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:04:29</td>
|
|
||||||
<td>26</td>
|
|
||||||
<td>18.5</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-3-2">2.3.2023 13:04:27</td>
|
|
||||||
<td>25</td>
|
|
||||||
<td>19.0</td>
|
|
||||||
<td>1014</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 17:18:05</td>
|
|
||||||
<td>45</td>
|
|
||||||
<td>16.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 15:25:35</td>
|
|
||||||
<td>44</td>
|
|
||||||
<td>16.0</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 14:31:57</td>
|
|
||||||
<td>43</td>
|
|
||||||
<td>15.5</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 13:59:13</td>
|
|
||||||
<td>42</td>
|
|
||||||
<td>15.0</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 13:34:59</td>
|
|
||||||
<td>41</td>
|
|
||||||
<td>15.0</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 13:07:05</td>
|
|
||||||
<td>40</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 12:51:56</td>
|
|
||||||
<td>39</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1022</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 12:38:54</td>
|
|
||||||
<td>38</td>
|
|
||||||
<td>13.5</td>
|
|
||||||
<td>1022</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 12:27:25</td>
|
|
||||||
<td>37</td>
|
|
||||||
<td>13.5</td>
|
|
||||||
<td>1022</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 12:17:14</td>
|
|
||||||
<td>36</td>
|
|
||||||
<td>13.0</td>
|
|
||||||
<td>1022</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 12:02:59</td>
|
|
||||||
<td>35</td>
|
|
||||||
<td>13.0</td>
|
|
||||||
<td>1022</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:54:48</td>
|
|
||||||
<td>34</td>
|
|
||||||
<td>12.5</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:47:16</td>
|
|
||||||
<td>33</td>
|
|
||||||
<td>12.5</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:40:27</td>
|
|
||||||
<td>32</td>
|
|
||||||
<td>12.0</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:33:47</td>
|
|
||||||
<td>31</td>
|
|
||||||
<td>12.0</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:24:50</td>
|
|
||||||
<td>30</td>
|
|
||||||
<td>12.0</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:19:32</td>
|
|
||||||
<td>29</td>
|
|
||||||
<td>11.5</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:15:04</td>
|
|
||||||
<td>28</td>
|
|
||||||
<td>11.5</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:11:11</td>
|
|
||||||
<td>27</td>
|
|
||||||
<td>11.5</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:08:33</td>
|
|
||||||
<td>26</td>
|
|
||||||
<td>12.0</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:06:43</td>
|
|
||||||
<td>25</td>
|
|
||||||
<td>12.5</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:06:05</td>
|
|
||||||
<td>24</td>
|
|
||||||
<td>13.0</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:05:05</td>
|
|
||||||
<td>23</td>
|
|
||||||
<td>13.5</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:04:27</td>
|
|
||||||
<td>22</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-28">28.2.2023 11:03:59</td>
|
|
||||||
<td>21</td>
|
|
||||||
<td>15.0</td>
|
|
||||||
<td>1022</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 19:12:54</td>
|
|
||||||
<td>47</td>
|
|
||||||
<td>18.0</td>
|
|
||||||
<td>1019</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 19:12:52</td>
|
|
||||||
<td>46</td>
|
|
||||||
<td>18.0</td>
|
|
||||||
<td>1019</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 18:34:19</td>
|
|
||||||
<td>48</td>
|
|
||||||
<td>18.0</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 18:34:17</td>
|
|
||||||
<td>47</td>
|
|
||||||
<td>18.0</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 18:09:40</td>
|
|
||||||
<td>49</td>
|
|
||||||
<td>18.0</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 18:09:36</td>
|
|
||||||
<td>48</td>
|
|
||||||
<td>18.0</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 17:49:22</td>
|
|
||||||
<td>50</td>
|
|
||||||
<td>18.0</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 17:49:20</td>
|
|
||||||
<td>49</td>
|
|
||||||
<td>18.0</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 17:26:01</td>
|
|
||||||
<td>51</td>
|
|
||||||
<td>17.5</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 17:25:59</td>
|
|
||||||
<td>50</td>
|
|
||||||
<td>17.5</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 17:14:44</td>
|
|
||||||
<td>52</td>
|
|
||||||
<td>17.0</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 17:14:42</td>
|
|
||||||
<td>51</td>
|
|
||||||
<td>17.0</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 17:04:53</td>
|
|
||||||
<td>53</td>
|
|
||||||
<td>16.5</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 17:04:51</td>
|
|
||||||
<td>52</td>
|
|
||||||
<td>16.5</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:56:23</td>
|
|
||||||
<td>54</td>
|
|
||||||
<td>16.0</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:56:21</td>
|
|
||||||
<td>53</td>
|
|
||||||
<td>16.0</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:40:54</td>
|
|
||||||
<td>55</td>
|
|
||||||
<td>15.0</td>
|
|
||||||
<td>1017</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:36:41</td>
|
|
||||||
<td>57</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:36:39</td>
|
|
||||||
<td>56</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1018</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:33:03</td>
|
|
||||||
<td>58</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1017</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:33:01</td>
|
|
||||||
<td>57</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1017</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:24:56</td>
|
|
||||||
<td>59</td>
|
|
||||||
<td>13.0</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:22:46</td>
|
|
||||||
<td>58</td>
|
|
||||||
<td>13.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:20:52</td>
|
|
||||||
<td>57</td>
|
|
||||||
<td>13.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:19:10</td>
|
|
||||||
<td>56</td>
|
|
||||||
<td>13.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:16:52</td>
|
|
||||||
<td>55</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:15:30</td>
|
|
||||||
<td>54</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:14:16</td>
|
|
||||||
<td>53</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:13:10</td>
|
|
||||||
<td>52</td>
|
|
||||||
<td>15.0</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:12:06</td>
|
|
||||||
<td>51</td>
|
|
||||||
<td>15.5</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:10:41</td>
|
|
||||||
<td>50</td>
|
|
||||||
<td>16.0</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:09:43</td>
|
|
||||||
<td>49</td>
|
|
||||||
<td>16.5</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:08:51</td>
|
|
||||||
<td>48</td>
|
|
||||||
<td>16.5</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 16:07:55</td>
|
|
||||||
<td>47</td>
|
|
||||||
<td>17.0</td>
|
|
||||||
<td>1021</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 12:59:36</td>
|
|
||||||
<td>46</td>
|
|
||||||
<td>13.5</td>
|
|
||||||
<td>1019</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 12:51:00</td>
|
|
||||||
<td>45</td>
|
|
||||||
<td>13.5</td>
|
|
||||||
<td>1022</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 12:50:06</td>
|
|
||||||
<td>44</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1022</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 12:49:14</td>
|
|
||||||
<td>43</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1022</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 12:48:22</td>
|
|
||||||
<td>42</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1022</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 12:47:25</td>
|
|
||||||
<td>41</td>
|
|
||||||
<td>15.0</td>
|
|
||||||
<td>1023</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 12:36:01</td>
|
|
||||||
<td>40</td>
|
|
||||||
<td>14.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 12:20:20</td>
|
|
||||||
<td>39</td>
|
|
||||||
<td>14.0</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 12:06:37</td>
|
|
||||||
<td>38</td>
|
|
||||||
<td>13.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 11:55:32</td>
|
|
||||||
<td>37</td>
|
|
||||||
<td>13.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 11:44:59</td>
|
|
||||||
<td>36</td>
|
|
||||||
<td>13.0</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 11:31:20</td>
|
|
||||||
<td>35</td>
|
|
||||||
<td>12.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 11:23:24</td>
|
|
||||||
<td>34</td>
|
|
||||||
<td>12.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 11:16:09</td>
|
|
||||||
<td>33</td>
|
|
||||||
<td>12.0</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 11:09:37</td>
|
|
||||||
<td>32</td>
|
|
||||||
<td>12.0</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 11:03:06</td>
|
|
||||||
<td>31</td>
|
|
||||||
<td>12.0</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 10:54:30</td>
|
|
||||||
<td>30</td>
|
|
||||||
<td>11.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 10:49:27</td>
|
|
||||||
<td>29</td>
|
|
||||||
<td>11.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 10:45:43</td>
|
|
||||||
<td>28</td>
|
|
||||||
<td>11.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 10:41:39</td>
|
|
||||||
<td>27</td>
|
|
||||||
<td>11.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 10:38:39</td>
|
|
||||||
<td>26</td>
|
|
||||||
<td>11.5</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-27">27.2.2023 10:36:32</td>
|
|
||||||
<td>25</td>
|
|
||||||
<td>12.0</td>
|
|
||||||
<td>1020</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@@ -872,60 +305,6 @@
|
|||||||
<td>01:58</td>
|
<td>01:58</td>
|
||||||
<td>OK</td>
|
<td>OK</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-7">7.2.2023 20:10:07</td>
|
|
||||||
<td>-32</td>
|
|
||||||
<td>0.0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0.00</td>
|
|
||||||
<td>00:00</td>
|
|
||||||
<td>valve seal error</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-7">7.2.2023 20:02:52</td>
|
|
||||||
<td>-32</td>
|
|
||||||
<td>0.0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0.00</td>
|
|
||||||
<td>00:00</td>
|
|
||||||
<td>valve seal error</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-7">7.2.2023 20:01:55</td>
|
|
||||||
<td>-32</td>
|
|
||||||
<td>0.0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0.00</td>
|
|
||||||
<td>00:00</td>
|
|
||||||
<td>valve seal error</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-7">7.2.2023 19:56:35</td>
|
|
||||||
<td>-32</td>
|
|
||||||
<td>0.0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0.00</td>
|
|
||||||
<td>00:00</td>
|
|
||||||
<td>valve seal error</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-7">7.2.2023 19:54:28</td>
|
|
||||||
<td>-32</td>
|
|
||||||
<td>0.0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0.00</td>
|
|
||||||
<td>00:00</td>
|
|
||||||
<td>valve seal error</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td data-target="2023-2-7">7.2.2023 19:52:21</td>
|
|
||||||
<td>-32</td>
|
|
||||||
<td>0.0</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td>0.00</td>
|
|
||||||
<td>00:00</td>
|
|
||||||
<td>valve seal error</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
@@ -951,243 +330,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
|
||||||
$(document).ready(function() {
|
|
||||||
$('h1').html('RAINS logs');
|
|
||||||
|
|
||||||
function gth(i) {
|
|
||||||
var html = ' < div class = "table-responsive" > < table class = "table mt-2" > < thead > < tr > < th > Date / Time < /th> < th > Temperature[ & deg; C] < /th> < th > Relative humidity[ % ] < /th> < th > Pressure[hPa] < /th>';if(i==1){html+=' < th > Pressure difference[hPa] < /th> < th > Duration[m: s] < /th> < th > Result < /th>'}html+=' < /tr> < /thead>';if(i==0){html+=' < tbody id = "sensd" > '} else {html+=' < tbody id = "presr" > '}html+=' < /tbody> < /table> < /div>';return html}var html=' < div class = "col-12" > < ul class = "nav nav-tabs"
|
|
||||||
id = "tab" > < li class = "nav-item" > < a class = "nav-link active"
|
|
||||||
href = "#sl" > Sensors < /a> < /li> < li class = "nav-item" > < a class = "nav-link"
|
|
||||||
href = "#pl" > Pressure measurements < /a> < /li> < /ul> < div class = "tab-content" > < div class = "tab-pane fade show active"
|
|
||||||
id = "sl"
|
|
||||||
role = "tabpanel" > ';html+=' < div class = "row" > < div class = "col-12 box-c mt-2 mb-2" > ';html+=' < h2 id = "sta_err" > < button class = "btn btn-primary btn-pm collapsed"
|
|
||||||
type = "button"
|
|
||||||
data - toggle = "collapse"
|
|
||||||
data - target = "#lfb" > < i class = "blue" > < /i> < /button>';html+=' Logs filter';html+=' < /h2>';html+=' < div class = "box collapse clearfix"
|
|
||||||
id = "lfb" > ';html+=' < div class = "form-row" > ';html+=c_dt('
|
|
||||||
fsd ','
|
|
||||||
Start date ','
|
|
||||||
','
|
|
||||||
col - auto ','
|
|
||||||
date ');html+=c_dt('
|
|
||||||
fed ','
|
|
||||||
End date ','
|
|
||||||
','
|
|
||||||
col - auto ','
|
|
||||||
date ');html+=' < /div>';html+=c_fsens(0,'Temperature','°C');html+=c_fsens(1,'Relative humidity','%');html+=c_fsens(2,'Pressure','hPa');html+=' < div class = "float-right" > < button type = "button"
|
|
||||||
class = "btn btn-primary mr06"
|
|
||||||
id = "fap" > Apply filter < /button> < button type = "button"
|
|
||||||
class = "btn btn-primary"
|
|
||||||
id = "fcl" > Clear filter < /button> < /div>';html+=' < /div>';html+=' < /div>';html+=' < /div>';html += ' < div class = "clearfix mt-2" > < button class = "btn btn-primary float-right dslog" > Download log file < /button> < /div>';html+=gth(0);html +=' < /div> < div class = "tab-pane fade"
|
|
||||||
id = "pl"
|
|
||||||
role = "tabpanel" > < div class = "clearfix mt-2" > < button class = "btn btn-primary float-right dsprs" > Download measurements file < /button> < /div>';html+=gth(1);html +=' < /div> < /div> < /div>';$('#boxes').html(html);$('#tab a').on('click',function (e){e.preventDefault();$('#tab a').removeClass('active');$(this).addClass('active');var o=$($(this).attr('href'));o.parent().find('div.tab-pane').removeClass('show active');o.addClass('show active')});var df='';var def='';function filter_item(o){var dsp=true;if(df!=''){var dr=o.find('td').eq(0).attr('data-target');if(Date.parse(dr) > Date.parse(df)) dsp=false}if(def!=''){var dr=o.find('td').eq(0).attr('data-target');if(Date.parse(dr) < Date.parse(def)) dsp = false
|
|
||||||
}
|
|
||||||
var vf;
|
|
||||||
var v;
|
|
||||||
for (i = 0; i < 3; i++) {
|
|
||||||
if (dsp && ($('#fts' + i).val() > 0)) {
|
|
||||||
if (i == 1) {
|
|
||||||
vf = parseFloat($('#ftv' + i).val());
|
|
||||||
v = parseFloat(o.find('td').eq(i + 1).html())
|
|
||||||
} else {
|
|
||||||
vf = parseInt($('#ftv' + i).val());
|
|
||||||
v = parseInt(o.find('td').eq(i + 1).html())
|
|
||||||
}
|
|
||||||
switch (parseInt($('#fts' + i).val())) {
|
|
||||||
case 1:
|
|
||||||
if (v != vf) dsp = false;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if (v >= vf) dsp = false;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if (v <= vf) dsp = false;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
if (v > vf) dsp = false;
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
if (v < vf) dsp = false;
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (dsp) o.show();
|
|
||||||
else o.hide()
|
|
||||||
}
|
|
||||||
|
|
||||||
function fils(json, d, t) {
|
|
||||||
var stmp = json['data'].split(' ')[0].split('.');
|
|
||||||
stmp = stmp[2] + '-' + stmp[1] + '-' + stmp[0];
|
|
||||||
var l = ' < tr > ';l+=' < td data - target = "'+stmp+'" > '+json['
|
|
||||||
data ']+' < /td>';l+=' < td > '+json['
|
|
||||||
t ']+' < /td>';l+=' < td > '+json['
|
|
||||||
r ']+' < /td>';l+=' < td > '+json['
|
|
||||||
p ']+' < /td>';if(t==1){l+=' < td > '+json['
|
|
||||||
pd ']+' < /td>';l+=' < td > '+json['
|
|
||||||
mt ']+' < /td>';l+=' < td > '+json['
|
|
||||||
res ']+' < /td>'}l+=' < /tr>';var o='#sensd';if(t==1) o='#presr';if(d){$(o).prepend(l);if(t==0){filter_item($(o).find('tr').first())}} else {$(o).append(l);if(t==0){filter_item($(o).find('tr').last())}}}var lfn='data';$('.dslog').bind('click',function(){var p='';if($('#fap').hasClass('btn-danger')){var d=new Date($('#fsd').val());if(!!d.valueOf()){p+='&sdy='+d.getFullYear();p+='&sdm='+(d.getMonth()+1);p+='&sdd='+d.getDate()}d=new Date($('#fed').val());if(!!d.valueOf()){p+='&edy='+d.getFullYear();p+='&edm='+(d.getMonth()+1);p+='&edd='+d.getDate()}for (i=0;i < 3;
|
|
||||||
i++) {
|
|
||||||
if ($('#fts' + i).val() > 0) {
|
|
||||||
if (p.length) p += '&';
|
|
||||||
var mul = 1;
|
|
||||||
var add = 0;
|
|
||||||
switch (i) {
|
|
||||||
case 0:
|
|
||||||
add = 32;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
mul = 2;
|
|
||||||
break
|
|
||||||
}
|
|
||||||
p += 'fts' + i + '=' + $('#fts' + i).val() + '&';
|
|
||||||
p += 'ftv' + i + '=' + Math.floor($('#ftv' + i).val() * mul + add)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
do_ajax('/dl_logf', p, function(json) {
|
|
||||||
if (json) {
|
|
||||||
location = 'sensors-' + lfn + '.csv';
|
|
||||||
close_modal()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
|
||||||
$('.dsprs').bind('click', function() {
|
|
||||||
location = 'pressure-tests-' + lfn + '.csv';
|
|
||||||
close_modal()
|
|
||||||
});
|
|
||||||
do_ajax('/status_i', {}, function(json) {
|
|
||||||
if (json) {
|
|
||||||
ptit(json['pt']);
|
|
||||||
lfn = json['lfn']
|
|
||||||
}
|
|
||||||
});
|
|
||||||
var dlti = 0;
|
|
||||||
var dli = 0;
|
|
||||||
var secs = Math.round(new Date().getTime() / 1000);
|
|
||||||
|
|
||||||
function dlr() {
|
|
||||||
do_ajax('/dl_log', 'i=' + dli, function(json) {
|
|
||||||
if (json) {
|
|
||||||
var nsecs = Math.round(new Date().getTime() / 1000);
|
|
||||||
if ((nsecs - secs) >= 60) {
|
|
||||||
window.location = '/sensors'
|
|
||||||
} else {
|
|
||||||
secs = nsecs;
|
|
||||||
if (json['data']) {
|
|
||||||
if (json['type'] == 0) fils(json, dli, json['type']);
|
|
||||||
setTimeout(dlr, 4)
|
|
||||||
} else {
|
|
||||||
if (dli == 0) dli = 1;
|
|
||||||
setTimeout(dlr, 4000)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
setTimeout(dlr, 2000)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
dlr();
|
|
||||||
var pti = 2;
|
|
||||||
|
|
||||||
function ptr() {
|
|
||||||
do_ajax('/dl_log', 'i=' + pti, function(json) {
|
|
||||||
if (json) {
|
|
||||||
if (json['data']) {
|
|
||||||
fils(json, pti - 2, json['type']);
|
|
||||||
setTimeout(ptr, 4)
|
|
||||||
} else {
|
|
||||||
if (pti == 2) pti = 3;
|
|
||||||
setTimeout(ptr, 4000)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
ptr();
|
|
||||||
$('#fap').bind('click', function() {
|
|
||||||
var ec = 0;
|
|
||||||
var er = 0;
|
|
||||||
for (i = 0; i < 3; i++) {
|
|
||||||
$('#ftv' + i).removeClass('is-invalid');
|
|
||||||
var r;
|
|
||||||
if (i == 1) r = parseFloat($('#ftv' + i).val());
|
|
||||||
else r = parseInt($('#ftv' + i).val());
|
|
||||||
if ($('#fts' + i).val() > 0) {
|
|
||||||
if (isNaN(r)) {
|
|
||||||
$('#ftv' + i).addClass('is-invalid');
|
|
||||||
er++
|
|
||||||
} else ec++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var d = new Date($('#fsd').val());
|
|
||||||
if (!!d.valueOf()) {
|
|
||||||
df = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
|
|
||||||
ec++
|
|
||||||
}
|
|
||||||
d = new Date($('#fed').val());
|
|
||||||
if (!!d.valueOf()) {
|
|
||||||
def = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
|
|
||||||
ec++
|
|
||||||
}
|
|
||||||
if (ec > 0) {
|
|
||||||
$(this).addClass('btn-danger');
|
|
||||||
document.cookie = 'fsd=' + $('#fsd').val();
|
|
||||||
document.cookie = 'fed=' + $('#fed').val();
|
|
||||||
for (i = 0; i < 3; i++) {
|
|
||||||
document.cookie = 'ftv' + i + '=' + $('#ftv' + i).val();
|
|
||||||
document.cookie = 'fts' + i + '=' + $('#fts' + i).val()
|
|
||||||
}
|
|
||||||
if ($('#sta_err>button').hasClass('collapsed')) {
|
|
||||||
$('#sta_err>button').click()
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$(this).removeClass('btn-danger');
|
|
||||||
if (er > 0) return
|
|
||||||
}
|
|
||||||
$('#sensd tr').each(function(e) {
|
|
||||||
filter_item($(this))
|
|
||||||
})
|
|
||||||
});
|
|
||||||
$('#fsd').bind('change', function() {
|
|
||||||
if ($('#fsd').val().length === 0) {
|
|
||||||
df = '';
|
|
||||||
$('#fap').click()
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$('#fed').bind('change', function() {
|
|
||||||
if ($('#fed').val().length === 0) {
|
|
||||||
def = '';
|
|
||||||
$('#fap').click()
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$('#fcl').bind('click', function() {
|
|
||||||
$('#lfb select').val('0');
|
|
||||||
$('#lfb input[type=text]').val('');
|
|
||||||
$('#sensd tr').show();
|
|
||||||
df = '';
|
|
||||||
def = '';
|
|
||||||
for (i = 0; i < 3; i++) {
|
|
||||||
$('#ftv' + i).removeClass('is-invalid')
|
|
||||||
}
|
|
||||||
$('#fap').removeClass('btn-danger');
|
|
||||||
$('#fsd').val('');
|
|
||||||
$('#fed').val('');
|
|
||||||
document.cookie = 'fsd=';
|
|
||||||
document.cookie = 'fed=';
|
|
||||||
for (i = 0; i < 3; i++) {
|
|
||||||
document.cookie = 'ftv' + i + '=';
|
|
||||||
document.cookie = 'fts' + i + '='
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$('#fsd').val(get_cookie('fsd', ''));
|
|
||||||
$('#fed').val(get_cookie('fed', ''));
|
|
||||||
for (i = 0; i < 3; i++) {
|
|
||||||
$('#ftv' + i).val(get_cookie('ftv' + i, ''));
|
|
||||||
$('#fts' + i).val(get_cookie('fts' + i, 0))
|
|
||||||
}
|
|
||||||
$('#fap').click()
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user