www-thermferm/liveview.php

Tue, 05 Aug 2014 21:33:06 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Tue, 05 Aug 2014 21:33:06 +0200
changeset 185
4f34271cf1e7
parent 178
988a898974f3
child 186
7c44b11a10b0
permissions
-rw-r--r--

PID finetuning

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";
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
57 $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
58 $heater = $cooler = $fan = "no";
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
59 $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
60
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 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
62 $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
63 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
64 $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
65 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
66 $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
67 }
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 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
69 $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
70 }
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 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
72 $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
73 }
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 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
75 $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
76 }
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 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
78 $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
79 }
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
80 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
81 $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
82 }
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
83 if (strcmp($vals[0], "HEATER_STATE") == 0) {
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
84 $heater_state = $vals[1];
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
85 }
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
86 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
87 $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
88 }
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
89 if (strcmp($vals[0], "COOLER_STATE") == 0) {
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
90 $cooler_state = $vals[1];
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
91 }
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
92 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
93 $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
94 }
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
95 if (strcmp($vals[0], "FAN_STATE") == 0) {
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
96 $fan_state = $vals[1];
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
97 }
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
98 }
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
99
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
100 $outstr .= ' <script type="text/javascript">'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
101 $outstr .= ' $(document).ready(function () {'.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
102
123
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
103 $outstr .= ' var source'.$unr.' ='.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
104 $outstr .= ' {'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
105 $outstr .= ' datatype: "json",'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
106 $outstr .= ' datafields: ['.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
107 $outstr .= ' { name: \'Date\' },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
108 $outstr .= ' { name: \'Mode\' },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
109 $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
110 $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
111 $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
112 $outstr .= ' { name: \'Heater\' },'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
113 $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
114 $outstr .= ' { name: \'Fan\' },'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
115 $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
116 $outstr .= ' ],'.PHP_EOL;
124
350401bac16e Added maintenance tabs and extended server output
Michiel Broek <mbroek@mbse.eu>
parents: 123
diff changeset
117 $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
118 $outstr .= ' };'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
119
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
120 $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
121 $outstr .= ' {'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
122 $outstr .= ' autoBind: true,'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
123 $outstr .= ' async: false,'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
124 $outstr .= ' downloadComplete: function () { },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
125 $outstr .= ' loadComplete: function () { },'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
126 $outstr .= ' loadError: function () { }'.PHP_EOL;
597688feda2f Now uses the real data for the chart
Michiel Broek <mbroek@mbse.eu>
parents: 122
diff changeset
127 $outstr .= ' });'.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
128
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
129 $outstr .= ' var settings'.$unr.' = {'.PHP_EOL;
154
83502d2099eb Added style to radiobuttons
Michiel Broek <mbroek@mbse.eu>
parents: 153
diff changeset
130 $outstr .= ' title: "Fermentation temperature",'.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
131 $outstr .= ' description: "",'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
132 $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
133 $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
134 $outstr .= ' source: dataAdapter'.$unr.','.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
135 $outstr .= ' categoryAxis:'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
136 $outstr .= ' {'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
137 $outstr .= ' dataField: \'Date\','.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
138 $outstr .= ' textRotationAngle: 45,'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
139 $outstr .= ' showGridLines: false'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
140 $outstr .= ' },'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
141 $outstr .= ' colorScheme: \'scheme01\','.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
142 $outstr .= ' seriesGroups:'.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 .= ' type: \'line\','.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
145 $outstr .= ' columnsGapPercent: 30,'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
146 $outstr .= ' seriesGapPercent: 0,'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
147 $outstr .= ' valueAxis:'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
148 $outstr .= ' {'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
149 $outstr .= ' description: \'Degrees C\''.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
150 $outstr .= ' },'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
151 $outstr .= ' series: ['.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
152 $outstr .= ' { dataField: \'Air\', displayText: \'Air\' },'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
153 $outstr .= ' { dataField: \'Beer\', displayText: \'Beer\' },'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
154 $outstr .= ' { dataField: \'Target\', displayText: \'Target\' }'.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
155 $outstr .= ' ]'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
156 $outstr .= ' }]'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
157 $outstr .= ' };'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
158 /* Direct draw for the first time */
154
83502d2099eb Added style to radiobuttons
Michiel Broek <mbroek@mbse.eu>
parents: 153
diff changeset
159 $outstr .= ' $("#fermentor_chart_'.$unit.'").jqxChart(settings'.$unr.');'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
160 /* Regular updates of the chart */
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
161 // $outstr .= ' setInterval(function(){'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
162 // $outstr .= ' $("#fermentor_chart_'.$unit.'").jqxChart("update");'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
163 // $outstr .= ' }, 3000);'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
164
171
15f92e5eecef Ajax screen updates now use a single call to the server
Michiel Broek <mbroek@mbse.eu>
parents: 169
diff changeset
165 $outstr .= ' setInterval(function(){'.PHP_EOL;
185
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
166 $outstr .= ' $.getJSON("getstate.php?uuid='.$unit.'", function(data) {'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
167 $outstr .= ' $("#load_air_'.$unr.'").html(data.air_temperature);'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
168 $outstr .= ' $("#load_beer_'.$unr.'").html(data.beer_temperature);'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
169 $outstr .= ' $("#load_target_'.$unr.'").html(data.target_temperature);'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
170 $outstr .= ' });'.PHP_EOL;
4f34271cf1e7 PID finetuning
Michiel Broek <mbroek@mbse.eu>
parents: 178
diff changeset
171 $outstr .= ' }, 10000);'.PHP_EOL;
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
172 $outstr .= ' });'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
173 $outstr .= ' </script>'.PHP_EOL;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
174 $outstr .= ' <div id="fermentor">'.PHP_EOL;
154
83502d2099eb Added style to radiobuttons
Michiel Broek <mbroek@mbse.eu>
parents: 153
diff changeset
175 $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
176
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
177 $outstr .= ' <div id="fermentor_panel_top">'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
178 $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
179 $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
180 strcmp($mode, "OFF") ? $se = "" : $se = " checked";
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
181 $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
182 strcmp($mode, "NONE") ? $se = "" : $se = " checked";
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
183 $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
184 (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
185 strcmp($mode, "FRIDGE") ? $se = "" : $se = " checked";
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
186 $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
187 strcmp($mode, "BEER") ? $se = "" : $se = " checked";
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
188 $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
189 strcmp($mode, "PROFILE") ? $se = "" : $se = " checked";
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
190 $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
191 $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
192 $outstr .= ' </form>'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
193 $outstr .= ' </div>'.PHP_EOL;
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
194 $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
195 $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
196 $outstr .= ' </div>'.PHP_EOL;
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
197 $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
198
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
199 $outstr .= ' <div id="fermentor_panel_display">'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
200 $outstr .= ' <div id="fermentor_display1">'.PHP_EOL;
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 171
diff changeset
201 $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
202 $outstr .= ' </div>'.PHP_EOL;
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
203 $outstr .= ' <div id="fermentor_display2">'.PHP_EOL;
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 171
diff changeset
204 $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
205 $outstr .= ' </div>'.PHP_EOL;
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
206 $outstr .= ' <div id="fermentor_display3">'.PHP_EOL;
173
7259ee8778e9 More style updates
Michiel Broek <mbroek@mbse.eu>
parents: 171
diff changeset
207 $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
208 $outstr .= ' </div>'.PHP_EOL;
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
209 $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
210
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
211
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
212 $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
213 if ($cooler_state == "100")
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
214 $cooler_led = "on";
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
215 $outstr .= ' <div id="fermentor_led1">'.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_'.$cooler_led.'.png"><br>Cool'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
217 $outstr .= ' </div>'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
218 if ($heater_state == "100")
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
219 $heater_led = "on";
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
220 $outstr .= ' <div id="fermentor_led2">'.PHP_EOL;
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
221 $outstr .= ' <img src="images/led_green_'.$heater_led.'.png"><br>Heat'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
222 $outstr .= ' </div>'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
223 if ($fan_state == "100")
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
224 $fan_led = "on";
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
225 $outstr .= ' <div id="fermentor_led3">'.PHP_EOL;
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
226 $outstr .= ' <img src="images/led_green_'.$fan_led.'.png"><br>Fan'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
227 $outstr .= ' </div>'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
228
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
229 $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
230 $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
231 (($mode == "NONE") && ($cooler == "yes")) ? $dis = "" : $dis = " disabled";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
232 ($cooler_state == "0") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
233 $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
234 ($cooler_state == "100") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
235 $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
236 $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
237 $outstr .= ' </form>'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
238 $outstr .= ' </div>'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
239
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
240 $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
241 $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
242 (($mode == "NONE") && ($heater == "yes")) ? $dis = "" : $dis = " disabled";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
243 ($heater_state == "0") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
244 $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
245 ($heater_state == "100") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
246 $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
247 $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
248 $outstr .= ' </form>'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
249 $outstr .= ' </div>'.PHP_EOL;
178
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
250
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
251 $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
252 $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
253 (($mode == "NONE") && ($fan== "yes")) ? $dis = "" : $dis = " disabled";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
254 ($fan_state == "0") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
255 $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
256 ($fan_state == "100") ? $ch = " checked" : $ch = "";
988a898974f3 Web - server communication for switches improved.
Michiel Broek <mbroek@mbse.eu>
parents: 175
diff changeset
257 $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
258 $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
259 $outstr .= ' </form>'.PHP_EOL;
113
cf3f906ffe0d Created control panel layout
Michiel Broek <mbroek@mbse.eu>
parents: 112
diff changeset
260 $outstr .= ' </div>'.PHP_EOL;
151
ab90da2da45d Improved dashboard panel style, added (ugly) led's
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
261 $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
262
122
e57043423e72 Added fermentor maintenance windows
Michiel Broek <mbroek@mbse.eu>
parents: 121
diff changeset
263 $outstr .= ' </div> <!-- fermentor -->'.PHP_EOL;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
264 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
265
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
266 return $outstr;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
267 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
268
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
269
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
270
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
271 function liveview()
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
272 {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
273 $outstr = PHP_EOL;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
274
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
275 $sock = open_socket();
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
276 if ($sock !== false) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
277 socket_write($sock, "LIST", 4096);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
278
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
279 /*
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
280 * Multiple reads until the remote closed the connection
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
281 */
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
282 $answer = "";
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
283 while (1) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
284 $line = socket_read($sock, 4096);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
285 if ($line === '')
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
286 break;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
287 $answer .= $line;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
288 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
289 socket_close($sock);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
290 $arr = explode("\r\n", $answer);
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
291
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
292 $outstr .= ' <div id="jqxTabs">'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
293 $outstr .= ' <ul>'.PHP_EOL;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
294 if (startsWith($arr[0], "212")) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
295 $i = 1;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
296 while (1) {
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
297 if (strcmp($arr[$i], ".") == 0)
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
298 break;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
299 $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
300 $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
301 $i++;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
302 }
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
303 }
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
304 $outstr .= ' </ul>'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
305
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
306 if (startsWith($arr[0], "212")) {
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
307 $i = 1;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
308 while (1) {
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
309 if (strcmp($arr[$i], ".") == 0)
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
310 break;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
311 $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
312 $outstr .= showunit($parts[0], $i);
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
313 $i++;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
314 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
315 }
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
316 $outstr .= ' </div> <!-- jqxTabs -->'.PHP_EOL;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
317 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
318
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
319 return $outstr;
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
320 }
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
321
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
322
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
323 ?>

mercurial