mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-01-25 20:06:08 +00:00
Simplified code that generates data.json
This commit is contained in:
@@ -219,12 +219,22 @@ $(function() {
|
||||
}
|
||||
});
|
||||
|
||||
var setStatus = function(id, status) {
|
||||
var setStatus = function(id, sid) {
|
||||
var item = $('#'+id);
|
||||
item.removeClass('d-none');
|
||||
item.removeClass (function (index, className) {
|
||||
return (className.match (/(^|\s)badge-\S+/g) || []).join(' ');
|
||||
});
|
||||
var status;
|
||||
if(sid == 0) {
|
||||
status = "secondary";
|
||||
} else if(sid == 1) {
|
||||
status = "success";
|
||||
} else if(sid == 2) {
|
||||
status = "warning";
|
||||
} else {
|
||||
status = "danger";
|
||||
}
|
||||
item.addClass('badge badge-' + status);
|
||||
};
|
||||
|
||||
@@ -249,150 +259,90 @@ var fetch = function() {
|
||||
continue;
|
||||
}
|
||||
if(isNaN(str)) {
|
||||
$('.'+id).html(str);
|
||||
$('.j'+id).html(str);
|
||||
} else {
|
||||
var num = parseFloat(str);
|
||||
$('.'+id).html(num.toFixed(num < 0 ? 0 : num < 10 ? 2 : 1));
|
||||
$('.j'+id).html(num.toFixed(num < 0 ? 0 : num < 10 ? 2 : 1));
|
||||
}
|
||||
$('.r'+id).show();
|
||||
}
|
||||
|
||||
if(window.moment) {
|
||||
$('.cs').html(moment.duration(parseInt(json.uptime_seconds), 'seconds').humanize());
|
||||
$('.cs').closest('.row').show();
|
||||
$('.ju').html(moment.duration(parseInt(json.u), 'seconds').humanize());
|
||||
}
|
||||
|
||||
if(json.status) {
|
||||
for(var id in json.status) {
|
||||
setStatus(id, json.status[id]);
|
||||
setStatus("esp", json.em);
|
||||
setStatus("han", json.em == 3 ? 0 : json.hm);
|
||||
setStatus("wifi", json.em == 3 ? 0 : json.wm);
|
||||
setStatus("mqtt", json.em == 3 ? 0 : json.mm);
|
||||
|
||||
|
||||
if(im && im.gaugeMeter) {
|
||||
var v = parseInt(json.i);
|
||||
var pct = (v*100)/parseInt(json.im);
|
||||
var append = "W";
|
||||
if(v > 1000) {
|
||||
v = (v/1000).toFixed(1);
|
||||
append = "kW";
|
||||
}
|
||||
im.gaugeMeter({
|
||||
percent: pct,
|
||||
text: v,
|
||||
append: append
|
||||
});
|
||||
}
|
||||
|
||||
if(json.mqtt) {
|
||||
if(em && em.gaugeMeter && json.om) {
|
||||
var v = parseInt(json.e);
|
||||
var pct = (v*100)/(parseInt(json.om)*1000);
|
||||
var append = "W";
|
||||
if(v > 1000) {
|
||||
v = (v/1000).toFixed(1);
|
||||
append = "kW";
|
||||
}
|
||||
em.gaugeMeter({
|
||||
percent: pct,
|
||||
text: v,
|
||||
append: append
|
||||
});
|
||||
}
|
||||
|
||||
if(vm && vm.gaugeMeter && json.u1) {
|
||||
var v = parseFloat(json.u1);
|
||||
if(json.u2) {
|
||||
v = (v+parseFloat(json.u2)+parseFloat(json.u3)) / 3;
|
||||
}
|
||||
var pct = (Math.max(v-207, 1)*100/46);
|
||||
vm.gaugeMeter({
|
||||
percent: pct,
|
||||
text: v.toFixed(1)
|
||||
});
|
||||
}
|
||||
|
||||
if(am && am.gaugeMeter && json.i1 && json.mf) {
|
||||
var v = parseFloat(json.i1);
|
||||
if(json.i2) {
|
||||
v = Math.max(v, parseFloat(json.i2));
|
||||
}
|
||||
if(json.i3) {
|
||||
v = Math.max(v, parseFloat(json.i3));
|
||||
}
|
||||
var pct = (v*100)/parseInt(json.mf);
|
||||
am.gaugeMeter({
|
||||
percent: pct,
|
||||
text: v.toFixed(1)
|
||||
});
|
||||
}
|
||||
|
||||
if(json.me) {
|
||||
$('.me').addClass('d-none');
|
||||
$('.me'+json.mqtt.lastError).removeClass('d-none');
|
||||
$('#ml').html(json.mqtt.lastError);
|
||||
$('.me'+json.me).removeClass('d-none');
|
||||
$('#ml').html(json.me);
|
||||
}
|
||||
|
||||
if(json.wifi) {
|
||||
for(var id in json.wifi) {
|
||||
var str = json.wifi[id];
|
||||
dst = $('.'+id);
|
||||
if(isNaN(str)) {
|
||||
dst.html(str);
|
||||
} else {
|
||||
var num = parseFloat(str);
|
||||
dst.html(num.toFixed(0));
|
||||
$('.'+id+'-row').show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(json.data) {
|
||||
var p = 0;
|
||||
var p_pct = parseInt(json.p_pct);
|
||||
var p_append = "W";
|
||||
if(json.data.P) {
|
||||
p = parseFloat(json.data.P);
|
||||
if(p > 1000) {
|
||||
p = (p/1000).toFixed(1);
|
||||
p_append = "kW";
|
||||
}
|
||||
}
|
||||
if(im && im.gaugeMeter) {
|
||||
im.gaugeMeter({
|
||||
percent: p_pct,
|
||||
text: p,
|
||||
append: p_append
|
||||
});
|
||||
}
|
||||
|
||||
var po = 0;
|
||||
var po_pct = parseInt(json.po_pct);
|
||||
var po_append = "W";
|
||||
if(json.data.PO) {
|
||||
po = parseFloat(json.data.PO);
|
||||
if(po > 1000) {
|
||||
po = (po/1000).toFixed(1);
|
||||
po_append = "kW";
|
||||
}
|
||||
}
|
||||
if(em && em.gaugeMeter) {
|
||||
em.gaugeMeter({
|
||||
percent: po_pct,
|
||||
text: po,
|
||||
append: po_append
|
||||
});
|
||||
}
|
||||
|
||||
var v = parseFloat(json.v);
|
||||
if(v > 0) {
|
||||
var v_pct = parseInt(json.v_pct);
|
||||
|
||||
if(vm && vm.gaugeMeter) {
|
||||
vm.gaugeMeter({
|
||||
percent: v_pct,
|
||||
text: v.toFixed(1)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var a = parseFloat(json.a);
|
||||
if(a > 0) {
|
||||
var a_pct = parseInt(json.a_pct);
|
||||
|
||||
if(am && am.gaugeMeter) {
|
||||
am.gaugeMeter({
|
||||
percent: a_pct,
|
||||
text: a.toFixed(1)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
for(var id in json.data) {
|
||||
var str = json.data[id];
|
||||
if(isNaN(str)) {
|
||||
$('.'+id).html(str);
|
||||
} else {
|
||||
var num = parseFloat(str);
|
||||
$('.'+id).html(num.toFixed(1));
|
||||
$('.'+id+'-row').show();
|
||||
}
|
||||
}
|
||||
|
||||
var temp = parseInt(json.temp);
|
||||
if(temp == -127) {
|
||||
$('.temp').html("N/A");
|
||||
}
|
||||
} else {
|
||||
if(im && im.gaugeMeter) {
|
||||
im.gaugeMeter({
|
||||
percent: 0,
|
||||
text: "-",
|
||||
append: "W"
|
||||
});
|
||||
}
|
||||
|
||||
if(em && em.gaugeMeter) {
|
||||
em.gaugeMeter({
|
||||
percent: 0,
|
||||
text: "-",
|
||||
append: "W"
|
||||
});
|
||||
}
|
||||
|
||||
if(vm && vm.gaugeMeter) {
|
||||
vm.gaugeMeter({
|
||||
percent: 0,
|
||||
text: "-"
|
||||
});
|
||||
}
|
||||
|
||||
if(am && am.gaugeMeter) {
|
||||
am.gaugeMeter({
|
||||
percent: 0,
|
||||
text: "-"
|
||||
});
|
||||
}
|
||||
var temp = parseInt(json.t);
|
||||
if(temp == -127) {
|
||||
$('.jt').html("N/A");
|
||||
}
|
||||
setTimeout(fetch, interval);
|
||||
}).fail(function() {
|
||||
|
||||
Reference in New Issue
Block a user