FGABreja/monitoring/templates/realtime_monitoring_js
{% load urls %}
<script>
PREBREWERY = {1: 'Insert water',
2: 'Waiting water',
3: 'Stop water'};
BREWERY = {4: 'Initial boiling',
5: 'Insert malt',
6: 'Heating',
7: 'Heat controll',
8: 'Iodine test'};
FILTERING = {9: 'Open pot valve',
10: 'Insert water',
11: 'Check level',
12: 'Stop water'};
BOILING = {13: 'Warm must',
14: 'Add hop',
15: 'Continue boiling'};
COOLING = {16: 'Turn on chiller',
17: 'Check temperature'};
FERMENTATION = {18: 'Chill must',
19: 'Maintain temperature',
20: 'Process end'};
function get_stage(state) {
if (state in PREBREWERY) {return "Pre-Brewery";}
else if (state in BREWERY) {return "Brewery";}
else if (state in FILTERING) {return "Filtering";}
else if (state in BOILING) {return "Boiling";}
else if (state in COOLING) {return "Cooling";}
else if (state in FERMENTATION) {return "Fermentation";}
}
function get_state(state) {
if (state in PREBREWERY) {return PREBREWERY[state];}
else if (state in BREWERY) {return BREWERY[state];}
else if (state in FILTERING) {return FILTERING[state];}
else if (state in BOILING) {return BOILING[state];}
else if (state in COOLING) {return COOLING[state];}
else if (state in FERMENTATION) {return FERMENTATION[state];}
}
function add_malt() {
{% insert_malt_url as url %}
$.get("{{url}}");
}
function iodine_test() {
{% iodine_test_url as url %}
$.get("{{url}}");
}
$(document).ready(function(){
$('#insert-malt-btn').click(add_malt);
var malt_modal = false;
var iodine_test_modal = false;
setInterval(function() {
$.get("{% url 'actual_process' %}", function(data) {
var process = data['objects'][0];
$('.js-stage').html(get_stage(process.state));
$('.js-state').html(get_state(process.state));
var process_date = new Date(process.initial_datetime);
$('.js-process-date').html(process_date.toDateString());
if (process.malt) {
$('.js-malt').html('check_circle');
} else {
$('.js-malt').html('highlight_off');
}
if (process.iodine_test) {
$('.js-iodine-test').html('check_circle');
} else {
$('.js-iodine-test').html('highlight_off');
}
if (process.state == 5 && !malt_modal) {
$("#malt-modal").openModal();
malt_modal = true;
}
if (process.state == 8 && !iodine_test_modal) {
$("#iodine-modal").openModal();
iodine_test_modal = true;
}
if ([1, 2, 10, 11].indexOf(process.state) > -1) {
$('.js-water').addClass('turn-on');
} else {
$('.js-water').removeClass("turn-on");
}
if ([4, 5, 6, 7, 8].indexOf(process.state) > -1) {
$('.js-resistor-1').addClass('turn-on');
} else {
$('.js-resistor-1').removeClass("turn-on");
}
if ([6, 7, 8].indexOf(process.state) > -1) {
$('.js-engine').addClass('turn-on');
} else {
$('.js-engine').removeClass("turn-on");
}
if ([13, 14, 15].indexOf(process.state) > -1) {
$('.js-resistor-2').addClass('turn-on');
} else {
$('.js-resistor-2').removeClass("turn-on");
}
if ([16, 17].indexOf(process.state) > -1) {
$('.js-chiller').addClass('turn-on');
} else {
$('.js-chiller').removeClass("turn-on");
}
if ([18, 19].indexOf(process.state) > -1) {
$('.js-freezer').addClass('turn-on');
} else {
$('.js-freezer').removeClass("turn-on");
}
})
}, 3000);
});
</script>