www-thermferm/liveview.php

Fri, 08 Aug 2014 23:07:44 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 08 Aug 2014 23:07:44 +0200
changeset 195
b34a1b2421fb
parent 193
4136193a0c22
child 196
4d7a96c5d1ff
permissions
-rw-r--r--

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.

100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 <?php
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 /*****************************************************************************
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 * Copyright (C) 2014
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 *
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * Michiel Broek <mbroek at mbse dot eu>
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 *
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * This file is part of ThermFerm
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * This is free software; you can redistribute it and/or modify it
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * under the terms of the GNU General Public License as published by the
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * Free Software Foundation; either version 2, or (at your option) any
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * later version.
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * ThermFerm is distributed in the hope that it will be useful, but
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 * General Public License for more details.
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 *
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 * along with ThermFerm; see the file COPYING. If not, write to the Free
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 *****************************************************************************/
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 require_once('utilities.php');
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
29 function showunit($unit, $unr)
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 {
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
31 global $my_style;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
32
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 $outstr = '';
102
e37b9c571a56 Units can display the temperature
Michiel Broek <mbroek@mbse.eu>
parents: 100
diff changeset
34 $air_state = $beer_state = 1;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 $sock = open_socket();
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 if ($sock == false) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 return '';
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40
175
b73490398368 Units editing is more or less complete. Changed structures for heating, cooling, fan and door. Updated the web interface to confuigure all these things.
Michiel Broek <mbroek@mbse.eu>
parents: 173
diff changeset
41 socket_write($sock, "UNIT GET ".$unit, 4096);
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 $answer = "";
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43 while (1) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 $line = socket_read($sock, 4096);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 if ($line === '')
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 break;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 $answer .= $line;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 socket_close($sock);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50 $arr = explode("\r\n", $answer);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
52 if (startsWith($arr[0], "213")) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53
169
47358c2cc285 Small fix for NA values
Michiel Broek <mbroek@mbse.eu>
parents: 168
diff changeset
54 $set_temperature = "NA";
47358c2cc285 Small fix for NA values
Michiel Broek <mbroek@mbse.eu>
parents: 168
diff changeset
55 $air_temperature = "NA";
47358c2cc285 Small fix for NA values
Michiel Broek <mbroek@mbse.eu>
parents: 168
diff changeset
56 $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
57 $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
58 $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
59 $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
60 $heater = $cooler = $fan = "no";
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
61 $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
62
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 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
64 $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
65 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
66 $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
67 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
68 $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
69 }
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 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
71 $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
72 }
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
73 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
74 $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
75 }
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 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
77 $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
78 }
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
79 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
80 $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
81 }
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
82 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
83 $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
84 }
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
85 if (strcmp($vals[0], "HEATER_STATE") == 0) {
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
86 $heater_state = $vals[1];
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
87 }
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
88 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
89 $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
90 }
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
91 if (strcmp($vals[0], "COOLER_STATE") == 0) {
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
92 $cooler_state = $vals[1];
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
93 }
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
94 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
95 $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
96 }
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
97 if (strcmp($vals[0], "FAN_STATE") == 0) {
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
98 $fan_state = $vals[1];
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
99 }
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
100 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
101 $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
102 }
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
103 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
104 $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
105 }
186
7c44b11a10b0 Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents: 185
diff changeset
106 if (($vals[0] == "BEER_SET") && ($mode == "BEER")) {
7c44b11a10b0 Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents: 185
diff changeset
107 $set_temperature = $vals[1];
7c44b11a10b0 Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents: 185
diff changeset
108 }
7c44b11a10b0 Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents: 185
diff changeset
109 if (($vals[0] == "FRIDGE_SET") && ($mode == "FRIDGE")) {
7c44b11a10b0 Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents: 185
diff changeset
110 $set_temperature = $vals[1];
7c44b11a10b0 Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents: 185
diff changeset
111 }
7c44b11a10b0 Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents: 185
diff changeset
112 if (($vals[0] == "PROF_TARGET") && ($mode == "PROFILE")) {
7c44b11a10b0 Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents: 185
diff changeset
113 $set_temperature = $vals[1];
7c44b11a10b0 Added setting of initial target temperature
Michiel Broek <mbroek@mbse.eu>
parents: 185
diff changeset
114 }
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
115 }
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
116
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
117 $outstr .= ' <script type="text/javascript">'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
118 $outstr .= ' $(document).ready(function () {'.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
119
123
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
120 $outstr .= ' var source'.$unr.' ='.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
121 $outstr .= ' {'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
122 $outstr .= ' datatype: "json",'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
123 $outstr .= ' datafields: ['.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
124 $outstr .= ' { name: \'Date\' },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
125 $outstr .= ' { name: \'Mode\' },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
126 $outstr .= ' { name: \'Air\', type: \'float\' },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
127 $outstr .= ' { name: \'Beer\', type: \'float\' },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
128 $outstr .= ' { name: \'Target\', type: \'float\' },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
129 $outstr .= ' { name: \'Heater\' },'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
130 $outstr .= ' { name: \'Cooler\', type: \'int\' },'.PHP_EOL;
123
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
131 $outstr .= ' { name: \'Fan\' },'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
132 $outstr .= ' { name: \'Door\', type: \'bool\' }'.PHP_EOL;
123
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
133 $outstr .= ' ],'.PHP_EOL;
124
350401bac16e Added maintenance tabs and extended server output
Michiel Broek <mbroek@mbse.eu>
parents: 123
diff changeset
134 $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
135 $outstr .= ' };'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
136
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
137 $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
138 $outstr .= ' {'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
139 $outstr .= ' autoBind: true,'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
140 $outstr .= ' async: false,'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
141 $outstr .= ' downloadComplete: function () { },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
142 $outstr .= ' loadComplete: function () { },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
143 $outstr .= ' loadError: function () { }'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
144 $outstr .= ' });'.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
145
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
146 $outstr .= ' var settings'.$unr.' = {'.PHP_EOL;
193
4136193a0c22 Auto refresh LED's state added.
Michiel Broek <mbroek@mbse.eu>
parents: 186
diff changeset
147 $outstr .= ' title: "Fermentation history",'.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
148 $outstr .= ' description: "",'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
149 $outstr .= ' padding: { left: 5, top: 5, right: 5, bottom: 5 },'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
150 $outstr .= ' titlePadding: { left: 90, 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
151 $outstr .= ' source: dataAdapter'.$unr.','.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
152 $outstr .= ' categoryAxis:'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
153 $outstr .= ' {'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
154 $outstr .= ' dataField: \'Date\','.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
155 $outstr .= ' textRotationAngle: 45,'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
156 $outstr .= ' showGridLines: false'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
157 $outstr .= ' },'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
158 $outstr .= ' colorScheme: \'scheme01\','.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
159 $outstr .= ' seriesGroups:'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
160 $outstr .= ' [{'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
161 $outstr .= ' type: \'line\','.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
162 $outstr .= ' columnsGapPercent: 30,'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
163 $outstr .= ' seriesGapPercent: 0,'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
164 $outstr .= ' valueAxis:'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
165 $outstr .= ' {'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
166 $outstr .= ' description: \'Degrees C\''.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
167 $outstr .= ' },'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
168 $outstr .= ' series: ['.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
169 $outstr .= ' { dataField: \'Air\', displayText: \'Air\' },'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
170 $outstr .= ' { dataField: \'Beer\', displayText: \'Beer\' },'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
171 $outstr .= ' { dataField: \'Target\', displayText: \'Target\' }'.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
172 $outstr .= ' ]'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
173 $outstr .= ' }]'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
174 $outstr .= ' };'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
175 /* Direct draw for the first time */
154
83502d2099eb Added style to radiobuttons
Michiel Broek <mbroek@mbse.eu>
parents: 153
diff changeset
176 $outstr .= ' $("#fermentor_chart_'.$unit.'").jqxChart(settings'.$unr.');'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
177 /* Regular updates of the chart */
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
178 // $outstr .= ' setInterval(function(){'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
179 // $outstr .= ' $("#fermentor_chart_'.$unit.'").jqxChart("update");'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
180 // $outstr .= ' }, 3000);'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
181
171
15f92e5eecef Ajax screen updates now use a single call to the server
Michiel Broek <mbroek@mbse.eu>
parents: 169
diff changeset
182 $outstr .= ' setInterval(function(){'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
183 $outstr .= ' $.getJSON("getstate.php?uuid='.$unit.'", function(data) {'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
184 $outstr .= ' $("#load_air_'.$unr.'").html(data.air_temperature);'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
185 $outstr .= ' $("#load_beer_'.$unr.'").html(data.beer_temperature);'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
186 $outstr .= ' $("#load_target_'.$unr.'").html(data.target_temperature);'.PHP_EOL;
193
4136193a0c22 Auto refresh LED's state added.
Michiel Broek <mbroek@mbse.eu>
parents: 186
diff changeset
187 $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
188 $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
189 $outstr .= ' $("#load_led3_'.$unr.'").html(data.led3);'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
190 $outstr .= ' });'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
191 $outstr .= ' }, 10000);'.PHP_EOL;
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
192 $outstr .= ' });'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
193 $outstr .= ' </script>'.PHP_EOL;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
194 $outstr .= ' <div id="fermentor">'.PHP_EOL;
154
83502d2099eb Added style to radiobuttons
Michiel Broek <mbroek@mbse.eu>
parents: 153
diff changeset
195 $outstr .= ' <div id="fermentor_chart_'.$unit.'" style="width:720px; height:377px; float:left"></div>'.PHP_EOL;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
196
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
197 $outstr .= ' <div id="fermentor_panel_top">'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
198 $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
199 $outstr .= ' <form id="select_'.$unr.'" action="index.php" method="post">'.PHP_EOL;
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
200 strcmp($mode, "OFF") ? $se = "" : $se = " checked";
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
201 $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
202 strcmp($mode, "NONE") ? $se = "" : $se = " checked";
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
203 $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
204 (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
205 strcmp($mode, "FRIDGE") ? $se = "" : $se = " checked";
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
206 $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
207 strcmp($mode, "BEER") ? $se = "" : $se = " checked";
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
208 $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
209 strcmp($mode, "PROFILE") ? $se = "" : $se = " checked";
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
210 $outstr .= ' <input type="radio" name="mode" onchange="this.form.submit()" class="select" value="PROFILE"'.$se.$dis.'>Profile'.PHP_EOL;
155
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
211 $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
212 $outstr .= ' </form>'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
213 $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
214
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
215 $outstr .= ' <div id="fermentor_powerled">'.PHP_EOL;
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
216 $outstr .= ' <img src="images/led_green_'.$power_led.'.png"><br>Pwr'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
217 $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
218
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
219 $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
220 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
221 $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
222 $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
223 $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
224 $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
225 $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
226 }
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
227 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
228 $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
229 $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
230 $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
231 $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
232 $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
233 }
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
234 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
235 /*
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
236 * 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
237 */
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
238 $sock = open_socket();
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
239 if ($sock == true) {
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
240 socket_write($sock, "PROFILE LIST", 4096);
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
241 $answer = "";
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
242 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
243 $line = socket_read($sock, 4096);
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
244 if ($line === '')
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
245 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
246 $answer .= $line;
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
247 }
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
248 socket_close($sock);
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
249 $reply = explode("\r\n", $answer);
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
250 }
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
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
252 /*
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
253 * 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
254 */
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 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
256 $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
257 }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
258 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
259 $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
260 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
261 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
262 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
263 $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
264 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
265 $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
266 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
267 }
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 $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
269 }
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 }
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 $outstr .= ' <div style="color: blue; width: 148px; height: 20px; overflow: hidden;">Profile: '.$prof_name.'</div>'.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
273
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 $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
275 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
276 $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
277 $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
278 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
279 $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
280 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
281 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
282 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
283 $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
284 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
285 ($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
286 $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
287 }
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 $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
289 }
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 }
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 $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
292 $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
293 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
294 $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
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 } else if ($prof_state == "RUN") {
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 } else if ($prof_state == "PAUSE") {
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
298 } else if ($prof_state == "DONE") {
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
299 }
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 //$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
301 $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
302 $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
303 }
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 .= ' </div>'.PHP_EOL;
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
305 $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
306
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
307 $outstr .= ' <div id="fermentor_panel_display">'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
308 $outstr .= ' <div id="fermentor_display1">'.PHP_EOL;
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 171
diff changeset
309 $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
310 $outstr .= ' </div>'.PHP_EOL;
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
311 $outstr .= ' <div id="fermentor_display2">'.PHP_EOL;
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 171
diff changeset
312 $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
313 $outstr .= ' </div>'.PHP_EOL;
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
314 $outstr .= ' <div id="fermentor_display3">'.PHP_EOL;
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 171
diff changeset
315 $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
316 $outstr .= ' </div>'.PHP_EOL;
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
317 $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
318
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
319 $outstr .= ' <div id="fermentor_panel_control">'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
320 if ($cooler_state == "100")
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
321 $cooler_led = "on";
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
322 $outstr .= ' <div id="fermentor_led1">'.PHP_EOL;
193
4136193a0c22 Auto refresh LED's state added.
Michiel Broek <mbroek@mbse.eu>
parents: 186
diff changeset
323 $outstr .= ' <div id="load_led1_'.$unr.'"><img src="images/led_green_'.$cooler_led.'.png"></div>Cool'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
324 $outstr .= ' </div>'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
325 if ($heater_state == "100")
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
326 $heater_led = "on";
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
327 $outstr .= ' <div id="fermentor_led2">'.PHP_EOL;
193
4136193a0c22 Auto refresh LED's state added.
Michiel Broek <mbroek@mbse.eu>
parents: 186
diff changeset
328 $outstr .= ' <div id="load_led2_'.$unr.'"><img src="images/led_green_'.$heater_led.'.png"></div>Heat'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
329 $outstr .= ' </div>'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
330 if ($fan_state == "100")
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
331 $fan_led = "on";
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
332 $outstr .= ' <div id="fermentor_led3">'.PHP_EOL;
193
4136193a0c22 Auto refresh LED's state added.
Michiel Broek <mbroek@mbse.eu>
parents: 186
diff changeset
333 $outstr .= ' <div id="load_led3_'.$unr.'"><img src="images/led_green_'.$fan_led.'.png"></div>Fan'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
334 $outstr .= ' </div>'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
335
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
336 $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
337 $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
338 (($mode == "NONE") && ($cooler == "yes")) ? $dis = "" : $dis = " disabled";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
339 ($cooler_state == "0") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
340 $outstr .= ' <input type="radio" name="CoolerState" onchange="this.form.submit()" value="0"'.$dis.$ch.'>Off<br>'.PHP_EOL;
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
341 ($cooler_state == "100") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
342 $outstr .= ' <input type="radio" name="CoolerState" onchange="this.form.submit()" value="100"'.$dis.$ch.'>On'.PHP_EOL;
155
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
343 $outstr .= ' <input type="hidden" name="UUID" value="'.$unit.'">'.PHP_EOL;
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
344 $outstr .= ' </form>'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
345 $outstr .= ' </div>'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
346
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
347 $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
348 $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
349 (($mode == "NONE") && ($heater == "yes")) ? $dis = "" : $dis = " disabled";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
350 ($heater_state == "0") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
351 $outstr .= ' <input type="radio" name="HeaterState" onchange="this.form.submit()" value="0"'.$dis.$ch.'>Off<br>'.PHP_EOL;
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
352 ($heater_state == "100") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
353 $outstr .= ' <input type="radio" name="HeaterState" onchange="this.form.submit()" value="100"'.$dis.$ch.'>On'.PHP_EOL;
155
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
354 $outstr .= ' <input type="hidden" name="UUID" value="'.$unit.'">'.PHP_EOL;
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
355 $outstr .= ' </form>'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
356 $outstr .= ' </div>'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
357
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
358 $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
359 $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
360 (($mode == "NONE") && ($fan== "yes")) ? $dis = "" : $dis = " disabled";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
361 ($fan_state == "0") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
362 $outstr .= ' <input type="radio" name="FanState" onchange="this.form.submit()" value="0"'.$dis.$ch.'>Off<br>'.PHP_EOL;
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
363 ($fan_state == "100") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
364 $outstr .= ' <input type="radio" name="FanState" onchange="this.form.submit()" value="100"'.$dis.$ch.'>On'.PHP_EOL;
155
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 154
diff changeset
365 $outstr .= ' <input type="hidden" name="UUID" value="'.$unit.'">'.PHP_EOL;
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
366 $outstr .= ' </form>'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
367 $outstr .= ' </div>'.PHP_EOL;
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
368 $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
369
122
e57043423e72 Added fermentor maintenance windows
Michiel Broek <mbroek@mbse.eu>
parents: 121
diff changeset
370 $outstr .= ' </div> <!-- fermentor -->'.PHP_EOL;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
371 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
372
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
373 return $outstr;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
374 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
375
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
376
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
377
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
378 function liveview()
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
379 {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
380 $outstr = PHP_EOL;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
381
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
382 $sock = open_socket();
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
383 if ($sock !== false) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
384 socket_write($sock, "LIST", 4096);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
385
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
386 /*
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
387 * Multiple reads until the remote closed the connection
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
388 */
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
389 $answer = "";
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
390 while (1) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
391 $line = socket_read($sock, 4096);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
392 if ($line === '')
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
393 break;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
394 $answer .= $line;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
395 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
396 socket_close($sock);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
397 $arr = explode("\r\n", $answer);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
398
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
399 $outstr .= ' <div id="jqxTabs">'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
400 $outstr .= ' <ul>'.PHP_EOL;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
401 if (startsWith($arr[0], "212")) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
402 $i = 1;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
403 while (1) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
404 if (strcmp($arr[$i], ".") == 0)
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
405 break;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
406 $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
407 $outstr .= ' <li style="margin-left: 20px;">'.$parts[1].'</li>'.PHP_EOL;
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
408 $i++;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
409 }
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
410 }
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
411 $outstr .= ' </ul>'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
412
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
413 if (startsWith($arr[0], "212")) {
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
414 $i = 1;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
415 while (1) {
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
416 if (strcmp($arr[$i], ".") == 0)
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
417 break;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
418 $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
419 $outstr .= showunit($parts[0], $i);
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
420 $i++;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
421 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
422 }
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
423 $outstr .= ' </div> <!-- jqxTabs -->'.PHP_EOL;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
424 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
425
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
426 return $outstr;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
427 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
428
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
429
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
430 ?>

mercurial