Sat, 16 May 2015 17:39:30 +0200
Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
100 | 1 | <?php |
2 | /***************************************************************************** | |
305
fc2fae36f4ba
Better tab switching with a cookie
Michiel Broek <mbroek@mbse.eu>
parents:
304
diff
changeset
|
3 | * Copyright (C) 2014-2015 |
100 | 4 | * |
5 | * Michiel Broek <mbroek at mbse dot eu> | |
6 | * | |
7 | * This file is part of ThermFerm | |
8 | * | |
9 | * This is free software; you can redistribute it and/or modify it | |
10 | * under the terms of the GNU General Public License as published by the | |
11 | * Free Software Foundation; either version 2, or (at your option) any | |
12 | * later version. | |
13 | * | |
14 | * ThermFerm is distributed in the hope that it will be useful, but | |
15 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
17 | * General Public License for more details. | |
18 | * | |
19 | * You should have received a copy of the GNU General Public License | |
20 | * along with ThermFerm; see the file COPYING. If not, write to the Free | |
21 | * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. | |
22 | *****************************************************************************/ | |
23 | ||
24 | ||
25 | require_once('utilities.php'); | |
26 | ||
27 | ||
28 | ||
295
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
29 | function showunit($unit, $unr, $name) |
100 | 30 | { |
117 | 31 | global $my_style; |
32 | ||
295
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
33 | $outstr = ' <!-- showunit(' . $unit . ', ' . $unr . ', ' . $name . ') -->' . PHP_EOL; |
102
e37b9c571a56
Units can display the temperature
Michiel Broek <mbroek@mbse.eu>
parents:
100
diff
changeset
|
34 | $air_state = $beer_state = 1; |
196 | 35 | $answer = send_cmd("UNIT GET ".$unit); |
100 | 36 | $arr = explode("\r\n", $answer); |
37 | ||
38 | if (startsWith($arr[0], "213")) { | |
39 | ||
169 | 40 | $set_temperature = "NA"; |
41 | $air_temperature = "NA"; | |
42 | $beer_temperature = "NA"; | |
195
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
43 | $profile = ""; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
44 | $prof_state = "OFF"; |
153
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
45 | $power_led = $cooler_led = $heater_led = $fan_led = "off"; |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
46 | $heater = $cooler = $fan = "no"; |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
47 | $heater_state = $cooler_state = $fan_state = 0; |
153
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
48 | |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
49 | foreach($arr as $l) { |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
50 | $vals = explode(",", $l); |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
51 | if (strcmp($vals[0], "MODE") == 0) { |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
52 | $mode = $vals[1]; |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
53 | if (strcmp($mode, "OFF")) |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
54 | $power_led = "on"; |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
55 | } |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
56 | if (strcmp($vals[0], "AIR_STATE") == 0) { |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
57 | $air_state = $vals[1]; |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
58 | } |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
59 | if ((strcmp($vals[0], "AIR_TEMPERATURE") == 0) && ($air_state == 0)) { |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
60 | $air_temperature = $vals[1]; |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
61 | } |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
62 | if (strcmp($vals[0], "BEER_STATE") == 0) { |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
63 | $beer_state = $vals[1]; |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
64 | } |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
65 | if ((strcmp($vals[0], "BEER_TEMPERATURE") == 0) && ($beer_state == 0)) { |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
66 | $beer_temperature = $vals[1]; |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
67 | } |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
68 | if ((strcmp($vals[0], "HEATER_ADDRESS") == 0) && (strcmp($vals[1], "(null)"))) { |
153
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
69 | $heater = "yes"; |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
70 | } |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
71 | if (strcmp($vals[0], "HEATER_STATE") == 0) { |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
72 | $heater_state = $vals[1]; |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
73 | } |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
74 | if ((strcmp($vals[0], "COOLER_ADDRESS") == 0) && (strcmp($vals[1], "(null)"))) { |
153
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
75 | $cooler = "yes"; |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
76 | } |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
77 | if (strcmp($vals[0], "COOLER_STATE") == 0) { |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
78 | $cooler_state = $vals[1]; |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
79 | } |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
80 | if ((strcmp($vals[0], "FAN_ADDRESS") == 0) && (strcmp($vals[1], "(null)"))) { |
153
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
81 | $fan = "yes"; |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
82 | } |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
83 | if (strcmp($vals[0], "FAN_STATE") == 0) { |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
84 | $fan_state = $vals[1]; |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
85 | } |
195
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
86 | if (strcmp($vals[0], "PROFILE") == 0) { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
87 | $profile = $vals[1]; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
88 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
89 | if (strcmp($vals[0], "PROF_STATE") == 0) { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
90 | $prof_state = $vals[1]; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
91 | } |
186
7c44b11a10b0
Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents:
185
diff
changeset
|
92 | if (($vals[0] == "BEER_SET") && ($mode == "BEER")) { |
7c44b11a10b0
Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents:
185
diff
changeset
|
93 | $set_temperature = $vals[1]; |
7c44b11a10b0
Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents:
185
diff
changeset
|
94 | } |
7c44b11a10b0
Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents:
185
diff
changeset
|
95 | if (($vals[0] == "FRIDGE_SET") && ($mode == "FRIDGE")) { |
7c44b11a10b0
Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents:
185
diff
changeset
|
96 | $set_temperature = $vals[1]; |
7c44b11a10b0
Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents:
185
diff
changeset
|
97 | } |
7c44b11a10b0
Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents:
185
diff
changeset
|
98 | if (($vals[0] == "PROF_TARGET") && ($mode == "PROFILE")) { |
7c44b11a10b0
Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents:
185
diff
changeset
|
99 | $set_temperature = $vals[1]; |
7c44b11a10b0
Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents:
185
diff
changeset
|
100 | } |
153
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
101 | } |
866a947b732a
Added the framework for the units editor. In the dashboard the radio selector buttons are converteed to jqwidgets radiobuttons.
Michiel Broek <mbroek@mbse.eu>
parents:
151
diff
changeset
|
102 | |
117 | 103 | $outstr .= ' <script type="text/javascript">'.PHP_EOL; |
104 | $outstr .= ' $(document).ready(function () {'.PHP_EOL; | |
121
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
105 | |
295
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
106 | $outstr .= ' function getExportServer'.$unr.'() {'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
107 | $outstr .= ' return "http://www.jqwidgets.com/export_server/export.php";'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
108 | $outstr .= ' }'.PHP_EOL; |
123
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
109 | $outstr .= ' var source'.$unr.' ='.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
110 | $outstr .= ' {'.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
111 | $outstr .= ' datatype: "json",'.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
112 | $outstr .= ' datafields: ['.PHP_EOL; |
271 | 113 | $outstr .= ' { name: "Date", type: "date", format: "yyyy-MM-ddTHH:mm" },'.PHP_EOL; |
266
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
114 | $outstr .= ' { name: "Mode" },'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
115 | $outstr .= ' { name: "Air", type: "float" },'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
116 | $outstr .= ' { name: "Beer", type: "float" },'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
117 | $outstr .= ' { name: "Target", type: "float" },'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
118 | $outstr .= ' { name: "Heater", type: "int" },'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
119 | $outstr .= ' { name: "Cooler", type: "int" },'.PHP_EOL; |
299
d1c52fb43e30
Show heater/cooler usgae in percent on the web page. Bunped to version 0.2.5
Michiel Broek <mbroek@mbse.eu>
parents:
296
diff
changeset
|
120 | $outstr .= ' { name: "HeatUse", type: "int" },'.PHP_EOL; |
358
8b7ef338bf49
Plot room temperature on the dashboard.
Michiel Broek <mbroek@mbse.eu>
parents:
320
diff
changeset
|
121 | $outstr .= ' { name: "CoolUse", type: "int" },'.PHP_EOL; |
8b7ef338bf49
Plot room temperature on the dashboard.
Michiel Broek <mbroek@mbse.eu>
parents:
320
diff
changeset
|
122 | $outstr .= ' { name: "Room", type: "float" }'.PHP_EOL; |
123
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
123 | $outstr .= ' ],'.PHP_EOL; |
124
350401bac16e
Added maintenance tabs and extended server output
Michiel Broek <mbroek@mbse.eu>
parents:
123
diff
changeset
|
124 | $outstr .= ' url: \'getlog.php?unit='.$unit.'\''.PHP_EOL; |
123
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
125 | $outstr .= ' };'.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
126 | |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
127 | $outstr .= ' var dataAdapter'.$unr.' = new $.jqx.dataAdapter(source'.$unr.','.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
128 | $outstr .= ' {'.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
129 | $outstr .= ' autoBind: true,'.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
130 | $outstr .= ' async: false,'.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
131 | $outstr .= ' downloadComplete: function () { },'.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
132 | $outstr .= ' loadComplete: function () { },'.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
133 | $outstr .= ' loadError: function () { }'.PHP_EOL; |
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
134 | $outstr .= ' });'.PHP_EOL; |
121
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
135 | |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
136 | $outstr .= ' var settings'.$unr.' = {'.PHP_EOL; |
320
9e419f3c4e49
The web dashboard now shows just 'history' on the graph
Michiel Broek <mbroek@mbse.eu>
parents:
305
diff
changeset
|
137 | $outstr .= ' title: "'.$name.' history",'.PHP_EOL; |
121
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
138 | $outstr .= ' description: "",'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
139 | $outstr .= ' padding: { left: 5, top: 5, right: 5, bottom: 5 },'.PHP_EOL; |
295
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
140 | $outstr .= ' titlePadding: { left: 0, top: 0, right: 0, bottom: 10 },'.PHP_EOL; |
123
597688feda2f
Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents:
122
diff
changeset
|
141 | $outstr .= ' source: dataAdapter'.$unr.','.PHP_EOL; |
121
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
142 | $outstr .= ' categoryAxis:'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
143 | $outstr .= ' {'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
144 | $outstr .= ' dataField: \'Date\','.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
145 | $outstr .= ' textRotationAngle: 45,'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
146 | $outstr .= ' showGridLines: false'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
147 | $outstr .= ' },'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
148 | $outstr .= ' colorScheme: \'scheme01\','.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
149 | $outstr .= ' seriesGroups:'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
150 | $outstr .= ' [{'.PHP_EOL; |
300
4ce46ff3e37d
The LIST LOG command now automatic adjusts the number of output lines and resolution by calculating a reasonable interval between 1 and 60 minutes. Bumped to version 0.2.6
Michiel Broek <mbroek@mbse.eu>
parents:
299
diff
changeset
|
151 | $outstr .= ' type: "line",'.PHP_EOL; |
121
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
152 | $outstr .= ' valueAxis:'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
153 | $outstr .= ' {'.PHP_EOL; |
266
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
154 | $outstr .= ' minValue: 0,'.PHP_EOL; |
299
d1c52fb43e30
Show heater/cooler usgae in percent on the web page. Bunped to version 0.2.5
Michiel Broek <mbroek@mbse.eu>
parents:
296
diff
changeset
|
155 | $outstr .= ' maxValue: 100,'.PHP_EOL; |
266
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
156 | $outstr .= ' displayValueAxis: false,'.PHP_EOL; |
299
d1c52fb43e30
Show heater/cooler usgae in percent on the web page. Bunped to version 0.2.5
Michiel Broek <mbroek@mbse.eu>
parents:
296
diff
changeset
|
157 | $outstr .= ' description: "Heat/Cool %"'.PHP_EOL; |
266
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
158 | $outstr .= ' },'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
159 | $outstr .= ' series: ['.PHP_EOL; |
299
d1c52fb43e30
Show heater/cooler usgae in percent on the web page. Bunped to version 0.2.5
Michiel Broek <mbroek@mbse.eu>
parents:
296
diff
changeset
|
160 | $outstr .= ' { dataField: "CoolUse", lineWidth: 1, displayText: "Cool %", opacity: 0.5 },'.PHP_EOL; |
d1c52fb43e30
Show heater/cooler usgae in percent on the web page. Bunped to version 0.2.5
Michiel Broek <mbroek@mbse.eu>
parents:
296
diff
changeset
|
161 | $outstr .= ' { dataField: "HeatUse", lineWidth: 1, displayText: "Heat %", opacity: 0.5 }'.PHP_EOL; |
266
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
162 | $outstr .= ' ]'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
163 | $outstr .= ' },'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
164 | $outstr .= ' {'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
165 | $outstr .= ' type: \'spline\','.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
166 | $outstr .= ' valueAxis:'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
167 | $outstr .= ' {'.PHP_EOL; |
07819a7ad3c1
Better log output for web graphs. Webgraphs can now display heater and cooler usage.
Michiel Broek <mbroek@mbse.eu>
parents:
265
diff
changeset
|
168 | $outstr .= ' minValue: 0,'.PHP_EOL; |
121
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
169 | $outstr .= ' description: \'Degrees C\''.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
170 | $outstr .= ' },'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
171 | $outstr .= ' series: ['.PHP_EOL; |
296
0569f28b0806
Thinner lines for chart drawing
Michiel Broek <mbroek@mbse.eu>
parents:
295
diff
changeset
|
172 | $outstr .= ' { dataField: "Air", lineWidth: 1, displayText: "Air" },'.PHP_EOL; |
0569f28b0806
Thinner lines for chart drawing
Michiel Broek <mbroek@mbse.eu>
parents:
295
diff
changeset
|
173 | $outstr .= ' { dataField: "Beer", lineWidth: 2, displayText: "Beer" },'.PHP_EOL; |
358
8b7ef338bf49
Plot room temperature on the dashboard.
Michiel Broek <mbroek@mbse.eu>
parents:
320
diff
changeset
|
174 | $outstr .= ' { dataField: "Target", lineWidth: 1, displayText: "Target", opacity: 0.7 },'.PHP_EOL; |
8b7ef338bf49
Plot room temperature on the dashboard.
Michiel Broek <mbroek@mbse.eu>
parents:
320
diff
changeset
|
175 | $outstr .= ' { dataField: "Room", lineWidth: 1, displayText: "Room", opacity: 0.5 }'.PHP_EOL; |
121
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
176 | $outstr .= ' ]'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
177 | $outstr .= ' }]'.PHP_EOL; |
03306c3bfd60
Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents:
118
diff
changeset
|
178 | $outstr .= ' };'.PHP_EOL; |
185 | 179 | /* Direct draw for the first time */ |
154 | 180 | $outstr .= ' $("#fermentor_chart_'.$unit.'").jqxChart(settings'.$unr.');'.PHP_EOL; |
185 | 181 | /* Regular updates of the chart */ |
182 | // $outstr .= ' setInterval(function(){'.PHP_EOL; | |
183 | // $outstr .= ' $("#fermentor_chart_'.$unit.'").jqxChart("update");'.PHP_EOL; | |
184 | // $outstr .= ' }, 3000);'.PHP_EOL; | |
185 | ||
295
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
186 | $outstr .= ' $("#print_'.$unr.'").click(function () {'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
187 | $outstr .= ' var content = $("#fermentor_chart_'.$unit.'")[0].outerHTML;'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
188 | $outstr .= ' var newWindow = window.open("", "", "width=750, height=400"),'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
189 | $outstr .= ' document = newWindow.document.open(),'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
190 | $outstr .= ' pageContent ='.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
191 | $outstr .= ' \'<!DOCTYPE html>\' +'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
192 | $outstr .= ' \'<html>\' +'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
193 | $outstr .= ' \'<head>\' +'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
194 | $outstr .= ' \'<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />\' +'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
195 | $outstr .= ' \'<meta charset="utf-8" />\' +'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
196 | $outstr .= ' \'<title>jQWidgets Chart</title>\' +'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
197 | $outstr .= ' \'</head>\' +'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
198 | $outstr .= ' \'<body>\' + content + \'</body></html>\';'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
199 | $outstr .= ' document.write(pageContent);'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
200 | $outstr .= ' document.close();'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
201 | $outstr .= ' newWindow.print();'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
202 | $outstr .= ' });'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
203 | $outstr .= ' $("#print_'.$unr.'").jqxButton({ width: 100, height: 25, theme: "ui-redmond" });'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
204 | |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
205 | $outstr .= ' $("#pngButton_'.$unr.'").click(function () {'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
206 | // call the export server to create a PNG image |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
207 | $outstr .= ' $("#fermentor_chart_'.$unit.'").jqxChart("saveAsPNG", "Chart_'.$name.'.png", getExportServer'.$unr.'());'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
208 | $outstr .= ' });'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
209 | $outstr .= ' $("#pngButton_'.$unr.'").jqxButton({ width: 100, height: 25, theme: "ui-redmond" });'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
210 | |
171
15f92e5eecef
Ajax screen updates now use a single call to the server
Michiel Broek <mbroek@mbse.eu>
parents:
169
diff
changeset
|
211 | $outstr .= ' setInterval(function(){'.PHP_EOL; |
185 | 212 | $outstr .= ' $.getJSON("getstate.php?uuid='.$unit.'", function(data) {'.PHP_EOL; |
213 | $outstr .= ' $("#load_air_'.$unr.'").html(data.air_temperature);'.PHP_EOL; | |
214 | $outstr .= ' $("#load_beer_'.$unr.'").html(data.beer_temperature);'.PHP_EOL; | |
215 | $outstr .= ' $("#load_target_'.$unr.'").html(data.target_temperature);'.PHP_EOL; | |
257
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
216 | $outstr .= ' $("#load_select_'.$unr.'").html(data.mode);'.PHP_EOL; |
193
4136193a0c22
Auto refresh LED's state added.
Michiel Broek <mbroek@mbse.eu>
parents:
186
diff
changeset
|
217 | $outstr .= ' $("#load_led1_'.$unr.'").html(data.led1);'.PHP_EOL; |
4136193a0c22
Auto refresh LED's state added.
Michiel Broek <mbroek@mbse.eu>
parents:
186
diff
changeset
|
218 | $outstr .= ' $("#load_led2_'.$unr.'").html(data.led2);'.PHP_EOL; |
4136193a0c22
Auto refresh LED's state added.
Michiel Broek <mbroek@mbse.eu>
parents:
186
diff
changeset
|
219 | $outstr .= ' $("#load_led3_'.$unr.'").html(data.led3);'.PHP_EOL; |
257
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
220 | $outstr .= ' $("#load_sw1_'.$unr.'").html(data.sw1);'.PHP_EOL; |
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
221 | $outstr .= ' $("#load_sw2_'.$unr.'").html(data.sw2);'.PHP_EOL; |
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
222 | $outstr .= ' $("#load_sw3_'.$unr.'").html(data.sw3);'.PHP_EOL; |
284
9e6fb5aed618
Profile progress is visible in the web interface
Michiel Broek <mbroek@mbse.eu>
parents:
271
diff
changeset
|
223 | if ($mode == "PROFILE") |
9e6fb5aed618
Profile progress is visible in the web interface
Michiel Broek <mbroek@mbse.eu>
parents:
271
diff
changeset
|
224 | $outstr .= ' $("#prof_state_'.$unr.'").html(data.profile_state);'.PHP_EOL; |
185 | 225 | $outstr .= ' });'.PHP_EOL; |
226 | $outstr .= ' }, 10000);'.PHP_EOL; | |
117 | 227 | $outstr .= ' });'.PHP_EOL; |
228 | $outstr .= ' </script>'.PHP_EOL; | |
100 | 229 | $outstr .= ' <div id="fermentor">'.PHP_EOL; |
154 | 230 | $outstr .= ' <div id="fermentor_chart_'.$unit.'" style="width:720px; height:377px; float:left"></div>'.PHP_EOL; |
100 | 231 | |
151
ab90da2da45d
Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents:
134
diff
changeset
|
232 | $outstr .= ' <div id="fermentor_panel_top">'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
233 | $outstr .= ' <div id="fermentor_selector">'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
234 | $outstr .= ' <form id="select_'.$unr.'" action="index.php" method="post">'.PHP_EOL; |
257
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
235 | $outstr .= ' <div id="load_select_'.$unr.'">'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
236 | strcmp($mode, "OFF") ? $se = "" : $se = " checked"; |
168
1288dbf0f9b5
Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
155
diff
changeset
|
237 | $outstr .= ' <input type="radio" name="mode" onchange="this.form.submit()" class="select" value="OFF"'.$se.'>Off<br>'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
238 | strcmp($mode, "NONE") ? $se = "" : $se = " checked"; |
168
1288dbf0f9b5
Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
155
diff
changeset
|
239 | $outstr .= ' <input type="radio" name="mode" onchange="this.form.submit()" class="select" value="NONE"'.$se.'>None<br>'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
240 | (strcmp($heater, "no") || strcmp($cooler, "no")) ? $dis = "" : $dis = " disabled"; |
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
241 | strcmp($mode, "FRIDGE") ? $se = "" : $se = " checked"; |
168
1288dbf0f9b5
Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
155
diff
changeset
|
242 | $outstr .= ' <input type="radio" name="mode" onchange="this.form.submit()" class="select" value="FRIDGE"'.$se.$dis.'>Fridge<br>'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
243 | strcmp($mode, "BEER") ? $se = "" : $se = " checked"; |
168
1288dbf0f9b5
Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
155
diff
changeset
|
244 | $outstr .= ' <input type="radio" name="mode" onchange="this.form.submit()" class="select" value="BEER"'.$se.$dis.'>Beer<br>'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
245 | strcmp($mode, "PROFILE") ? $se = "" : $se = " checked"; |
168
1288dbf0f9b5
Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents:
155
diff
changeset
|
246 | $outstr .= ' <input type="radio" name="mode" onchange="this.form.submit()" class="select" value="PROFILE"'.$se.$dis.'>Profile'.PHP_EOL; |
257
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
247 | $outstr .= ' </div>'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
248 | $outstr .= ' <input type="hidden" name="UUID" value="'.$unit.'">'.PHP_EOL; |
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
249 | $outstr .= ' </form>'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
250 | $outstr .= ' </div>'.PHP_EOL; |
195
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
251 | |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
252 | $outstr .= ' <div id="fermentor_powerled">'.PHP_EOL; |
225
b18b06c17a80
Changed CSS colors for the LED's. Removed the old LED's.
Michiel Broek <mbroek@mbse.eu>
parents:
224
diff
changeset
|
253 | $outstr .= ' <div class="LEDblue_'.$power_led.'"></div>Pwr'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
254 | $outstr .= ' </div>'.PHP_EOL; |
195
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
255 | |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
256 | $outstr .= ' <div id="fermentor_mode_control">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
257 | if ($mode == "FRIDGE") { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
258 | $outstr .= ' <form id="set_fridge_'.$unr.'" action="index.php" method="post">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
259 | $outstr .= ' <input type="text" name="Fridge" size="5" value="'.$set_temperature.'"><br>'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
260 | $outstr .= ' <input type="submit" value="Set" name="key">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
261 | $outstr .= ' <input type="hidden" value="'.$unit.'" name="UUID">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
262 | $outstr .= ' </form>'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
263 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
264 | if ($mode == "BEER") { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
265 | $outstr .= ' <form id="set_beer_'.$unr.'" action="index.php" method="post">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
266 | $outstr .= ' <input type="text" name="Beer" size="5" value="'.$set_temperature.'">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
267 | $outstr .= ' <input type="submit" value="Set" name="key">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
268 | $outstr .= ' <input type="hidden" value="'.$unit.'" name="UUID">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
269 | $outstr .= ' </form>'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
270 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
271 | if ($mode == "PROFILE") { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
272 | /* |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
273 | * First, load a list with available profiles. |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
274 | */ |
196 | 275 | $answer = send_cmd("PROFILE LIST"); |
276 | $reply = explode("\r\n", $answer); | |
195
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
277 | |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
278 | /* |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
279 | * Show loaded profile. |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
280 | */ |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
281 | if ($profile == "(null)") { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
282 | $prof_name = "None"; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
283 | }else { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
284 | if (startsWith($reply[0], "212")) { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
285 | $i = 1; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
286 | while (1) { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
287 | if (strcmp($reply[$i], ".") == 0) |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
288 | break; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
289 | $f = explode(",", $reply[$i]); |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
290 | if ($f[0] == $profile) { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
291 | $prof_name = $f[1]; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
292 | break; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
293 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
294 | $i++; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
295 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
296 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
297 | } |
258
e02393b29733
Updated web dashboard layout
Michiel Broek <mbroek@mbse.eu>
parents:
257
diff
changeset
|
298 | $outstr .= ' <div style="color: blue; width: 148px; height: 23px; overflow: hidden;">Profile: '.$prof_name.'</div>'.PHP_EOL; |
284
9e6fb5aed618
Profile progress is visible in the web interface
Michiel Broek <mbroek@mbse.eu>
parents:
271
diff
changeset
|
299 | $outstr .= ' <div id="prof_state_'.$unr.'" style="color: blue; width: 148px; height: 23px; overflow: hidden;">State: '.$prof_state.'</div>'.PHP_EOL; |
195
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
300 | |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
301 | $outstr .= ' <form id="set_profile_'.$unr.'" action="index.php" method="post">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
302 | if ($prof_state == "OFF") { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
303 | $outstr .= ' <select name="SetProfile" style="width: 130px;">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
304 | $outstr .= ' <option value="">None</option>'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
305 | if (startsWith($reply[0], "212")) { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
306 | $i = 1; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
307 | while (1) { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
308 | if (strcmp($reply[$i], ".") == 0) |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
309 | break; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
310 | $f = explode(",", $reply[$i]); |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
311 | if ($f[2] > 0) { |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
312 | ($f[0] == $profile) ? $se = " selected" : $se = ""; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
313 | $outstr .= ' <option value="'.$f[0].'"'.$se.'>'.$f[1].'</option>'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
314 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
315 | $i++; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
316 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
317 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
318 | $outstr .= ' </select>'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
319 | $outstr .= ' <input type="submit" value="Set" name="key">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
320 | if ($profile != "(null)") |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
321 | $outstr .= ' <input type="submit" value="Start" name="key">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
322 | |
284
9e6fb5aed618
Profile progress is visible in the web interface
Michiel Broek <mbroek@mbse.eu>
parents:
271
diff
changeset
|
323 | } else if (startsWith($prof_state, "RUN")) { |
219
ae720212accc
Added profile running and steps handling.
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
324 | $outstr .= ' <input type="hidden" value="'.$profile.'" name="SetProfile">'.PHP_EOL; |
ae720212accc
Added profile running and steps handling.
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
325 | $outstr .= ' <input type="submit" value="Pause" name="key">'.PHP_EOL; |
ae720212accc
Added profile running and steps handling.
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
326 | $outstr .= ' <input type="submit" value="Abort" name="key">'.PHP_EOL; |
195
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
327 | } else if ($prof_state == "PAUSE") { |
219
ae720212accc
Added profile running and steps handling.
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
328 | $outstr .= ' <input type="hidden" value="'.$profile.'" name="SetProfile">'.PHP_EOL; |
ae720212accc
Added profile running and steps handling.
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
329 | $outstr .= ' <input type="submit" value="Resume" name="key">'.PHP_EOL; |
ae720212accc
Added profile running and steps handling.
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
330 | $outstr .= ' <input type="submit" value="Abort" name="key">'.PHP_EOL; |
195
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
331 | } else if ($prof_state == "DONE") { |
219
ae720212accc
Added profile running and steps handling.
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
332 | $outstr .= ' <input type="hidden" value="'.$profile.'" name="SetProfile">'.PHP_EOL; |
ae720212accc
Added profile running and steps handling.
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
333 | $outstr .= ' <input type="submit" value="Off" name="key">'.PHP_EOL; |
195
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
334 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
335 | $outstr .= ' <input type="hidden" value="'.$unit.'" name="UUID">'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
336 | $outstr .= ' </form>'.PHP_EOL; |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
337 | } |
b34a1b2421fb
Reset output when a different profile is selected. Better startup logging about the unit state. Added Beer, Fridge and partial Profile settings from the liveview weeb screen.
Michiel Broek <mbroek@mbse.eu>
parents:
193
diff
changeset
|
338 | $outstr .= ' </div>'.PHP_EOL; |
151
ab90da2da45d
Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents:
134
diff
changeset
|
339 | $outstr .= ' </div> <!-- fermentor_panel_top -->'.PHP_EOL; |
ab90da2da45d
Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents:
134
diff
changeset
|
340 | |
ab90da2da45d
Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents:
134
diff
changeset
|
341 | $outstr .= ' <div id="fermentor_panel_display">'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
342 | $outstr .= ' <div id="fermentor_display1">'.PHP_EOL; |
173 | 343 | $outstr .= ' <div id="load_target_'.$unr.'" class="dtemp">'.$set_temperature.'</div>Set'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
344 | $outstr .= ' </div>'.PHP_EOL; |
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
345 | $outstr .= ' <div id="fermentor_display2">'.PHP_EOL; |
173 | 346 | $outstr .= ' <div id="load_air_'.$unr.'" class="dtemp">'.$air_temperature.'</div>Air'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
347 | $outstr .= ' </div>'.PHP_EOL; |
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
348 | $outstr .= ' <div id="fermentor_display3">'.PHP_EOL; |
173 | 349 | $outstr .= ' <div id="load_beer_'.$unr.'" class="dtemp">'.$beer_temperature.'</div>Beer'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
350 | $outstr .= ' </div>'.PHP_EOL; |
151
ab90da2da45d
Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents:
134
diff
changeset
|
351 | $outstr .= ' </div> <!-- fermentor_panel_display -->'.PHP_EOL; |
ab90da2da45d
Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents:
134
diff
changeset
|
352 | |
ab90da2da45d
Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents:
134
diff
changeset
|
353 | $outstr .= ' <div id="fermentor_panel_control">'.PHP_EOL; |
360
0f3fe4fa0977
Leds on if any state value is set.
Michiel Broek <mbroek@mbse.eu>
parents:
358
diff
changeset
|
354 | if ($cooler_state) |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
355 | $cooler_led = "on"; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
356 | $outstr .= ' <div id="fermentor_led1">'.PHP_EOL; |
225
b18b06c17a80
Changed CSS colors for the LED's. Removed the old LED's.
Michiel Broek <mbroek@mbse.eu>
parents:
224
diff
changeset
|
357 | $outstr .= ' <div id="load_led1_'.$unr.'"><div class="LEDgreen_'.$cooler_led.'"></div></div>Cool'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
358 | $outstr .= ' </div>'.PHP_EOL; |
360
0f3fe4fa0977
Leds on if any state value is set.
Michiel Broek <mbroek@mbse.eu>
parents:
358
diff
changeset
|
359 | if ($heater_state) |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
360 | $heater_led = "on"; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
361 | $outstr .= ' <div id="fermentor_led2">'.PHP_EOL; |
225
b18b06c17a80
Changed CSS colors for the LED's. Removed the old LED's.
Michiel Broek <mbroek@mbse.eu>
parents:
224
diff
changeset
|
362 | $outstr .= ' <div id="load_led2_'.$unr.'"><div class="LEDgreen_'.$heater_led.'"></div></div>Heat'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
363 | $outstr .= ' </div>'.PHP_EOL; |
360
0f3fe4fa0977
Leds on if any state value is set.
Michiel Broek <mbroek@mbse.eu>
parents:
358
diff
changeset
|
364 | if ($fan_state) |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
365 | $fan_led = "on"; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
366 | $outstr .= ' <div id="fermentor_led3">'.PHP_EOL; |
225
b18b06c17a80
Changed CSS colors for the LED's. Removed the old LED's.
Michiel Broek <mbroek@mbse.eu>
parents:
224
diff
changeset
|
367 | $outstr .= ' <div id="load_led3_'.$unr.'"><div class="LEDgreen_'.$fan_led.'"></div></div>Fan'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
368 | $outstr .= ' </div>'.PHP_EOL; |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
369 | |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
370 | $outstr .= ' <div id="fermentor_toggle1">'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
371 | $outstr .= ' <form action="index.php" method="post">'.PHP_EOL; |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
372 | (($mode == "NONE") && ($cooler == "yes")) ? $dis = "" : $dis = " disabled"; |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
373 | ($cooler_state == "0") ? $ch = " checked" : $ch = ""; |
257
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
374 | $outstr .= ' <div id="load_sw1_'.$unr.'">'.PHP_EOL; |
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
375 | $outstr .= ' <input type="radio" name="CoolerState" onchange="this.form.submit()" value="0"'.$dis.$ch.'>Off<br>'.PHP_EOL; |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
376 | ($cooler_state == "100") ? $ch = " checked" : $ch = ""; |
257
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
377 | $outstr .= ' <input type="radio" name="CoolerState" onchange="this.form.submit()" value="100"'.$dis.$ch.'>On'.PHP_EOL; |
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
378 | $outstr .= ' </div>'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
379 | $outstr .= ' <input type="hidden" name="UUID" value="'.$unit.'">'.PHP_EOL; |
117 | 380 | $outstr .= ' </form>'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
381 | $outstr .= ' </div>'.PHP_EOL; |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
382 | |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
383 | $outstr .= ' <div id="fermentor_toggle2">'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
384 | $outstr .= ' <form action="index.php" method="post">'.PHP_EOL; |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
385 | (($mode == "NONE") && ($heater == "yes")) ? $dis = "" : $dis = " disabled"; |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
386 | ($heater_state == "0") ? $ch = " checked" : $ch = ""; |
257
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
387 | $outstr .= ' <div id="load_sw2_'.$unr.'">'.PHP_EOL; |
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
388 | $outstr .= ' <input type="radio" name="HeaterState" onchange="this.form.submit()" value="0"'.$dis.$ch.'>Off<br>'.PHP_EOL; |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
389 | ($heater_state == "100") ? $ch = " checked" : $ch = ""; |
257
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
390 | $outstr .= ' <input type="radio" name="HeaterState" onchange="this.form.submit()" value="100"'.$dis.$ch.'>On'.PHP_EOL; |
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
391 | $outstr .= ' </div>'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
392 | $outstr .= ' <input type="hidden" name="UUID" value="'.$unit.'">'.PHP_EOL; |
117 | 393 | $outstr .= ' </form>'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
394 | $outstr .= ' </div>'.PHP_EOL; |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
395 | |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
396 | $outstr .= ' <div id="fermentor_toggle3">'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
397 | $outstr .= ' <form action="index.php" method="post">'.PHP_EOL; |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
398 | (($mode == "NONE") && ($fan== "yes")) ? $dis = "" : $dis = " disabled"; |
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
399 | ($fan_state == "0") ? $ch = " checked" : $ch = ""; |
257
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
400 | $outstr .= ' <div id="load_sw3_'.$unr.'">'.PHP_EOL; |
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
401 | $outstr .= ' <input type="radio" name="FanState" onchange="this.form.submit()" value="0"'.$dis.$ch.'>Off<br>'.PHP_EOL; |
178
988a898974f3
Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents:
175
diff
changeset
|
402 | ($fan_state == "100") ? $ch = " checked" : $ch = ""; |
257
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
403 | $outstr .= ' <input type="radio" name="FanState" onchange="this.form.submit()" value="100"'.$dis.$ch.'>On'.PHP_EOL; |
abdba3f9d9e2
Automatic ajax updates of radio buttons
Michiel Broek <mbroek@mbse.eu>
parents:
225
diff
changeset
|
404 | $outstr .= ' </div>'.PHP_EOL; |
155
0d86f3c0a07b
Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents:
154
diff
changeset
|
405 | $outstr .= ' <input type="hidden" name="UUID" value="'.$unit.'">'.PHP_EOL; |
117 | 406 | $outstr .= ' </form>'.PHP_EOL; |
113
cf3f906ffe0d
Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents:
112
diff
changeset
|
407 | $outstr .= ' </div>'.PHP_EOL; |
151
ab90da2da45d
Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents:
134
diff
changeset
|
408 | $outstr .= ' </div> <!-- fermentor_panel_control -->'.PHP_EOL; |
ab90da2da45d
Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents:
134
diff
changeset
|
409 | |
295
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
410 | $outstr .= ' <div id="fermentor_panel_buttons">'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
411 | $outstr .= ' <div style="margin-top: 2px; margin-left: 10px;">'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
412 | $outstr .= ' <input style="float: left;" id="print_'.$unr.'" type="button" value="Print Graph" />'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
413 | $outstr .= ' <input style="float: left; margin-left: 15px;" id="pngButton_'.$unr.'" type="button" value="Save Graph" />'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
414 | $outstr .= ' </div>'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
415 | $outstr .= ' </div> <!-- fermentor_panel_buttons -->'.PHP_EOL; |
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
416 | |
122
e57043423e72
Added fermentor maintenance windows
Michiel Broek <mbroek@mbse.eu>
parents:
121
diff
changeset
|
417 | $outstr .= ' </div> <!-- fermentor -->'.PHP_EOL; |
100 | 418 | } |
419 | ||
420 | return $outstr; | |
421 | } | |
422 | ||
423 | ||
424 | ||
425 | function liveview() | |
426 | { | |
427 | $outstr = PHP_EOL; | |
428 | ||
196 | 429 | $answer = send_cmd("LIST"); |
430 | if (strlen($answer)) { | |
100 | 431 | $arr = explode("\r\n", $answer); |
432 | ||
117 | 433 | $outstr .= ' <div id="jqxTabs">'.PHP_EOL; |
434 | $outstr .= ' <ul>'.PHP_EOL; | |
100 | 435 | if (startsWith($arr[0], "212")) { |
436 | $i = 1; | |
437 | while (1) { | |
438 | if (strcmp($arr[$i], ".") == 0) | |
439 | break; | |
440 | $parts = explode(",", $arr[$i]); | |
131
528dc0bb81ab
Always use uuid to select units and remove numeric record id's.
Michiel Broek <mbroek@mbse.eu>
parents:
124
diff
changeset
|
441 | $outstr .= ' <li style="margin-left: 20px;">'.$parts[1].'</li>'.PHP_EOL; |
117 | 442 | $i++; |
443 | } | |
444 | } | |
445 | $outstr .= ' </ul>'.PHP_EOL; | |
446 | ||
447 | if (startsWith($arr[0], "212")) { | |
448 | $i = 1; | |
449 | while (1) { | |
450 | if (strcmp($arr[$i], ".") == 0) | |
451 | break; | |
452 | $parts = explode(",", $arr[$i]); | |
295
e88d182657ca
Added print and save as png buttons
Michiel Broek <mbroek@mbse.eu>
parents:
294
diff
changeset
|
453 | $outstr .= showunit($parts[0], $i, $parts[1]); |
100 | 454 | $i++; |
455 | } | |
456 | } | |
117 | 457 | $outstr .= ' </div> <!-- jqxTabs -->'.PHP_EOL; |
100 | 458 | } |
459 | ||
460 | return $outstr; | |
461 | } | |
462 | ||
463 | ||
464 | ?> |