www/js/mon_co2meter.js

changeset 506
8ab0e87d579e
parent 505
c09b67fd8323
child 507
17f244137a9b
equal deleted inserted replaced
505:c09b67fd8323 506:8ab0e87d579e
23 23
24 $(document).ready(function () { 24 $(document).ready(function () {
25 25
26 var record = {}, 26 var record = {},
27 blank = {}, 27 blank = {},
28 // newBase = false, 28 newProduct = false,
29 // newProduct = false,
30 schedule = 0, 29 schedule = 0,
31 30
32 productSource = { 31 productSource = {
33 datatype: "json", 32 datatype: "json",
34 cache: false, 33 cache: false,
41 url: "includes/db_product.php?select=ferment" 40 url: "includes/db_product.php?select=ferment"
42 }, 41 },
43 productlist = new $.jqx.dataAdapter(productSource, { 42 productlist = new $.jqx.dataAdapter(productSource, {
44 beforeLoadComplete: function (records) { 43 beforeLoadComplete: function (records) {
45 var row, i, data = new Array(); 44 var row, i, data = new Array();
46 // Create a dummy beer on top to store in idle fermenters. 45 // Create a dummy beer on top to store in idle meters.
47 blank['code'] = "Free"; // Will override this later. 46 blank['code'] = "Free"; // Will override this later.
48 blank['name'] = 'Dummy'; 47 blank['name'] = 'Dummy';
49 blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5'; 48 blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5';
50 data.push(blank); 49 data.push(blank);
51 for (i = 0; i < records.length; i++) { 50 for (i = 0; i < records.length; i++) {
57 loadError: function(jqXHR, status, error) { 56 loadError: function(jqXHR, status, error) {
58 $('#err').text(status + ' ' + error); 57 $('#err').text(status + ' ' + error);
59 }, 58 },
60 }), 59 }),
61 gaugeoptionst = { 60 gaugeoptionst = {
62 min: 0, max: 40, width: 375, height: 375, 61 min: 10, max: 40, width: 375, height: 375,
63 ranges: [{ startValue: 0, endValue: 20, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 }, 62 ranges: [{ startValue: 10, endValue: 20, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
64 { startValue: 20, endValue: 26, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 }, 63 { startValue: 20, endValue: 28, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
65 { startValue: 26, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }], 64 { startValue: 28, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
66 ticksMinor: { interval: 1, size: '5%' }, 65 ticksMinor: { interval: 1, size: '5%' },
67 ticksMajor: { interval: 5, size: '9%' }, 66 ticksMajor: { interval: 5, size: '9%' },
68 labels: { interval: 5 }, 67 labels: { interval: 5 },
69 style: { fill: '#eeeeee', stroke: '#666666' }, 68 style: { fill: '#eeeeee', stroke: '#666666' },
70 value: 0, 69 value: 0,
108 record = dataAdapter.records[0]; 107 record = dataAdapter.records[0];
109 var oline = (record.online) ? "On-line" : "Off-line"; 108 var oline = (record.online) ? "On-line" : "Off-line";
110 $("#info_uuid").html(record.uuid); 109 $("#info_uuid").html(record.uuid);
111 $("#info_system").html(record.node + "/" + record.alias); 110 $("#info_system").html(record.node + "/" + record.alias);
112 $("#info_online").html(oline); 111 $("#info_online").html(oline);
113 $("#info_mode").jqxDropDownList('selectItem', record.mode); 112 $("#info_beer").html(record.beercode + " - " + record.beername);
113 $("#info_mode").html(record.mode);
114 blank['name'] = record.alias; 114 blank['name'] = record.alias;
115 blank['code'] = record.alias.toUpperCase(); 115 blank['code'] = record.alias.toUpperCase();
116 blank['uuid'] = record.uuid; 116 blank['uuid'] = record.uuid;
117 117
118 if (record.online && (record.mode != "OFF")) { 118 if (record.online && (record.mode != "OFF")) {
119 $("#co2meter_powerled").html('<div class="LEDblue_on"></div>Power'); 119 $("#co2meter_powerled").html('<div class="LEDblue_on"></div>Power');
120 $("#select_beer").jqxDropDownList({ disabled: true });
121 $("#select_beer").jqxDropDownList('clearSelection');
122 $("#select_beer").hide();
120 } else { 123 } else {
121 $("#co2meter_powerled").html('<div class="LEDblue_off"></div>Power'); 124 $("#co2meter_powerled").html('<div class="LEDblue_off"></div>Power');
125 $("#select_beer").show();
126 $("#select_beer").jqxDropDownList({ disabled: false });
127
122 } 128 }
123 if (record.online && (record.alarm != "0")) { 129 if (record.online && (record.alarm != "0")) {
124 $("#co2meter_alarmled").html('<div class="LEDred_on"></div>Alarm'); 130 $("#co2meter_alarmled").html('<div class="LEDred_on"></div>Alarm');
125 } else { 131 } else {
126 $("#co2meter_alarmled").html('<div class="LEDred_off"></div>Alarm'); 132 $("#co2meter_alarmled").html('<div class="LEDred_off"></div>Alarm');
161 $("#gaugeContainer_temperature").jqxGauge( gaugeoptionst ); 167 $("#gaugeContainer_temperature").jqxGauge( gaugeoptionst );
162 $("#gaugeContainer_temperature").jqxGauge( { caption: { value: 'Temp: 00.000' }} ); 168 $("#gaugeContainer_temperature").jqxGauge( { caption: { value: 'Temp: 00.000' }} );
163 $("#gaugeContainer_pressure").jqxGauge( gaugeoptionsp ); 169 $("#gaugeContainer_pressure").jqxGauge( gaugeoptionsp );
164 $("#gaugeContainer_pressure").jqxGauge( { caption: { value: 'Bar: 00.000' }} ); 170 $("#gaugeContainer_pressure").jqxGauge( { caption: { value: 'Bar: 00.000' }} );
165 171
166 srcMode = [ "OFF", "ON" ]; 172 function sendProduct(code, name, uuid) {
167 $("#info_mode").jqxDropDownList({ theme: theme, source: srcMode, width: 100, height: 24, dropDownHeight: 62 }); 173
168 174 console.log("sendProduct("+code+", "+name+", "+uuid+")");
169 // function sendProduct(code, name, uuid, yeast_lo, yeast_hi) { 175 var data = 'uuid='+record.uuid+'&beeruuid='+uuid+'&beercode='+code+'&beername='+name;
170 176 $.ajax({
171 // console.log("sendProduct("+code+", "+name+", "+uuid+", "+yeast_lo+", "+yeast_hi+")"); 177 url: "cmd_co2meter.php",
172 // var data = 'node='+record.node+'&alias='+record.alias+'&payload='; 178 data: data,
173 // data += '{"product":{"code":"'+code+'","name":"'+name+'","uuid":"'+uuid+'","yeast_lo":'+yeast_lo+',"yeast_hi":'+yeast_hi+'}}'; 179 type: "POST",
174 // $.ajax({ 180 success: function(data) {},
175 // url: "cmd_fermenter.php", 181 error: function(jqXHR, textStatus, errorThrown) { console.log("sendProduct() error"); }
176 // data: data, 182 });
177 // type: "POST", 183 }
178 // success: function(data) {},
179 // error: function(jqXHR, textStatus, errorThrown) { console.log("sendProduct() error"); }
180 // });
181 // }
182 184
183 // Get the data immediatly and then at regular intervals to refresh. 185 // Get the data immediatly and then at regular intervals to refresh.
184 dataAdapter.dataBind(); 186 dataAdapter.dataBind();
185 setInterval(function() { 187 setInterval(function() {
186 var skip = false; 188 var skip = false;
187 // if (newProduct) { 189 if (newProduct) {
188 // sendProduct(record.beercode, record.beername, record.beeruuid, record.yeast_lo, record.yeast_hi); 190 sendProduct(record.beercode, record.beername, record.beeruuid);
189 // newProduct = false; 191 newProduct = false;
190 // skip = true; 192 skip = true;
191 // } 193 }
192 if (skip) { 194 if (skip) {
193 schedule = 4; // 2 seconds wait to get the results 195 schedule = 4; // 2 seconds wait to get the results
194 } else { 196 } else {
195 if (schedule > 0) 197 if (schedule > 0)
196 schedule--; 198 schedule--;
200 dataAdapter.dataBind(); 202 dataAdapter.dataBind();
201 schedule = 20; 203 schedule = 20;
202 } 204 }
203 }, 500); 205 }, 500);
204 206
205 $('#info_mode').on('change', function (event) { 207 $("#select_beer").on('select', function (event) {
206 var args = event.args; 208 if (event.args) {
207 if (args) { 209 var index = event.args.index,
208 record.mode = args.item.value; 210 datarecord = productlist.records[index];
209 } 211 record.beercode = datarecord.code;
210 // newBase = true; 212 record.beername = datarecord.name;
213 record.beeruuid = datarecord.uuid;
214 newProduct = true;
215 }
211 }); 216 });
212 // $("#select_beer").on('select', function (event) {
213 // if (event.args) {
214 // var index = event.args.index,
215 // datarecord = productlist.records[index];
216 // record.beercode = datarecord.code;
217 // record.beername = datarecord.name;
218 // record.beeruuid = datarecord.uuid;
219 // record.yeast_lo = datarecord.yeast_lo;
220 // record.yeast_hi = datarecord.yeast_hi;
221 // newProduct = true;
222 // }
223 // });
224 217
225 // The chart button. 218 // The chart button.
226 $("#FLog").jqxButton({ template: "primary", width: '150px', theme: theme }); 219 $("#FLog").jqxButton({ template: "primary", width: '150px', theme: theme });
227 $("#FLog").click(function () { 220 $("#FLog").click(function () {
228 window.open('log_fermentation.php?code=' + record.beercode + '&name=' + record.beername); 221 window.open('log_co2meter.php?code=' + record.beercode + '&name=' + record.beername);
229 }); 222 });
230 }); 223 });

mercurial