49 row = records[i]; |
49 row = records[i]; |
50 data.push(row); |
50 data.push(row); |
51 } |
51 } |
52 return data; |
52 return data; |
53 }, |
53 }, |
54 loadError: function(jqXHR, status, error) { |
54 loadError: function(jqXHR, status, error) { console.log(status + ' ' + error); }, |
55 $('#err').text(status + ' ' + error); |
|
56 }, |
|
57 }), |
55 }), |
58 gaugeoptionst = { |
56 gaugeoptionst = { |
59 min: 10, max: 40, width: 375, height: 375, |
57 min: 10, max: 40, width: 375, height: 375, |
60 ranges: [{ startValue: 10, endValue: 20, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 }, |
58 ranges: [{ startValue: 10, endValue: 20, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 }, |
61 { startValue: 20, endValue: 28, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 }, |
59 { startValue: 20, endValue: 28, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 }, |
91 { name: 'beername', type: 'string' }, |
89 { name: 'beername', type: 'string' }, |
92 { name: 'beeruuid', type: 'string' }, |
90 { name: 'beeruuid', type: 'string' }, |
93 { name: 'mode', type: 'string' }, |
91 { name: 'mode', type: 'string' }, |
94 { name: 'alarm', type: 'int' }, |
92 { name: 'alarm', type: 'int' }, |
95 { name: 'temperature_state', type: 'string' }, |
93 { name: 'temperature_state', type: 'string' }, |
|
94 { name: 'temperature_address', type: 'string' }, |
96 { name: 'temperature', type: 'float' }, |
95 { name: 'temperature', type: 'float' }, |
97 { name: 'pressure_state', type: 'string' }, |
96 { name: 'pressure_state', type: 'string' }, |
|
97 { name: 'pressure_channel', type: 'int' }, |
|
98 { name: 'pressure_voltage', type: 'float' }, |
|
99 { name: 'pressure_zero', type: 'float' }, |
98 { name: 'pressure_bar', type: 'float' } |
100 { name: 'pressure_bar', type: 'float' } |
99 ], |
101 ], |
100 id: 'record', |
102 id: 'record', |
101 url: url |
103 url: url |
102 }, |
104 }, |
103 dataAdapter = new $.jqx.dataAdapter(source, { |
105 dataAdapter = new $.jqx.dataAdapter(source, { |
104 loadComplete: function(records) { |
106 loadComplete: function(records) { |
105 record = dataAdapter.records[0]; |
107 record = dataAdapter.records[0]; |
|
108 updateScreen(); |
|
109 blank['name'] = record.alias; |
|
110 blank['code'] = record.alias.toUpperCase(); |
|
111 blank['uuid'] = record.uuid; |
|
112 } |
|
113 }); |
|
114 |
|
115 function updateScreen() { |
106 var oline = (record.online) ? 'On-line' : 'Off-line'; |
116 var oline = (record.online) ? 'On-line' : 'Off-line'; |
107 $('#info_uuid').html(record.uuid); |
117 $('#info_uuid').html(record.uuid); |
108 $('#info_system').html(record.node + '/' + record.alias); |
118 $('#info_system').html(record.node + '/' + record.alias); |
109 $('#info_online').html(oline); |
119 $('#info_online').html(oline); |
110 $('#info_beer').html(record.beercode + ' - ' + record.beername); |
120 $('#info_beer').html(record.beercode + ' - ' + record.beername); |
111 $('#info_mode').html(record.mode); |
121 $('#info_mode').html(record.mode); |
112 blank['name'] = record.alias; |
|
113 blank['code'] = record.alias.toUpperCase(); |
|
114 blank['uuid'] = record.uuid; |
|
115 |
122 |
116 if (record.online && (record.mode != 'OFF')) { |
123 if (record.online && (record.mode != 'OFF')) { |
117 $('#co2meter_powerled').html('<div class="LEDblue_on"></div>Power'); |
124 $('#co2meter_powerled').html('<div class="LEDblue_on"></div>Power'); |
118 $('#select_beer').jqxDropDownList({ disabled: true }); |
125 $('#select_beer').jqxDropDownList({ disabled: true }); |
119 $('#select_beer').jqxDropDownList('clearSelection'); |
126 $('#select_beer').jqxDropDownList('clearSelection'); |
175 datarecord = productlist.records[index]; |
181 datarecord = productlist.records[index]; |
176 record.beercode = datarecord.code; |
182 record.beercode = datarecord.code; |
177 record.beername = datarecord.name; |
183 record.beername = datarecord.name; |
178 record.beeruuid = datarecord.uuid; |
184 record.beeruuid = datarecord.uuid; |
179 console.log('Select beer ' + record.beercode + ', ' + record.beername); |
185 console.log('Select beer ' + record.beercode + ', ' + record.beername); |
180 var msg = '{"device":"co2meters","node":"' + record.node + '","unit":"' + record.alias + |
186 websocket.send('{"device":"co2meters","node":"' + record.node + '","unit":"' + record.alias + |
181 '","beeruuid":"' + record.beeruuid + '","beercode":"' + record.beercode + '","beername":"' + record.beername + '"}'; |
187 '","beeruuid":"' + record.beeruuid + '","beercode":"' + record.beercode + '","beername":"' + record.beername + '"}'); |
182 websocket.send(msg); |
|
183 } |
188 } |
184 }); |
189 }); |
185 |
190 |
186 // The chart button. |
191 // The chart button. |
187 $('#FLog').jqxButton({ template: 'primary', width: '150px', theme: theme }); |
192 $('#FLog').jqxButton({ template: 'primary', width: '150px', theme: theme }); |
192 websocket.onmessage = function(evt) { |
197 websocket.onmessage = function(evt) { |
193 var msg = evt.data; |
198 var msg = evt.data; |
194 var obj = JSON.parse(msg); |
199 var obj = JSON.parse(msg); |
195 if (obj.device == "co2meters" && obj.node == record.node && obj.unit == record.alias) { |
200 if (obj.device == "co2meters" && obj.node == record.node && obj.unit == record.alias) { |
196 console.log('ws got this device ' + msg); |
201 console.log('ws got this device ' + msg); |
|
202 record.online = obj.online; |
197 if (obj.online) { |
203 if (obj.online) { |
198 $('#info_online').html('On-line'); |
204 record.beeruuid = obj.beeruuid; |
199 } else { |
205 record.beercode = obj.beercode; |
200 $('#info_online').html('Off-line'); |
206 record.beername = obj.beername; |
201 } |
207 record.mode = obj.mode; |
202 $('#info_beer').html(obj.beercode + ' - ' + obj.beername); |
208 record.alarm = obj.alarm; |
203 $('#info_mode').html(obj.mode); |
209 record.temperature_state = obj.temperature_state; |
204 if (obj.online && obj.mode != 'OFF') { |
210 record.temperature_address = obj.temperature_address; |
205 $('#co2meter_powerled').html('<div class="LEDblue_on"></div>Power'); |
211 record.temperature = obj.temperature; |
206 $('#select_beer').jqxDropDownList({ disabled: true }); |
212 record.pressure_state = obj.pressure_state; |
207 $('#select_beer').jqxDropDownList('clearSelection'); |
213 record.pressure_channel = obj.pressure_channel; |
208 $('#select_beer').hide(); |
214 record.pressure_voltage = obj.pressure_voltage; |
209 } else { |
215 record.pressure_zero = obj.pressure_zero; |
210 $('#co2meter_powerled').html('<div class="LEDblue_off"></div>Power'); |
216 record.pressure_bar = obj.pressure_bar; |
211 $('#select_beer').show(); |
217 } |
212 $('#select_beer').jqxDropDownList({ disabled: false }); |
218 updateScreen(); |
213 } |
|
214 if (obj.online && (obj.alarm != '0')) { |
|
215 $('#co2meter_alarmled').html('<div class="LEDred_on"></div>Alarm'); |
|
216 } else { |
|
217 $('#co2meter_alarmled').html('<div class="LEDred_off"></div>Alarm'); |
|
218 } |
|
219 |
|
220 $('#gaugeContainer_temperature').jqxGauge({ caption: { value: 'Temp: ' + obj.temperature.toFixed(3) }}); |
|
221 $('#gaugeContainer_temperature').jqxGauge({ value: obj.temperature }); |
|
222 $('#gaugeContainer_pressure').jqxGauge({ caption: { value: 'Bar: ' + obj.pressure_bar.toFixed(2) }}); |
|
223 $('#gaugeContainer_pressure').jqxGauge({ value: obj.pressure_bar }); |
|
224 |
|
225 } |
219 } |
226 ws_global(msg); |
220 ws_global(msg); |
227 } |
221 } |
228 }); |
222 }); |