diff -r 6e82fece1f8f -r 14322825cb3d www/js/mon_co2meter.js --- a/www/js/mon_co2meter.js Tue May 12 16:08:30 2020 +0200 +++ b/www/js/mon_co2meter.js Thu May 14 14:38:20 2020 +0200 @@ -1,5 +1,5 @@ /***************************************************************************** - * Copyright (C) 2019 + * Copyright (C) 2019-2020 * * Michiel Broek * @@ -18,15 +18,13 @@ * You should have received a copy of the GNU General Public License * along with ThermFerm; see the file COPYING. If not, write to the Free * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - *****************************************************************************/ + */ $(document).ready(function() { var record = {}, blank = {}, - newProduct = false, - schedule = 0, productSource = { datatype: 'json', @@ -168,40 +166,8 @@ $('#gaugeContainer_pressure').jqxGauge(gaugeoptionsp); $('#gaugeContainer_pressure').jqxGauge({ caption: { value: 'Bar: 00.000' }}); - function sendProduct(code, name, uuid) { - - console.log('sendProduct(' + code + ', ' + name + ', ' + uuid + ')'); - var data = 'uuid=' + record.uuid + '&beeruuid=' + uuid + '&beercode=' + code + '&beername=' + name; - $.ajax({ - url: 'cmd_co2meter.php', - data: data, - type: 'POST', - success: function(data) {}, - error: function(jqXHR, textStatus, errorThrown) { console.log('sendProduct() error'); } - }); - } - - // Get the data immediatly and then at regular intervals to refresh. + // Get the data dataAdapter.dataBind(); - setInterval(function() { - var skip = false; - if (newProduct) { - sendProduct(record.beercode, record.beername, record.beeruuid); - newProduct = false; - skip = true; - } - if (skip) { - schedule = 4; // 2 seconds wait to get the results - } else { - if (schedule > 0) - schedule--; - } - - if (schedule <= 0) { - dataAdapter.dataBind(); - schedule = 20; - } - }, 500); $('#select_beer').on('select', function(event) { if (event.args) { @@ -210,7 +176,10 @@ record.beercode = datarecord.code; record.beername = datarecord.name; record.beeruuid = datarecord.uuid; - newProduct = true; + console.log('Select beer ' + record.beercode + ', ' + record.beername); + var msg = '{"device":"co2meters","node":"' + record.node + '","unit":"' + record.alias + + '","beeruuid":"' + record.beeruuid + '","beercode":"' + record.beercode + '","beername":"' + record.beername + '"}'; + websocket.send(msg); } }); @@ -219,4 +188,41 @@ $('#FLog').click(function() { window.open('log_co2pressure.php?code=' + record.beercode + '&name=' + record.beername); }); + + websocket.onmessage = function(evt) { + var msg = evt.data; + var obj = JSON.parse(msg); + if (obj.device == "co2meters" && obj.node == record.node && obj.unit == record.alias) { + console.log('ws got this device ' + msg); + if (obj.online) { + $('#info_online').html('On-line'); + } else { + $('#info_online').html('Off-line'); + } + $('#info_beer').html(obj.beercode + ' - ' + obj.beername); + $('#info_mode').html(obj.mode); + if (obj.online && obj.mode != 'OFF') { + $('#co2meter_powerled').html('
Power'); + $('#select_beer').jqxDropDownList({ disabled: true }); + $('#select_beer').jqxDropDownList('clearSelection'); + $('#select_beer').hide(); + } else { + $('#co2meter_powerled').html('
Power'); + $('#select_beer').show(); + $('#select_beer').jqxDropDownList({ disabled: false }); + } + if (obj.online && (obj.alarm != '0')) { + $('#co2meter_alarmled').html('
Alarm'); + } else { + $('#co2meter_alarmled').html('
Alarm'); + } + + $('#gaugeContainer_temperature').jqxGauge({ caption: { value: 'Temp: ' + obj.temperature.toFixed(3) }}); + $('#gaugeContainer_temperature').jqxGauge({ value: obj.temperature }); + $('#gaugeContainer_pressure').jqxGauge({ caption: { value: 'Bar: ' + obj.pressure_bar.toFixed(2) }}); + $('#gaugeContainer_pressure').jqxGauge({ value: obj.pressure_bar }); + + } + ws_global(msg); + } });