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 }); |