www/js/mon_fermenter.js

changeset 299
047ead629d4a
parent 251
a7f25be71ba8
child 325
9a8c650972ca
equal deleted inserted replaced
298:307640ba6ab6 299:047ead629d4a
59 cache: false, 59 cache: false,
60 datafields: [ 60 datafields: [
61 { name: 'code', type: 'string' }, 61 { name: 'code', type: 'string' },
62 { name: 'name', type: 'string' }, 62 { name: 'name', type: 'string' },
63 { name: 'uuid', type: 'string' }, 63 { name: 'uuid', type: 'string' },
64 { name: 'stage', type: 'string' }, 64 { name: 'stage', type: 'int' },
65 { name: 'yeast_lo', type: 'float' },
66 { name: 'yeast_hi', type: 'float' }
65 ], 67 ],
66 id: 'code', 68 id: 'code',
67 url: "includes/db_product.php?select=ferment" 69 url: "includes/db_product.php?select=ferment"
68 }; 70 };
69 var productlist = new $.jqx.dataAdapter(productSource, { 71 var productlist = new $.jqx.dataAdapter(productSource, {
71 var data = new Array(); 73 var data = new Array();
72 // Create a dummy beer on top to store in idle fermenters. 74 // Create a dummy beer on top to store in idle fermenters.
73 blank['code'] = "Free"; // Will override this later. 75 blank['code'] = "Free"; // Will override this later.
74 blank['name'] = 'Dummy'; 76 blank['name'] = 'Dummy';
75 blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5'; 77 blank['uuid'] = '66ecccbf-e942-4a35-af49-8b02314561a5';
76 blank['stage'] = "Ready"; 78 blank['stage'] = 10;
79 blank['yeast_lo'] = 12.0;
80 blank['yeast_hi'] = 24.0;
77 data.push(blank); 81 data.push(blank);
78 for (var i = 0; i < records.length; i++) { 82 for (var i = 0; i < records.length; i++) {
79 var row = records[i]; 83 var row = records[i];
80 data.push(row); 84 data.push(row);
81 } 85 }
247 console.log("sendBase() error"); 251 console.log("sendBase() error");
248 } 252 }
249 }); 253 });
250 } 254 }
251 255
252 function sendProduct(code, name, uuid) { 256 function sendProduct(code, name, uuid, yeast_lo, yeast_hi) {
253 257
254 console.log("sendProduct("+code+", "+name+", "+uuid+")"); 258 console.log("sendProduct("+code+", "+name+", "+uuid+", "+yeast_lo+", "+yeast_hi+")");
255 var data = 'node='+record.node+'&alias='+record.alias+'&payload='; 259 var data = 'node='+record.node+'&alias='+record.alias+'&payload=';
256 data += '{"product":{"code":"'+code+'","name":"'+name+'","uuid":"'+uuid+'"}}'; 260 data += '{"product":{"code":"'+code+'","name":"'+name+'","uuid":"'+uuid+'","yeast_lo":'+yeast_lo+',"yeast_hi":'+yeast_hi+'}}';
257 $.ajax({ 261 $.ajax({
258 url: "cmd_fermenter.php", 262 url: "cmd_fermenter.php",
259 data: data, 263 data: data,
260 type: "POST", 264 type: "POST",
261 success: function(data) { 265 success: function(data) {
290 datafields: [ 294 datafields: [
291 { name: 'record', type: 'int' }, 295 { name: 'record', type: 'int' },
292 { name: 'uuid', type: 'string' }, 296 { name: 'uuid', type: 'string' },
293 { name: 'alias', type: 'string' }, 297 { name: 'alias', type: 'string' },
294 { name: 'node', type: 'string' }, 298 { name: 'node', type: 'string' },
295 { name: 'online', type: 'bool' }, 299 { name: 'online', type: 'int' },
296 { name: 'beercode', type: 'string' }, 300 { name: 'beercode', type: 'string' },
297 { name: 'beername', type: 'string' }, 301 { name: 'beername', type: 'string' },
298 { name: 'air_state', type: 'string' }, 302 { name: 'air_state', type: 'string' },
299 { name: 'air_temperature', type: 'float' }, 303 { name: 'air_temperature', type: 'float' },
300 { name: 'beer_state', type: 'string' }, 304 { name: 'beer_state', type: 'string' },
323 { name: 'profile_state', type: 'string' }, 327 { name: 'profile_state', type: 'string' },
324 { name: 'profile_percent', type: 'int' }, 328 { name: 'profile_percent', type: 'int' },
325 { name: 'profile_inittemp_high', type: 'float' }, 329 { name: 'profile_inittemp_high', type: 'float' },
326 { name: 'profile_inittemp_low', type: 'float' }, 330 { name: 'profile_inittemp_low', type: 'float' },
327 { name: 'profile_steps', type: 'string' }, 331 { name: 'profile_steps', type: 'string' },
328 { name: 'stage', type: 'string' } 332 { name: 'stage', type: 'string' },
333 { name: 'beeruuid', type: 'string' },
334 { name: 'yeast_lo', type: 'float' },
335 { name: 'yeast_hi', type: 'float' }
329 ], 336 ],
330 id: 'record', 337 id: 'record',
331 url: url 338 url: url
332 }; 339 };
333 340
457 $("#Profile1").hide(); 464 $("#Profile1").hide();
458 $("#Profile2").hide(); 465 $("#Profile2").hide();
459 $("#status_profile").html(''); 466 $("#status_profile").html('');
460 } 467 }
461 468
462 $("#gaugeContainer_air").jqxGauge( { caption: { value: 'Air: '+record.air_temperature.toFixed(3) }}); 469 yl = record.yeast_lo;
470 yh = record.yeast_hi;
471 var range = { ranges: [{ startValue: 0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
472 { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
473 { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }] };
474 $("#gaugeContainer_air").jqxGauge( range );
475 $("#gaugeContainer_beer").jqxGauge( range );
476
477 $("#gaugeContainer_air").jqxGauge({ caption: { value: 'Air: '+record.air_temperature.toFixed(3) }});
463 $('#gaugeContainer_air').jqxGauge({ value: record.air_temperature }); 478 $('#gaugeContainer_air').jqxGauge({ value: record.air_temperature });
464 if (record.air_state == "OK") { 479 if (record.air_state == "OK") {
465 $("#gaugeContainer_air").jqxGauge({ disabled: false }); 480 $("#gaugeContainer_air").jqxGauge({ disabled: false });
466 } else { 481 } else {
467 $("#gaugeContainer_air").jqxGauge({ disabled: true }); 482 $("#gaugeContainer_air").jqxGauge({ disabled: true });
468 } 483 }
469 $("#gaugeContainer_beer").jqxGauge( { caption: { value: 'Beer: '+record.beer_temperature.toFixed(3) }}); 484 $("#gaugeContainer_beer").jqxGauge({ caption: { value: 'Beer: '+record.beer_temperature.toFixed(3) }});
470 $('#gaugeContainer_beer').jqxGauge({ value: record.beer_temperature }); 485 $('#gaugeContainer_beer').jqxGauge({ value: record.beer_temperature });
471 if (record.beer_state == "OK") { 486 if (record.beer_state == "OK") {
472 $("#gaugeContainer_beer").jqxGauge({ disabled: false }); 487 $("#gaugeContainer_beer").jqxGauge({ disabled: false });
473 } else { 488 } else {
474 $("#gaugeContainer_beer").jqxGauge({ disabled: true }); 489 $("#gaugeContainer_beer").jqxGauge({ disabled: true });
495 sendSwitch(record.heater_state, record.cooler_state, record.fan_state, record.light_state); 510 sendSwitch(record.heater_state, record.cooler_state, record.fan_state, record.light_state);
496 newSwitch = false; 511 newSwitch = false;
497 skip = true; 512 skip = true;
498 } 513 }
499 if (newProduct) { 514 if (newProduct) {
500 sendProduct(record.beercode, record.beername, record.beeruuid); 515 sendProduct(record.beercode, record.beername, record.beeruuid, record.yeast_lo, record.yeast_hi);
501 newProduct = false; 516 newProduct = false;
502 skip = true; 517 skip = true;
503 } 518 }
504 if (newProfile) { 519 if (newProfile) {
505 sendProfile(ppayload); 520 sendProfile(ppayload);
535 var index = event.args.index; 550 var index = event.args.index;
536 var datarecord = productlist.records[index]; 551 var datarecord = productlist.records[index];
537 record.beercode = datarecord.code; 552 record.beercode = datarecord.code;
538 record.beername = datarecord.name; 553 record.beername = datarecord.name;
539 record.beeruuid = datarecord.uuid; 554 record.beeruuid = datarecord.uuid;
555 record.yeast_lo = datarecord.yeast_lo;
556 record.yeast_hi = datarecord.yeast_hi;
540 newProduct = true; 557 newProduct = true;
541 } 558 }
542 }); 559 });
543 $("#select_profile").on('select', function (event) { 560 $("#select_profile").on('select', function (event) {
544 if (event.args) { 561 if (event.args) {

mercurial