diff -r b4bfed3684d0 -r e75ce5bbda73 www/js/mon_ispindel.js --- a/www/js/mon_ispindel.js Fri Jan 03 15:21:22 2020 +0100 +++ b/www/js/mon_ispindel.js Sun Jan 05 11:42:02 2020 +0100 @@ -1,5 +1,5 @@ /***************************************************************************** - * Copyright (C) 2019 + * Copyright (C) 2019-2020 * * Michiel Broek * @@ -26,6 +26,7 @@ var record = {}, blank = {}, newProduct = false, + newMode = false, schedule = 0, productSource = { @@ -81,23 +82,25 @@ colorScheme: 'scheme05', showRanges: false }, - url = 'getispindel.php?node="' + my_uuid + '"', + url = 'getispindel.php?uuid="' + my_uuid + '"', source = { datatype: 'json', datafields: [ { name: 'record', type: 'int' }, + { name: 'uuid', type: 'string' }, + { name: 'alias', type: 'string' }, { name: 'node', type: 'string' }, { name: 'online', type: 'int' }, { name: 'beercode', type: 'string' }, { name: 'beername', type: 'string' }, { name: 'beeruuid', type: 'string' }, { name: 'alarm', type: 'int' }, - { name: 'tilt', type: 'float' }, + { name: 'angle', type: 'float' }, { name: 'temperature', type: 'float' }, { name: 'battery', type: 'float' }, { name: 'gravity', type: 'float' }, - { name: 'interval', type: 'int' }, - { name: 'rssi', type: 'int' } + { name: 'up_interval', type: 'int' }, + { name: 'mode', type: 'string' } ], id: 'record', url: url @@ -106,14 +109,16 @@ loadComplete: function(records) { record = dataAdapter.records[0]; var oline = (record.online) ? 'On-line' : 'Off-line'; - $('#info_system').html(record.node); + $('#info_uuid').html(record.uuid); + $('#info_system').html(record.node + '/' + record.alias); $('#info_online').html(oline); $('#info_beer').html(record.beercode + ' - ' + record.beername); -// blank['name'] = record.alias; -// blank['code'] = record.alias.toUpperCase(); -// blank['uuid'] = record.uuid; + $('#info_mode').jqxDropDownList('selectItem', record.mode); + blank['name'] = record.alias; + blank['code'] = record.alias.toUpperCase(); + blank['uuid'] = record.uuid; - if (record.online) { + if (record.online && (record.mode != 'OFF')) { $('#ispindel_powerled').html('
Power'); $('#select_beer').jqxDropDownList({ disabled: true }); $('#select_beer').jqxDropDownList('clearSelection'); @@ -133,8 +138,7 @@ $('#gaugeContainer_temperature').jqxGauge({ value: record.temperature }); $('#info_battery').val(record.battery); - $('#info_rssi').val(record.rssi); - $('#info_tilt').val(record.tilt); + $('#info_tilt').val(record.angle); gravity = plato_to_sg(record.gravity) * 1000; $('#gaugeContainer_gravity').jqxLinearGauge({ value: gravity }); @@ -157,17 +161,19 @@ }); $('#info_battery').jqxNumberInput(Show3dec); - $('#info_rssi').jqxNumberInput(Show0dec); $('#info_tilt').jqxNumberInput(Show3dec); $('#gaugeContainer_temperature').jqxGauge(gaugeoptionst); $('#gaugeContainer_temperature').jqxGauge({ caption: { value: 'Temp: 00.000' }}); $('#gaugeContainer_gravity').jqxLinearGauge(gaugeoptionsg); + srcMode = ['OFF', 'ON']; + $('#info_mode').jqxDropDownList({ theme: theme, source: srcMode, width: 100, height: 24, dropDownHeight: 65 }); + function sendProduct(code, name, uuid) { console.log('sendProduct(' + code + ', ' + name + ', ' + uuid + ')'); - var data = 'node=' + record.node + '&beeruuid=' + uuid + '&beercode=' + code + '&beername=' + name; + var data = 'uuid=' + record.uuid + '&beeruuid=' + uuid + '&beercode=' + code + '&beername=' + name; $.ajax({ url: 'cmd_ispindel.php', data: data, @@ -177,10 +183,28 @@ }); } + function sendMode(mode) { + + console.log('sendMode(' + mode + ')'); + var data = 'uuid=' + record.uuid + '&mode=' + mode; + $.ajax({ + url: 'cmd_ispindel.php', + data: data, + type: 'POST', + success: function(data) {}, + error: function(jqXHR, textStatus, errorThrown) { console.log('sendMode() error'); } + }); + } + // Get the data immediatly and then at regular intervals to refresh. dataAdapter.dataBind(); setInterval(function() { var skip = false; + if (newMode) { + sendMode(record.mode); + newMode = false; + skip = true; + } if (newProduct) { sendProduct(record.beercode, record.beername, record.beeruuid); newProduct = false; @@ -209,6 +233,13 @@ newProduct = true; } }); + $('#info_mode').on('change', function(event) { + var args = event.args; + if (args) { + record.mode = args.item.value; + } + newMode = true; + }); // The chart button. $('#VLog').jqxButton({ template: 'primary', width: '150px', theme: theme });