35 $answer = send_cmd("UNIT GET ".$unit); |
35 $answer = send_cmd("UNIT GET ".$unit); |
36 $arr = explode("\r\n", $answer); |
36 $arr = explode("\r\n", $answer); |
37 |
37 |
38 if (startsWith($arr[0], "213")) { |
38 if (startsWith($arr[0], "213")) { |
39 |
39 |
40 $set_temperature = "NA"; |
40 $set_temperature_lo = "NA"; |
|
41 $set_temperature_hi = "NA"; |
41 $air_temperature = "NA"; |
42 $air_temperature = "NA"; |
42 $beer_temperature = "NA"; |
43 $beer_temperature = "NA"; |
43 $profile = ""; |
44 $profile = ""; |
44 $prof_state = "OFF"; |
45 $prof_state = "OFF"; |
45 $power_led = $cooler_led = $heater_led = $fan_led = "off"; |
46 $power_led = $cooler_led = $heater_led = $fan_led = "off"; |
88 } |
89 } |
89 if (strcmp($vals[0], "PROF_STATE") == 0) { |
90 if (strcmp($vals[0], "PROF_STATE") == 0) { |
90 $prof_state = $vals[1]; |
91 $prof_state = $vals[1]; |
91 } |
92 } |
92 if (($vals[0] == "BEER_SET") && ($mode == "BEER")) { |
93 if (($vals[0] == "BEER_SET") && ($mode == "BEER")) { |
93 $set_temperature = $vals[1]; |
94 $set_temperature_lo = $set_temperature_hi = $vals[1]; |
94 } |
95 } |
95 if (($vals[0] == "FRIDGE_SET") && ($mode == "FRIDGE")) { |
96 if (($vals[0] == "FRIDGE_SET") && ($mode == "FRIDGE")) { |
96 $set_temperature = $vals[1]; |
97 $set_temperature_lo = $set_temperature_hi = $vals[1]; |
97 } |
98 } |
98 if (($vals[0] == "PROF_TARGET") && ($mode == "PROFILE")) { |
99 if (($vals[0] == "PROF_TARGET_LO") && ($mode == "PROFILE")) { |
99 $set_temperature = $vals[1]; |
100 $set_temperature_lo = $vals[1]; |
|
101 } |
|
102 if (($vals[0] == "PROF_TARGET_HI") && ($mode == "PROFILE")) { |
|
103 $set_temperature_hi = $vals[1]; |
100 } |
104 } |
101 } |
105 } |
102 |
106 |
103 $outstr .= ' <script type="text/javascript">'.PHP_EOL; |
107 $outstr .= ' <script type="text/javascript">'.PHP_EOL; |
104 $outstr .= ' $(document).ready(function () {'.PHP_EOL; |
108 $outstr .= ' $(document).ready(function () {'.PHP_EOL; |
112 $outstr .= ' datafields: ['.PHP_EOL; |
116 $outstr .= ' datafields: ['.PHP_EOL; |
113 $outstr .= ' { name: "Date", type: "date", format: "yyyy-MM-dd HH:mm" },'.PHP_EOL; |
117 $outstr .= ' { name: "Date", type: "date", format: "yyyy-MM-dd HH:mm" },'.PHP_EOL; |
114 $outstr .= ' { name: "Mode" },'.PHP_EOL; |
118 $outstr .= ' { name: "Mode" },'.PHP_EOL; |
115 $outstr .= ' { name: "Air", type: "float" },'.PHP_EOL; |
119 $outstr .= ' { name: "Air", type: "float" },'.PHP_EOL; |
116 $outstr .= ' { name: "Beer", type: "float" },'.PHP_EOL; |
120 $outstr .= ' { name: "Beer", type: "float" },'.PHP_EOL; |
117 $outstr .= ' { name: "Target", type: "float" },'.PHP_EOL; |
121 $outstr .= ' { name: "Target_lo", type: "float" },'.PHP_EOL; |
|
122 $outstr .= ' { name: "Target_hi", type: "float" },'.PHP_EOL; |
118 $outstr .= ' { name: "Heater", type: "int" },'.PHP_EOL; |
123 $outstr .= ' { name: "Heater", type: "int" },'.PHP_EOL; |
119 $outstr .= ' { name: "Cooler", type: "int" },'.PHP_EOL; |
124 $outstr .= ' { name: "Cooler", type: "int" },'.PHP_EOL; |
120 $outstr .= ' { name: "HeatUse", type: "int" },'.PHP_EOL; |
125 $outstr .= ' { name: "HeatUse", type: "int" },'.PHP_EOL; |
121 $outstr .= ' { name: "CoolUse", type: "int" },'.PHP_EOL; |
126 $outstr .= ' { name: "CoolUse", type: "int" },'.PHP_EOL; |
122 $outstr .= ' { name: "Room", type: "float" }'.PHP_EOL; |
127 $outstr .= ' { name: "Room", type: "float" }'.PHP_EOL; |
179 $outstr .= ' description: \'Degrees C\''.PHP_EOL; |
184 $outstr .= ' description: \'Degrees C\''.PHP_EOL; |
180 $outstr .= ' },'.PHP_EOL; |
185 $outstr .= ' },'.PHP_EOL; |
181 $outstr .= ' series: ['.PHP_EOL; |
186 $outstr .= ' series: ['.PHP_EOL; |
182 $outstr .= ' { dataField: "Air", lineWidth: 1, displayText: "Air" },'.PHP_EOL; |
187 $outstr .= ' { dataField: "Air", lineWidth: 1, displayText: "Air" },'.PHP_EOL; |
183 $outstr .= ' { dataField: "Beer", lineWidth: 2, displayText: "Beer" },'.PHP_EOL; |
188 $outstr .= ' { dataField: "Beer", lineWidth: 2, displayText: "Beer" },'.PHP_EOL; |
184 $outstr .= ' { dataField: "Target", lineWidth: 1, displayText: "Target", opacity: 0.7 },'.PHP_EOL; |
189 $outstr .= ' { dataField: "Target_lo", lineWidth: 1, displayText: "Target Lo", opacity: 0.7 },'.PHP_EOL; |
|
190 $outstr .= ' { dataField: "Target_hi", lineWidth: 1, displayText: "Target Hi", opacity: 0.7 },'.PHP_EOL; |
185 $outstr .= ' { dataField: "Room", lineWidth: 1, displayText: "Room", opacity: 0.5 }'.PHP_EOL; |
191 $outstr .= ' { dataField: "Room", lineWidth: 1, displayText: "Room", opacity: 0.5 }'.PHP_EOL; |
186 $outstr .= ' ]'.PHP_EOL; |
192 $outstr .= ' ]'.PHP_EOL; |
187 $outstr .= ' }]'.PHP_EOL; |
193 $outstr .= ' }]'.PHP_EOL; |
188 $outstr .= ' };'.PHP_EOL; |
194 $outstr .= ' };'.PHP_EOL; |
189 /* Direct draw for the first time */ |
195 /* Direct draw for the first time */ |
224 |
230 |
225 $outstr .= ' setInterval(function(){'.PHP_EOL; |
231 $outstr .= ' setInterval(function(){'.PHP_EOL; |
226 $outstr .= ' $.getJSON("getstate.php?uuid='.$unit.'", function(data) {'.PHP_EOL; |
232 $outstr .= ' $.getJSON("getstate.php?uuid='.$unit.'", function(data) {'.PHP_EOL; |
227 $outstr .= ' $("#load_air_'.$unr.'").html(data.air_temperature);'.PHP_EOL; |
233 $outstr .= ' $("#load_air_'.$unr.'").html(data.air_temperature);'.PHP_EOL; |
228 $outstr .= ' $("#load_beer_'.$unr.'").html(data.beer_temperature);'.PHP_EOL; |
234 $outstr .= ' $("#load_beer_'.$unr.'").html(data.beer_temperature);'.PHP_EOL; |
229 $outstr .= ' $("#load_target_'.$unr.'").html(data.target_temperature);'.PHP_EOL; |
235 $outstr .= ' $("#load_target_lo_'.$unr.'").html(data.target_temperature_lo);'.PHP_EOL; |
|
236 $outstr .= ' $("#load_target_hi_'.$unr.'").html(data.target_temperature_hi);'.PHP_EOL; |
230 $outstr .= ' $("#load_select_'.$unr.'").html(data.mode);'.PHP_EOL; |
237 $outstr .= ' $("#load_select_'.$unr.'").html(data.mode);'.PHP_EOL; |
231 $outstr .= ' $("#load_led1_'.$unr.'").html(data.led1);'.PHP_EOL; |
238 $outstr .= ' $("#load_led1_'.$unr.'").html(data.led1);'.PHP_EOL; |
232 $outstr .= ' $("#load_led2_'.$unr.'").html(data.led2);'.PHP_EOL; |
239 $outstr .= ' $("#load_led2_'.$unr.'").html(data.led2);'.PHP_EOL; |
233 $outstr .= ' $("#load_led3_'.$unr.'").html(data.led3);'.PHP_EOL; |
240 $outstr .= ' $("#load_led3_'.$unr.'").html(data.led3);'.PHP_EOL; |
234 $outstr .= ' $("#load_sw1_'.$unr.'").html(data.sw1);'.PHP_EOL; |
241 $outstr .= ' $("#load_sw1_'.$unr.'").html(data.sw1);'.PHP_EOL; |
268 $outstr .= ' </div>'.PHP_EOL; |
275 $outstr .= ' </div>'.PHP_EOL; |
269 |
276 |
270 $outstr .= ' <div id="fermentor_mode_control">'.PHP_EOL; |
277 $outstr .= ' <div id="fermentor_mode_control">'.PHP_EOL; |
271 if ($mode == "FRIDGE") { |
278 if ($mode == "FRIDGE") { |
272 $outstr .= ' <form id="set_fridge_'.$unr.'" action="index.php" method="post">'.PHP_EOL; |
279 $outstr .= ' <form id="set_fridge_'.$unr.'" action="index.php" method="post">'.PHP_EOL; |
273 $outstr .= ' <input type="text" name="Fridge" size="5" value="'.$set_temperature.'"><br>'.PHP_EOL; |
280 $outstr .= ' <input type="text" name="Fridge" size="5" value="'.$set_temperature_lo.'"><br>'.PHP_EOL; |
274 $outstr .= ' <input type="submit" value="Set" name="key">'.PHP_EOL; |
281 $outstr .= ' <input type="submit" value="Set" name="key">'.PHP_EOL; |
275 $outstr .= ' <input type="hidden" value="'.$unit.'" name="UUID">'.PHP_EOL; |
282 $outstr .= ' <input type="hidden" value="'.$unit.'" name="UUID">'.PHP_EOL; |
276 $outstr .= ' </form>'.PHP_EOL; |
283 $outstr .= ' </form>'.PHP_EOL; |
277 } |
284 } |
278 if ($mode == "BEER") { |
285 if ($mode == "BEER") { |
279 $outstr .= ' <form id="set_beer_'.$unr.'" action="index.php" method="post">'.PHP_EOL; |
286 $outstr .= ' <form id="set_beer_'.$unr.'" action="index.php" method="post">'.PHP_EOL; |
280 $outstr .= ' <input type="text" name="Beer" size="5" value="'.$set_temperature.'">'.PHP_EOL; |
287 $outstr .= ' <input type="text" name="Beer" size="5" value="'.$set_temperature_lo.'">'.PHP_EOL; |
281 $outstr .= ' <input type="submit" value="Set" name="key">'.PHP_EOL; |
288 $outstr .= ' <input type="submit" value="Set" name="key">'.PHP_EOL; |
282 $outstr .= ' <input type="hidden" value="'.$unit.'" name="UUID">'.PHP_EOL; |
289 $outstr .= ' <input type="hidden" value="'.$unit.'" name="UUID">'.PHP_EOL; |
283 $outstr .= ' </form>'.PHP_EOL; |
290 $outstr .= ' </form>'.PHP_EOL; |
284 } |
291 } |
285 if ($mode == "PROFILE") { |
292 if ($mode == "PROFILE") { |
352 $outstr .= ' </div>'.PHP_EOL; |
359 $outstr .= ' </div>'.PHP_EOL; |
353 $outstr .= ' </div> <!-- fermentor_panel_top -->'.PHP_EOL; |
360 $outstr .= ' </div> <!-- fermentor_panel_top -->'.PHP_EOL; |
354 |
361 |
355 $outstr .= ' <div id="fermentor_panel_display">'.PHP_EOL; |
362 $outstr .= ' <div id="fermentor_panel_display">'.PHP_EOL; |
356 $outstr .= ' <div id="fermentor_display1">'.PHP_EOL; |
363 $outstr .= ' <div id="fermentor_display1">'.PHP_EOL; |
357 $outstr .= ' <div id="load_target_'.$unr.'" class="dtemp">'.$set_temperature.'</div>Set'.PHP_EOL; |
364 $outstr .= ' <div id="load_target_hi_'.$unr.'" class="htemp">'.$set_temperature_hi.'</div>'.PHP_EOL; |
|
365 $outstr .= ' <div id="load_target_lo_'.$unr.'" class="ltemp">'.$set_temperature_lo.'</div>'.PHP_EOL; |
358 $outstr .= ' </div>'.PHP_EOL; |
366 $outstr .= ' </div>'.PHP_EOL; |
359 $outstr .= ' <div id="fermentor_display2">'.PHP_EOL; |
367 $outstr .= ' <div id="fermentor_display2">'.PHP_EOL; |
360 $outstr .= ' <div id="load_air_'.$unr.'" class="dtemp">'.$air_temperature.'</div>Air'.PHP_EOL; |
368 $outstr .= ' <div id="load_air_'.$unr.'" class="dtemp">'.$air_temperature.'</div>Air'.PHP_EOL; |
361 $outstr .= ' </div>'.PHP_EOL; |
369 $outstr .= ' </div>'.PHP_EOL; |
362 $outstr .= ' <div id="fermentor_display3">'.PHP_EOL; |
370 $outstr .= ' <div id="fermentor_display3">'.PHP_EOL; |