allow min/max alerting for weight

This commit is contained in:
2021-08-21 17:06:42 +02:00
parent f8a59825e6
commit 9e494e077f
7 changed files with 131 additions and 18 deletions
+38 -4
View File
@@ -1,12 +1,13 @@
var chart;
function drawGraph(deveui, alias, property, start, stop, create_graph) {
function drawGraph(deveui, alias, property, start, stop, minmax, create_graph) {
range = ""
range = range + "&start=" + start;
range = range + "&stop=" + stop;
var label;
var labels = {};
var annotations = {};
var forceNiceScale = true;
$(".button").removeClass("is-success");
if (property=="t") {
@@ -15,12 +16,22 @@ function drawGraph(deveui, alias, property, start, stop, create_graph) {
mysubtitle = 'Temperatur in °C';
minfunc = function(min) { if (min > 0) { return 0 } else { return min } }
maxfunc = function(max) { return max + 5 }
labels = {
offsetX: 40,
offsetY: -5,
align: 'right'
};
} else if (property=="vp") {
$("#btn_vp").addClass("is-success");
label = 'Akkuladung';
mysubtitle = 'Akkuladung in Prozent';
minfunc = function(min) { return 0 }
maxfunc = function(max) { return 100 }
labels = {
offsetX: 40,
offsetY: -5,
align: 'right'
};
forceNiceScale = false;
} else if (property=="w") {
$("#btn_w").addClass("is-success");
@@ -28,9 +39,19 @@ function drawGraph(deveui, alias, property, start, stop, create_graph) {
mysubtitle = 'Gewicht in Kilogramm';
minfunc = function(min) { if (min > 5000) { return min - 2000 } else { return 0 } }
maxfunc = function(max) { return max + 2000 }
annotations = { yaxis: [
{
y: minmax.split(",")[0],
y2: minmax.split(",")[1],
borderColor: '#000',
fillColor: '#00FF00'
}
]
};
labels = {
offsetX: 50,
offsetY: -4,
offsetX: 45,
offsetY: -5,
align: 'right',
formatter: function(val, index) {
return (val / 1000.0).toFixed(3);
}
@@ -41,6 +62,11 @@ function drawGraph(deveui, alias, property, start, stop, create_graph) {
mysubtitle = 'Luftfeuchtigkeit in Prozent';
minfunc = function(min) { return 0 }
maxfunc = function(max) { return 100 }
labels = {
offsetX: 40,
offsetY: -5,
align: 'right'
};
forceNiceScale = false;
} else if (property=="p") {
$("#btn_p").addClass("is-success");
@@ -48,6 +74,11 @@ function drawGraph(deveui, alias, property, start, stop, create_graph) {
mysubtitle = 'Luftdruck in Hektopascal';
minfunc = function(min) { return 900 }
maxfunc = function(max) { return 1060 }
labels = {
offsetX: 40,
offsetY: -5,
align: 'right'
};
} else {
label = 'Unknown';
mysubtitle = 'Unknown';
@@ -113,6 +144,7 @@ function drawGraph(deveui, alias, property, start, stop, create_graph) {
max: maxfunc,
forceNiceScale: forceNiceScale,
labels: labels,
opposite: true,
floating: true
},
tooltip: {
@@ -120,6 +152,7 @@ function drawGraph(deveui, alias, property, start, stop, create_graph) {
format: 'dd.MM.yyyy HH:mm'
}
},
annotations: annotations,
series: [{
name: label,
data: mydata
@@ -145,6 +178,7 @@ var alias = urlParams.get('alias');
var property = urlParams.get('property');
var start = urlParams.get('start');
var stop = urlParams.get('stop');
var minmax = urlParams.get('minmax') || "0,0";
range="";
if (start == null) {
@@ -161,4 +195,4 @@ if (stop == null) {
$('#reportrange span').html(moment(start).locale('de').format('D. MMM YYYY') + ' - ' + moment(stop).locale('de').format('D. MMM YYYY'));
drawGraph(deveui, alias, property, start, stop, true);
drawGraph(deveui, alias, property, start, stop, minmax, true);
+6 -6
View File
@@ -24,32 +24,32 @@ $(function() {
s_start = start.utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
s_end = end.utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
//console.log("Start: " + s_start + ' End: ' + s_end + ' Property: '+ property);
drawGraph(deveui, alias, property, s_start,s_end, false);
drawGraph(deveui, alias, property, s_start,s_end, minmax, false);
}
$('#btn_w').on("click", function() {
change_property('w');
drawGraph(deveui, alias, property, s_start, s_end, false);
drawGraph(deveui, alias, property, s_start, s_end, minmax, false);
});
$('#btn_t').on("click", function() {
change_property('t');
drawGraph(deveui, alias, property, s_start, s_end, false);
drawGraph(deveui, alias, property, s_start, s_end, minmax, false);
});
$('#btn_h').on("click", function() {
change_property('h');
drawGraph(deveui, alias, property, s_start, s_end, false);
drawGraph(deveui, alias, property, s_start, s_end, minmax, false);
});
$('#btn_p').on("click", function() {
change_property('p');
drawGraph(deveui, alias, property, s_start, s_end, false);
drawGraph(deveui, alias, property, s_start, s_end, minmax, false);
});
$('#btn_vp').on("click", function() {
change_property('vp');
drawGraph(deveui, alias, property, s_start, s_end, false);
drawGraph(deveui, alias, property, s_start, s_end, minmax, false);
});
$('#reportrange').daterangepicker({
+26
View File
@@ -7,6 +7,8 @@ function validate(what, text) {
var re = /^[a-zA-Z0-9 ]{1,25}$/;
} else if (what == 'smsnumber') {
var re = /^\+[0-9]{11,11}$/;
} else if (what == 'minmax') {
var re = /^[0-9]{1,6},[0-9]{1,6}$/;
}
return re.test(text);
}
@@ -50,11 +52,13 @@ $( document ).ready(function() {
$(".show-modal").click(function() {
$("#alias_exclamation").hide();
$("#smsnumber_exclamation").hide();
$("#minmax_exclamation").hide();
var alias = $(this).prev().html();
var deveui = $(this).prev().attr('id').replace("alias_","");
$('#deveui').html(deveui);
var alarmactive = $('#alarmactive_'+deveui).html();
var smsnumber = $('#smsnumber_'+deveui).html();
var minmax = $('#minmax_'+deveui).html();
$("#alias").val(alias);
console.log(alarmactive);
@@ -64,6 +68,7 @@ $( document ).ready(function() {
$('#checkbox').prop('checked', false);
}
$("#smsnumber").val(smsnumber);
$("#minmax").val(minmax);
$("#modal").addClass("is-active");
});
@@ -183,6 +188,25 @@ $( document ).ready(function() {
$("#smsnumber_exclamation").hide();
}
if (!validate('minmax',$('#minmax').val())) {
$('#minmax_errormsg').html('Minium,Maximum, Beispiel: 20000,10000');
$("#minmax").addClass("is-danger");
$("#minmax_exclamation").show();
is_valid = false;
} else {
const minmaxArr = $('#minmax').val().split(",");
if ((Number(minmaxArr[1]) > Number(minmaxArr[0])) || (minmaxArr[1] == '0')) {
$('#minmax_errormsg').html('');
$("#minmax").removeClass("is-danger");
$("#minmax_exclamation").hide();
} else {
$('#minmax_errormsg').html('Maximum muss grösser als Minimum sein (oder 0)');
$("#minmax").addClass("is-danger");
$("#minmax_exclamation").show();
is_valid = false;
}
}
if (!(is_valid)) {
return;
}
@@ -195,6 +219,7 @@ $( document ).ready(function() {
deveui: $('#deveui').html(),
alias: $('#alias').val(),
smsnumber: $("#smsnumber").val(),
minmax: $("#minmax").val(),
alarmactive: alarmactive
},
success: function(response) {
@@ -207,6 +232,7 @@ $( document ).ready(function() {
}
$('#alarmactive_'+$('#deveui').html()).html(alarmactive);
$('#smsnumber_'+$('#deveui').html()).html($('#smsnumber').val());
$('#minmax_'+$('#deveui').html()).html($('#minmax').val());
}
},
error: function(xhr) {