www/js/mon_ispindel.js

changeset 578
e75ce5bbda73
parent 570
c8a20234d7e7
child 579
1253a237b620
--- 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 <mbroek at mbse dot eu>
  *
@@ -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('<div class="LEDblue_on"></div>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 });

mercurial