www/js/mon_fermenter.js

changeset 183
a810539dc218
parent 182
58618d93c0fb
child 184
3dbe1d2265ed
equal deleted inserted replaced
182:58618d93c0fb 183:a810539dc218
25 25
26 var bname = ''; 26 var bname = '';
27 var bcode = ''; 27 var bcode = '';
28 var yl = 12; // Normal yeast temp range 28 var yl = 12; // Normal yeast temp range
29 var yh = 24; 29 var yh = 24;
30 var bstage = '';
31 var bmode = '';
30 32
31 var gaugeoptions = { 33 var gaugeoptions = {
32 min: 0, max: 40, width: 375, height: 375, 34 min: 0, max: 40, width: 375, height: 375,
33 ranges: [{ startValue: 0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 }, 35 ranges: [{ startValue: 0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
34 { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 }, 36 { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
53 value: 0, 55 value: 0,
54 colorScheme: 'scheme05', 56 colorScheme: 'scheme05',
55 animationDuration: 1200, 57 animationDuration: 1200,
56 caption: { value: 'Chiller', position: 'bottom', offset: [0, 10] } 58 caption: { value: 'Chiller', position: 'bottom', offset: [0, 10] }
57 }; 59 };
58 60 var switchoptions = {
61 height: 68,
62 width: 35,
63 theme: theme,
64 thumbSize:'50%',
65 orientation: 'vertical'
66 };
67
68 srcMode = [ "OFF", "NONE", "FRIDGE", "BEER", "PROFILE" ];
69 srcStage = [ "PRIMARY", "SECONDARY", "TERTIARY", "CARBONATION" ];
59 $("#gaugeContainer_air").jqxGauge( gaugeoptions ); 70 $("#gaugeContainer_air").jqxGauge( gaugeoptions );
60 $("#gaugeContainer_air").jqxGauge( { caption: { value: 'Air', position: 'bottom', offset: [0, 10] }} ); 71 $("#gaugeContainer_air").jqxGauge( { caption: { value: 'Air', position: 'bottom', offset: [0, 10] }} );
61 $("#gaugeContainer_beer").jqxGauge( gaugeoptions ); 72 $("#gaugeContainer_beer").jqxGauge( gaugeoptions );
62 $("#gaugeContainer_beer").jqxGauge( { caption: { value: 'Beer', position: 'bottom', offset: [0, 10] }} ); 73 $("#gaugeContainer_beer").jqxGauge( { caption: { value: 'Beer', position: 'bottom', offset: [0, 10] }} );
63 $("#gaugeContainer_chiller").jqxGauge( gaugeSmalloptions ); 74 $("#gaugeContainer_chiller").jqxGauge( gaugeSmalloptions );
75 $("#fermenter_toggle1").jqxSwitchButton( switchoptions );
76 $("#fermenter_toggle2").jqxSwitchButton( switchoptions );
77 $("#fermenter_toggle3").jqxSwitchButton( switchoptions );
78
79 $("#info_mode").jqxDropDownList({ theme: theme, source: srcMode, width: 100, height: 23, dropDownHeight: 156 });
80 $("#info_stage").jqxDropDownList({ theme: theme, source: srcStage, width: 150, height: 23, dropDownHeight: 125 });
81
82 function sendBase(stage, mode) {
83
84 console.log("sendBase("+stage+", "+mode+")");
85 var data = 'node=rpi01&alias=unit0&payload={"stage":"' + stage;
86 data += '","mode":"' + mode + '","setpoint":{"low":17.8,"high":18.2}}';
87 $.ajax({
88 url: "cmd_fermenter.php",
89 data: data,
90 type: "POST",
91 success: function(data) {
92 //do something after something is recieved from php
93 },
94 error: function(jqXHR, textStatus, errorThrown) {
95 console.log("sendBase() error");
96 }
97 });
98 }
64 99
65 var url = "getfermenter.php?uuid='" + my_uuid + "'"; 100 var url = "getfermenter.php?uuid='" + my_uuid + "'";
66 var source = { 101 var source = {
67 datatype: "json", 102 datatype: "json",
68 datafields: [ 103 datafields: [
108 143
109 var dataAdapter = new $.jqx.dataAdapter(source, { 144 var dataAdapter = new $.jqx.dataAdapter(source, {
110 loadComplete: function (records) { 145 loadComplete: function (records) {
111 var record = dataAdapter.records[0]; 146 var record = dataAdapter.records[0];
112 var oline = (record.online) ? "On-line" : "Off-line"; 147 var oline = (record.online) ? "On-line" : "Off-line";
113 var html = "<table style='width: 100%; padding: 10px;'>"; 148 $("#info_uuid").html(record.uuid);
114 html += "<tr><th colspan=2>Klimaatkast overzicht</th></tr>"; 149 $("#info_system").html(record.node + "/" + record.alias + " " + oline);
115 html += "<tr><td>Uuid</td><td>" + record.uuid + "</td></tr>"; 150 $("#info_beer").html(record.beercode + " - " + record.beername);
116 html += "<tr><td>Systeem</td><td>" + record.node + "/" + record.alias + " " + oline + "</td></tr>";
117 html += "<tr><td>Bier</td><td>" + record.beercode + " - " + record.beername + "</td></tr>";
118 html += "<tr><td>Werking</td><td>" + record.mode + "</td></tr>";
119 html += "<tr><td>Fase</td><td>" + record.stage + "</td></tr>"
120 html += "</<table>";
121 $("#fermenter_info").html(html);
122 bcode = record.beercode; 151 bcode = record.beercode;
123 bname = record.beername; 152 bname = record.beername;
153 bstage = record.stage;
154 bmode = record.mode;
155 $("#info_mode").jqxDropDownList('selectItem', record.mode);
156 $("#info_stage").jqxDropDownList('selectItem', record.stage);
124 157
125 if (record.online && (record.mode != "OFF")) { 158 if (record.online && (record.mode != "OFF")) {
126 $("#fermentor_powerled").html('<div class="LEDblue_on"></div>Power'); 159 $("#fermenter_powerled").html('<div class="LEDblue_on"></div>Power');
127 } else { 160 } else {
128 $("#fermentor_powerled").html('<div class="LEDblue_off"></div>Power'); 161 $("#fermenter_powerled").html('<div class="LEDblue_off"></div>Power');
129 } 162 }
130 if (record.online && (record.alarm != "0")) { 163 if (record.online && (record.alarm != "0")) {
131 $("#fermentor_alarmled").html('<div class="LEDred_on"></div>Alarm'); 164 $("#fermenter_alarmled").html('<div class="LEDred_on"></div>Alarm');
132 } else { 165 } else {
133 $("#fermentor_alarmled").html('<div class="LEDred_off"></div>Alarm'); 166 $("#fermenter_alarmled").html('<div class="LEDred_off"></div>Alarm');
134 } 167 }
135 168
136 $("#target_lo").html(record.setpoint_low.toFixed(1)); 169 $("#target_lo").html(record.setpoint_low.toFixed(1));
137 $("#target_hi").html(record.setpoint_high.toFixed(1)); 170 $("#target_hi").html(record.setpoint_high.toFixed(1));
138 $("#load_air").html(record.air_temperature.toFixed(3)); 171 $("#load_air").html(record.air_temperature.toFixed(3));
139 $("#load_beer").html(record.beer_temperature.toFixed(3)); 172 $("#load_beer").html(record.beer_temperature.toFixed(3));
140 173
141 if (record.online && (record.heater_state != "0")) { 174 if (record.online && (record.heater_state != "0")) {
142 $("#fermentor_led1").html('<div class="LEDgreen_on"></div>Heat'); 175 $("#fermenter_led1").html('<div class="LEDgreen_on"></div>Heat');
143 } else { 176 } else {
144 $("#fermentor_led1").html('<div class="LEDgreen_off"></div>Heat'); 177 $("#fermenter_led1").html('<div class="LEDgreen_off"></div>Heat');
145 } 178 }
146 if (record.online && (record.cooler_state != "0")) { 179 if (record.online && (record.cooler_state != "0")) {
147 $("#fermentor_led2").html('<div class="LEDgreen_on"></div>Cool'); 180 $("#fermenter_led2").html('<div class="LEDgreen_on"></div>Cool');
148 } else { 181 } else {
149 $("#fermentor_led2").html('<div class="LEDgreen_off"></div>Cool'); 182 $("#fermenter_led2").html('<div class="LEDgreen_off"></div>Cool');
150 } 183 }
151 if (record.online && (record.fan_state != "0")) { 184 if (record.online && (record.fan_state != "0")) {
152 $("#fermentor_led3").html('<div class="LEDgreen_on"></div>Fan'); 185 $("#fermenter_led3").html('<div class="LEDgreen_on"></div>Fan');
153 } else { 186 } else {
154 $("#fermentor_led3").html('<div class="LEDgreen_off"></div>Fan'); 187 $("#fermenter_led3").html('<div class="LEDgreen_off"></div>Fan');
155 } 188 }
156 189 if (record.online && (record.mode == "NONE")) {
190 $("#fermenter_toggle1").jqxSwitchButton( 'enable' );
191 $("#fermenter_toggle2").jqxSwitchButton( 'enable' );
192 $("#fermenter_toggle3").jqxSwitchButton( 'enable' );
193 } else {
194 $("#fermenter_toggle1").jqxSwitchButton( 'disable' );
195 $("#fermenter_toggle2").jqxSwitchButton( 'disable' );
196 $("#fermenter_toggle3").jqxSwitchButton( 'disable' );
197 $("#fermenter_toggle1").val( (record.heater_state != "0") );
198 $("#fermenter_toggle2").val( (record.cooler_state != "0") );
199 $("#fermenter_toggle3").val( (record.fan_state != "0") );
200 }
157 201
158 $('#gaugeContainer_air').jqxGauge({ value: record.air_temperature }); 202 $('#gaugeContainer_air').jqxGauge({ value: record.air_temperature });
159 if (record.online && (record.air_state == "OK")) { 203 if (record.online && (record.air_state == "OK")) {
160 $("#gaugeContainer_air").jqxGauge({ disabled: false }); 204 $("#gaugeContainer_air").jqxGauge({ disabled: false });
161 } else { 205 } else {
180 dataAdapter.dataBind(); 224 dataAdapter.dataBind();
181 setInterval(function(){ 225 setInterval(function(){
182 dataAdapter.dataBind(); 226 dataAdapter.dataBind();
183 }, 10000); 227 }, 10000);
184 228
229 $('#info_mode').on('change', function (event) {
230 sendBase(bstage, args.item.value);
231 });
232 $('#info_stage').on('change', function (event) {
233 sendBase(args.item.value, bmode);
234 });
235
236
185 // The chart button. 237 // The chart button.
186 $("#FLog").jqxButton({ template: "info", width: '150px', theme: theme }); 238 $("#FLog").jqxButton({ template: "info", width: '150px', theme: theme });
187 $("#FLog").click(function () { 239 $("#FLog").click(function () {
188 var url="log_fermentation.php?code=" + bcode + "&name=" + bname; 240 var url="log_fermentation.php?code=" + bcode + "&name=" + bname;
189 window.open(url); 241 window.open(url);

mercurial