www/js/mon_co2meter.js

changeset 680
0bb48333d133
parent 678
14322825cb3d
child 685
a4fcdf24b5e7
equal deleted inserted replaced
679:48f8f3fce7c0 680:0bb48333d133
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');
141 if (record.pressure_state == 'OK') { 148 if (record.pressure_state == 'OK') {
142 $('#gaugeContainer_pressure').jqxGauge({ disabled: false }); 149 $('#gaugeContainer_pressure').jqxGauge({ disabled: false });
143 } else { 150 } else {
144 $('#gaugeContainer_pressure').jqxGauge({ disabled: true }); 151 $('#gaugeContainer_pressure').jqxGauge({ disabled: true });
145 } 152 }
146 } 153 }
147 });
148 154
149 $('#select_beer').jqxDropDownList({ 155 $('#select_beer').jqxDropDownList({
150 placeHolder: 'Kies bier:', 156 placeHolder: 'Kies bier:',
151 theme: theme, 157 theme: theme,
152 source: productlist, 158 source: productlist,
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 });

mercurial