Thu, 14 Mar 2024 19:37:53 +0100
Create installation directories
134
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1 | <?php |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2 | /***************************************************************************** |
344
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
3 | * Copyright (C) 2014-2015 |
134
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
4 | * |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
5 | * Michiel Broek <mbroek at mbse dot eu> |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
6 | * |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
7 | * This file is part of ThermFerm |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
8 | * |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
9 | * This is free software; you can redistribute it and/or modify it |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
10 | * under the terms of the GNU General Public License as published by the |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
11 | * Free Software Foundation; either version 2, or (at your option) any |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
12 | * later version. |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
13 | * |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
14 | * ThermFerm is distributed in the hope that it will be useful, but |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
15 | * WITHOUT ANY WARRANTY; without even the implied warranty of |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
17 | * General Public License for more details. |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
18 | * |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
19 | * You should have received a copy of the GNU General Public License |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
20 | * along with ThermFerm; see the file COPYING. If not, write to the Free |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
21 | * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
22 | *****************************************************************************/ |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
23 | |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
24 | require_once('utilities.php'); |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
25 | |
174 | 26 | /* |
27 | * $arr contains the complete reply of the LIST BUS command | |
28 | */ | |
196 | 29 | $answer = send_cmd("DEVICE LIST"); |
134
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
30 | $arr = explode("\r\n", $answer); |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
31 | |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
32 | |
174 | 33 | if (isset($_GET['action'])) { |
34 | switch ($_GET['action']) { | |
35 | case 'edit': device_edit(); | |
36 | break; | |
37 | default: break; | |
38 | } | |
39 | } elseif (isset($_POST['action'])) { | |
40 | switch ($_POST['action']) { | |
41 | case 'testdata': testdata(); | |
42 | break; | |
43 | default: break; | |
44 | } | |
45 | } else { | |
46 | device_list(); | |
47 | } | |
48 | ||
49 | exit; | |
50 | ||
51 | /**************************************************************************** | |
52 | * | |
53 | */ | |
54 | ||
55 | ||
56 | /* | |
57 | * Device add | |
58 | * | |
252
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
59 | * @param string $_POST['Type'] The device type |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
60 | * @param string $_POST['key'] The pressed key |
174 | 61 | */ |
62 | function device_add() { | |
252
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
63 | if ($_POST['key'] == 'Add') |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
64 | send_cmd("DEVICE ADD ".$_POST['Type']); |
174 | 65 | unset($_POST['UUID']); |
66 | unset($_POST['Name']); | |
67 | unset($_POST['key']); | |
68 | unset($_POST['command']); | |
69 | load('devices.php'); | |
70 | } | |
71 | ||
72 | ||
73 | ||
74 | /* | |
75 | * Device update | |
76 | * | |
77 | * @param string $_POST['UUID'] The device UUID | |
78 | * @param string $_POST['Type'] The device Type | |
79 | * @param string $_POST['Direction'] The device IO Direction | |
80 | * @param string $_POST['Value'] The device value | |
209
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
81 | * @param string $_POST['Offset'] The device offset |
174 | 82 | * @param string $_POST['Present'] The device Present state |
83 | * @param string $_POST['Address'] The device Address | |
84 | * @param string $_POST['Subdevice'] The device Subaddress | |
85 | * @param string $_POST['Gpiopin'] The device GPIO pin | |
86 | * @param string $_POST['Description'] The device Description | |
87 | * @param string $_POST['Comment'] The device Comment | |
88 | * @param string $_POST['key'] The button pressed. | |
89 | */ | |
90 | function device_update() { | |
91 | /* | |
92 | * Build the update command | |
93 | */ | |
94 | if ($_POST['key'] == 'Delete') { | |
196 | 95 | send_cmd("DEVICE DEL ".$_POST['UUID']); |
174 | 96 | } |
134
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
97 | |
174 | 98 | if ($_POST['key'] == 'Save') { |
252
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
99 | $cmd = array("DEVICE PUT ".$_POST['UUID']); |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
100 | $cmd[] = "TYPE,".$_POST['Type']; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
101 | $cmd[] = "DIRECTION,".$_POST['Direction']; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
102 | $cmd[] = "VALUE,".$_POST['Value']; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
103 | $cmd[] = "OFFSET,".$_POST['Offset']; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
104 | $cmd[] = "PRESENT,".$_POST['Present']; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
105 | $cmd[] = "ADDRESS,".$_POST['Address']; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
106 | $cmd[] = "SUBDEVICE,".$_POST['Subdevice']; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
107 | $cmd[] = "GPIOPIN,".$_POST['Gpiopin']; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
108 | $cmd[] = "DESCRIPTION,".$_POST['Description']; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
109 | $cmd[] = "COMMENT,".$_POST['Comment']; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
110 | $cmd[] = "."; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
111 | send_array($cmd); |
174 | 112 | } |
113 | ||
114 | unset($_POST['UUID']); | |
115 | unset($_POST['Type']); | |
116 | unset($_POST['Direction']); | |
117 | unset($_POST['Value']); | |
118 | unset($_POST['Present']); | |
119 | unset($_POST['Address']); | |
120 | unset($_POST['Subdevice']); | |
121 | unset($_POST['Gpiopin']); | |
122 | unset($_POST['Description']); | |
123 | unset($_POST['Comment']); | |
124 | unset($_POST['key']); | |
125 | unset($_POST['command']); | |
126 | load('devices.php'); | |
127 | } | |
128 | ||
129 | ||
130 | ||
131 | /* | |
132 | * Test input of a modified or new device. | |
133 | * | |
134 | * @param string $_POST['UUID'] Unique record UUID | |
135 | * @param string $_POST['Type'] Device Type | |
136 | * @param string $_POST['Direction'] | |
137 | * @param string $_POST['Value'] | |
209
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
138 | * @param string $_POST['Offset'] |
174 | 139 | * @param string $_POST['Present'] |
140 | * @param string $_POST['Address'] | |
141 | * @param string $_POST['Subdevice'] | |
142 | * @param string $_POST['Gpiopin'] | |
143 | * @param string $_POST['Description'] | |
144 | * @param string $_POST['Comment'] | |
145 | * @param string $_POST['key'] Key choice, Save or Cancel | |
146 | * @param string $_POST['command'] Command used, 'add' or 'update' | |
147 | * | |
148 | * Return: 0 = Ok | |
149 | * 1 = Missing data | |
150 | * 2 = Address field too short | |
151 | * 3 = Address/Subdevice already in use | |
152 | * 4 = Description field too short | |
153 | * 5 = Comment field too short | |
154 | * 99 = Cancel key | |
155 | */ | |
156 | function test_thedata() { | |
157 | ||
158 | global $arr; | |
159 | ||
209
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
160 | if (isset($_POST['UUID']) && isset($_POST['Type']) && isset($_POST['Direction']) && isset($_POST['Value']) && isset($_POST['Offset']) && |
174 | 161 | isset($_POST['Present']) && isset($_POST['Address']) && isset($_POST['Subdevice']) && isset($_POST['Gpiopin']) && |
162 | isset($_POST['Description']) && isset($_POST['Comment']) && isset($_POST['key']) && isset($_POST['command'])) { | |
163 | ||
164 | if ($_POST['key'] == 'Cancel') | |
165 | return 99; | |
166 | ||
167 | if (strlen($_POST['Address']) < 2) | |
168 | return 2; | |
169 | ||
170 | if (startsWith($arr[0], "212")) { | |
171 | $j = 1; | |
172 | while (1) { | |
173 | if (strcmp($arr[$j], ".") == 0) | |
174 | break; | |
175 | $f = explode(",", $arr[$j]); | |
176 | if (strcmp($f[0], $_POST['UUID']) && ($f[1] == $_POST['Address']) && ($f[2] == $_POST['Subdevice'])) { | |
177 | return 3; | |
178 | } | |
179 | $j++; | |
180 | } | |
181 | } | |
182 | ||
183 | if (strlen($_POST['Description']) < 2) | |
184 | return 4; | |
185 | ||
186 | if (strlen($_POST['Comment']) < 2) | |
187 | return 5; | |
188 | ||
189 | } else { | |
190 | return 1; | |
191 | } | |
192 | ||
193 | return 0; | |
194 | } | |
195 | ||
196 | ||
197 | ||
198 | /* | |
199 | * Test result from edit screen and do next action | |
200 | */ | |
201 | function testdata() { | |
202 | ||
203 | $result = test_thedata(); | |
204 | $error = ''; | |
134
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
205 | |
174 | 206 | switch ($result) { |
207 | case 0: if ($_POST['command'] == 'add') { | |
208 | device_add(); | |
209 | return; | |
210 | } else if ($_POST['command'] == 'update') { | |
211 | device_update(); | |
212 | return; | |
213 | } | |
214 | break; | |
215 | case 1: $error = 'Missing data'; | |
216 | break; | |
217 | case 2: $error = 'The Address is too short'; | |
218 | break; | |
219 | case 3: $error = 'The Address + Subdevice is already in use, choose another one'; | |
220 | break; | |
221 | case 4: $error = 'The Description is too short'; | |
222 | break; | |
223 | case 5: $error = 'The Comment is too short'; | |
224 | break; | |
225 | case 99: | |
226 | load('devices.php'); | |
227 | break; | |
228 | } | |
229 | ||
230 | if ($_POST['command'] == 'add') { | |
231 | $heading = 'ThermFerm - Add Device'; | |
232 | } else { | |
233 | $heading = 'ThermFerm - Edit Device'; | |
234 | } | |
235 | ||
236 | edit_screen($_POST['UUID'], $_POST['command'], $heading, $error); | |
237 | } | |
238 | ||
239 | ||
240 | ||
241 | /* | |
242 | * Unit edit screen. Used by unit_edit(), unit_add() and testdata() | |
243 | * | |
244 | * @param string $UUID The record UUID (fixed). | |
245 | * @param string $command 'add' or 'update' | |
246 | * @param string $heading Page heading title. | |
247 | * @Param string $error_message Blank or previous error. | |
248 | */ | |
249 | function edit_screen($UUID, $command, $heading, $error_message) { | |
250 | ||
196 | 251 | $answer = send_cmd("DEVICE GET ".$UUID); |
174 | 252 | $reply = explode("\r\n", $answer); |
253 | ||
254 | $outstr = build_header($heading); | |
255 | $outstr .= ' <div id="errors">'.PHP_EOL; | |
256 | $outstr .= ' '.$error_message.PHP_EOL; | |
257 | $outstr .= ' </div> <!-- errors -->'.PHP_EOL; | |
258 | $outstr .= ' <div id="etable">'.PHP_EOL; | |
259 | $outstr .= ' <form method="POST" action="devices.php">'.PHP_EOL; | |
260 | $outstr .= ' <table class="editor">'.PHP_EOL; | |
261 | ||
262 | if (startsWith($reply[0], "213")) { | |
263 | $j = 1; | |
264 | while (1) { | |
265 | if (strcmp($reply[$j], ".") == 0) | |
266 | break; | |
267 | $f = explode(",", $reply[$j]); | |
268 | if ($f[0] == "TYPE") { | |
269 | $type = $f[1]; | |
270 | /* | |
271 | * Only allow certain types to edit. Auto detected hardware cannot be changed. | |
272 | */ | |
273 | $outstr .= ' <tr class="editor">'.PHP_EOL; | |
274 | $outstr .= ' <td class="editname">Device Type</td>'.PHP_EOL; | |
344
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
275 | if (($type == "W1") || ($type == "GPIO") || ($type == "SIM")) |
174 | 276 | $outstr .= ' <td class="editfield"><input type="hidden" name="Type" value="'.$f[1].'">'.$f[1].'</td>'.PHP_EOL; |
277 | else | |
278 | $outstr .= ' <td class="editfield"><input type="text" name="Type" size="50" value="'.$f[1].'"></td>'.PHP_EOL; | |
279 | $outstr .= ' </tr>'.PHP_EOL; | |
280 | } | |
344
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
281 | if ($f[0] == "ADDRESS") { |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
282 | $address = $f[1]; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
283 | $outstr .= ' <tr class="editor">'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
284 | $outstr .= ' <td class="editname">Address</td>'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
285 | if (($type == "W1") || ($type == "GPIO")) |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
286 | $outstr .= ' <td class="editfield"><input type="hidden" name="Address" value="'.$f[1].'">'.$f[1].'</td>'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
287 | else |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
288 | $outstr .= ' <td class="editfield"><input type="text" name="Address" size="50" value="'.$f[1].'"></td>'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
289 | $outstr .= ' </tr>'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
290 | } |
174 | 291 | if ($f[0] == "DIRECTION") { |
292 | $direction = $f[1]; | |
293 | /* | |
294 | * Only devices that cannot auto detect can be changed. | |
295 | */ | |
296 | $outstr .= ' <tr class="editor">'.PHP_EOL; | |
297 | $outstr .= ' <td class="editname">IO Direction and mode</td>'.PHP_EOL; | |
344
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
298 | if ($type == "W1") { |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
299 | if ((strncmp($address, "29", 2) == 0) || (strncmp($address, "3a", 2) == 0)) { |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
300 | $outstr .= ' <td class="editfield"><select name="Direction">'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
301 | $se = ($f[1] == "UNDEF")?" selected":""; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
302 | $outstr .= ' <option value="UNDEF"'.$se.'>Undefined</option>'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
303 | $se = ($f[1] == "IN_BIN")?" selected":""; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
304 | $outstr .= ' <option value="IN_BIN"'.$se.'>Binary input</option>'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
305 | $se = ($f[1] == "OUT_BIN")?" selected":""; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
306 | $outstr .= ' <option value="OUT_BIN"'.$se.'>Binary output</option>'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
307 | $se = ($f[1] == "OUT_PWM")?" selected":""; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
308 | $outstr .= ' <option value="OUT_PWM"'.$se.'>PWM output</option>'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
309 | $outstr .= ' </select></td>'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
310 | } else { |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
311 | $outstr .= ' <td class="editfield"><input type="hidden" name="Direction" value="'.$f[1].'">'.$f[1].'</td>'.PHP_EOL; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
312 | } |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
313 | } else { |
174 | 314 | $outstr .= ' <td class="editfield"><select name="Direction">'.PHP_EOL; |
315 | if ($type == "GPIO") { | |
316 | $se = ($f[1] == "UNDEF")?" selected":""; | |
317 | $outstr .= ' <option value="UNDEF"'.$se.'>Undefined</option>'.PHP_EOL; | |
318 | $se = ($f[1] == "IN_BIN")?" selected":""; | |
319 | $outstr .= ' <option value="IN_BIN"'.$se.'>Binary input</option>'.PHP_EOL; | |
320 | $se = ($f[1] == "OUT_BIN")?" selected":""; | |
321 | $outstr .= ' <option value="OUT_BIN"'.$se.'>Binary output</option>'.PHP_EOL; | |
322 | $se = ($f[1] == "OUT_PWM")?" selected":""; | |
323 | $outstr .= ' <option value="OUT_PWM"'.$se.'>PWM output</option>'.PHP_EOL; | |
324 | } | |
325 | if ($type == "RC433") { | |
326 | $se = ($f[1] == "UNDEF")?" selected":""; | |
327 | $outstr .= ' <option value="UNDEF"'.$se.'>Undefined</option>'.PHP_EOL; | |
328 | $se = ($f[1] == "OUT_BIN")?" selected":""; | |
329 | $outstr .= ' <option value="OUT_BIN"'.$se.'>Binary output</option>'.PHP_EOL; | |
330 | } | |
331 | if ($type == "DHT") { | |
332 | $se = ($f[1] == "UNDEF")?" selected":""; | |
333 | $outstr .= ' <option value="UNDEF"'.$se.'>Undefined</option>'.PHP_EOL; | |
334 | $se = ($f[1] == "IN_ANALOG")?" selected":""; | |
335 | $outstr .= ' <option value="IN_ANALOG"'.$se.'>Analog input</option>'.PHP_EOL; | |
336 | } | |
252
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
337 | if ($type == "I2C") { |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
338 | $se = ($f[1] == "UNDEF")?" selected":""; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
339 | $outstr .= ' <option value="UNDEF"'.$se.'>Undefined</option>'.PHP_EOL; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
340 | } |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
341 | if ($type == "SPI") { |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
342 | $se = ($f[1] == "UNDEF")?" selected":""; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
343 | $outstr .= ' <option value="UNDEF"'.$se.'>Undefined</option>'.PHP_EOL; |
2197976f2bc5
Device editor uses array commands
Michiel Broek <mbroek@mbse.eu>
parents:
232
diff
changeset
|
344 | } |
344
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
345 | if ($type == "SIM") { |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
346 | $se = ($f[1] == "UNDEF")?" selected":""; |
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
347 | $outstr .= ' <option value="UNDEF"'.$se.'>Undefined</option>'.PHP_EOL; |
362
c92651a54969
Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents:
345
diff
changeset
|
348 | $se = ($f[1] == "IN_BIN")?" selected":""; |
c92651a54969
Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents:
345
diff
changeset
|
349 | $outstr .= ' <option value="IN_BIN"'.$se.'>Binary input</option>'.PHP_EOL; |
c92651a54969
Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents:
345
diff
changeset
|
350 | $se = ($f[1] == "IN_ANALOG")?" selected":""; |
c92651a54969
Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents:
345
diff
changeset
|
351 | $outstr .= ' <option value="IN_ANALOG"'.$se.'>Analog input</option>'.PHP_EOL; |
c92651a54969
Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents:
345
diff
changeset
|
352 | $se = ($f[1] == "OUT_BIN")?" selected":""; |
c92651a54969
Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents:
345
diff
changeset
|
353 | $outstr .= ' <option value="OUT_BIN"'.$se.'>Binary output</option>'.PHP_EOL; |
c92651a54969
Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents:
345
diff
changeset
|
354 | $se = ($f[1] == "OUT_ANALOG")?" selected":""; |
c92651a54969
Made the client-server protocol more robust. When a change to a unit is made using the web interface, the main process is stopped during the update. Splitted the PID in two PID's, one for heating and one for cooling. Adjusted the web edit scrreen for this, but there are still rough edges. Replaced the PID code, maybe this one works better for our purpose. The simulator air temperature changes on the simulator heater and cooler, but it is not realistic at all. This is a development version, do not use in production. The version is 0.3.0
Michiel Broek <mbroek@mbse.eu>
parents:
345
diff
changeset
|
355 | $outstr .= ' <option value="OUT_ANALOG"'.$se.'>Analog output</option>'.PHP_EOL; |
344
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
356 | } |
174 | 357 | $outstr .= ' </select></td>'.PHP_EOL; |
358 | } | |
359 | $outstr .= ' </tr>'.PHP_EOL; | |
360 | } | |
361 | if ($f[0] == "VALUE") { | |
362 | /* | |
363 | * Only output can be changed | |
364 | */ | |
365 | $outstr .= ' <tr class="editor">'.PHP_EOL; | |
366 | $outstr .= ' <td class="editname">Value</td>'.PHP_EOL; | |
367 | if (($direction == "OUT_BIN") || ($direction == "OUT_ANALOG") || ($direction == "OUT_PWM")) | |
368 | $outstr .= ' <td class="editfield"><input type="text" name="Value" size="50" value="'.$f[1].'"></td>'.PHP_EOL; | |
369 | else | |
370 | $outstr .= ' <td class="editfield"><input type="hidden" name="Value" value="'.$f[1].'">'.$f[1].'</td>'.PHP_EOL; | |
371 | $outstr .= ' </tr>'.PHP_EOL; | |
372 | } | |
209
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
373 | if ($f[0] == "OFFSET") { |
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
374 | $outstr .= ' <tr class="editor">'.PHP_EOL; |
344
acd840c9fcc0
Fixed Offset label in device editor. Added code to edit pin states for DS2408 and DS2413 1-wire devices.
Michiel Broek <mbroek@mbse.eu>
parents:
252
diff
changeset
|
375 | $outstr .= ' <td class="editname">Offset</td>'.PHP_EOL; |
209
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
376 | if ($direction == "IN_ANALOG") |
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
377 | $outstr .= ' <td class="editfield"><input type="text" name="Offset" size="50" value="'.$f[1].'"></td>'.PHP_EOL; |
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
378 | else |
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
379 | $outstr .= ' <td class="editfield"><input type="hidden" name="Offset" value="'.$f[1].'">'.$f[1].'</td>'.PHP_EOL; |
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
380 | $outstr .= ' </tr>'.PHP_EOL; |
c5b1dfd83e81
Added offset value for sensor that need it
Michiel Broek <mbroek@mbse.eu>
parents:
196
diff
changeset
|
381 | } |
174 | 382 | if ($f[0] == "PRESENT") { |
383 | /* | |
384 | * Only devices that cannot auto detect can be changed. | |
385 | */ | |
386 | $outstr .= ' <tr class="editor">'.PHP_EOL; | |
387 | $outstr .= ' <td class="editname">Device Present</td>'.PHP_EOL; | |
388 | if (($type == "W1") || ($type == "GPIO")) | |
389 | $outstr .= ' <td class="editfield"><input type="hidden" name="Present" value="'.$f[1].'">'.$f[1].'</td>'.PHP_EOL; | |
390 | else { | |
391 | $outstr .= ' <td class="editfield"><select name="Present">'.PHP_EOL; | |
392 | $se = ($f[1] == "UNDEF")?" selected":""; | |
393 | $outstr .= ' <option value="UNDEF"'.$se.'>Undefined</option>'.PHP_EOL; | |
394 | $se = ($f[1] == "NO")?" selected":""; | |
395 | $outstr .= ' <option value="NO"'.$se.'>Not present</option>'.PHP_EOL; | |
396 | $se = ($f[1] == "YES")?" selected":""; | |
397 | $outstr .= ' <option value="YES"'.$se.'>Present and Ok</option>'.PHP_EOL; | |
398 | $se = ($f[1] == "ERROR")?" selected":""; | |
399 | $outstr .= ' <option value="ERROR"'.$se.'>Present and Error</option>'.PHP_EOL; | |
400 | $outstr .= ' </select></td>'.PHP_EOL; | |
401 | } | |
402 | $outstr .= ' </tr>'.PHP_EOL; | |
403 | } | |
404 | if ($f[0] == "SUBDEVICE") { | |
405 | $outstr .= ' <tr class="editor">'.PHP_EOL; | |
406 | $outstr .= ' <td class="editname">Subdevice</td>'.PHP_EOL; | |
407 | if (($type == "W1") || ($type == "GPIO")) | |
408 | $outstr .= ' <td class="editfield"><input type="hidden" name="Subdevice" value="'.$f[1].'">'.$f[1].'</td>'.PHP_EOL; | |
409 | else | |
410 | $outstr .= ' <td class="editfield"><input type="text" name="Subdevice" size="5" value="'.$f[1].'"></td>'.PHP_EOL; | |
411 | $outstr .= ' </tr>'.PHP_EOL; | |
412 | } | |
413 | if ($f[0] == "GPIOPIN") { | |
414 | $outstr .= ' <tr class="editor">'.PHP_EOL; | |
415 | $outstr .= ' <td class="editname">GPIO pin</td>'.PHP_EOL; | |
416 | $outstr .= ' <td class="editfield"><input type="text" name="Gpiopin" size="5" value="'.$f[1].'"></td>'.PHP_EOL; | |
417 | $outstr .= ' </tr>'.PHP_EOL; | |
418 | } | |
419 | if ($f[0] == "DESCRIPTION") { | |
420 | $outstr .= ' <tr class="editor">'.PHP_EOL; | |
421 | $outstr .= ' <td class="editname">Description</td>'.PHP_EOL; | |
422 | $outstr .= ' <td class="editfield"><input type="text" name="Description" size="50" value="'.$f[1].'"></td>'.PHP_EOL; | |
423 | $outstr .= ' </tr>'.PHP_EOL; | |
424 | } | |
425 | if ($f[0] == "COMMENT") { | |
426 | $outstr .= ' <tr class="editor">'.PHP_EOL; | |
427 | $outstr .= ' <td class="editname">Comment</td>'.PHP_EOL; | |
428 | $outstr .= ' <td class="editfield"><input type="text" name="Comment" size="50" value="'.$f[1].'"></td>'.PHP_EOL; | |
429 | $outstr .= ' </tr>'.PHP_EOL; | |
430 | } | |
431 | $j++; | |
432 | } | |
433 | } | |
434 | ||
435 | $outstr .= ' <tr class="editor">'.PHP_EOL; | |
436 | $outstr .= ' <td class="editname"><input type="submit" value="Save" name="key"></td>'.PHP_EOL; | |
437 | $outstr .= ' <td class="editfield"><input type="submit" value="Cancel" name="key">'; | |
438 | $outstr .= '<input type="submit" value="Delete" name="key" style="margin-left: 100px;">'; | |
439 | $outstr .= '<input type="hidden" value="testdata" name="action">'; | |
440 | $outstr .= '<input type="hidden" value="'.$command.'" name="command">'; | |
441 | $outstr .= '<input type="hidden" value="'.$UUID.'" name="UUID"></td>'.PHP_EOL; | |
442 | $outstr .= ' </tr>'.PHP_EOL; | |
443 | $outstr .= ' </table>'.PHP_EOL; | |
444 | $outstr .= ' </form>'.PHP_EOL; | |
445 | $outstr .= ' </div> <!-- etable -->'.PHP_EOL; | |
397
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
362
diff
changeset
|
446 | $outstr .= ' <script type="text/javascript">'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
362
diff
changeset
|
447 | $outstr .= ' $(document).ready(function () {'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
362
diff
changeset
|
448 | $outstr .= ' $("#maintenance").jqxButton({ width: 150, height: 25, theme: \'ui-redmond\' });'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
362
diff
changeset
|
449 | $outstr .= ' });'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
362
diff
changeset
|
450 | $outstr .= ' </script>'.PHP_EOL; |
174 | 451 | $outstr .= build_footer(); |
452 | echo $outstr; | |
453 | } | |
454 | ||
455 | ||
456 | ||
457 | /* | |
458 | * Edit a Device. Fetches the record data and shows the edit screen. | |
459 | * | |
460 | * @param string $_GET['action'] Must be 'edit'. | |
461 | * @param string $_GET['UUID'] The UUID of the Unit. | |
462 | */ | |
463 | function device_edit() { | |
464 | if ($_GET['action'] == 'edit') { | |
465 | edit_screen($_GET['UUID'], 'update', 'ThermFerm - Edit Device', ''); | |
466 | return; | |
467 | } else { | |
468 | load('devices.php'); | |
134
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
469 | } |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
470 | } |
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
471 | |
174 | 472 | |
473 | ||
474 | /* | |
475 | * @link edit device | |
476 | * @link add device | |
477 | */ | |
478 | function device_list() { | |
479 | global $arr; | |
480 | ||
481 | $outstr = build_header("ThermFerm - Devices Setup"); | |
482 | $outstr .= ' <div id="errors">'.PHP_EOL; | |
483 | $outstr .= ' </div> <!-- errors -->'.PHP_EOL; | |
484 | $outstr .= ' <div id="etable">'.PHP_EOL; | |
485 | $outstr .= ' <table class="setup">'.PHP_EOL; | |
486 | $outstr .= ' <tr class="trhead">'.PHP_EOL; | |
487 | $outstr .= ' <td class="setup" style="width: 300px;">UUID</td>'.PHP_EOL; | |
488 | $outstr .= ' <td class="setup" style="width: 120px;">Address</td>'.PHP_EOL; | |
345
9894b559441c
Added device direction and value in devices maintenance screen
Michiel Broek <mbroek@mbse.eu>
parents:
344
diff
changeset
|
489 | $outstr .= ' <td class="setup" style="width: 25px;">Sub</td>'.PHP_EOL; |
9894b559441c
Added device direction and value in devices maintenance screen
Michiel Broek <mbroek@mbse.eu>
parents:
344
diff
changeset
|
490 | $outstr .= ' <td class="setup" style="width: 25px;">Ref</td>'.PHP_EOL; |
9894b559441c
Added device direction and value in devices maintenance screen
Michiel Broek <mbroek@mbse.eu>
parents:
344
diff
changeset
|
491 | $outstr .= ' <td class="setup" style="width: 200px;">Cmt</td>'.PHP_EOL; |
9894b559441c
Added device direction and value in devices maintenance screen
Michiel Broek <mbroek@mbse.eu>
parents:
344
diff
changeset
|
492 | $outstr .= ' <td class="setup" style="width: 70px;">Dir</td>'.PHP_EOL; |
9894b559441c
Added device direction and value in devices maintenance screen
Michiel Broek <mbroek@mbse.eu>
parents:
344
diff
changeset
|
493 | $outstr .= ' <td class="setup" style="width: 70px;">Val</td>'.PHP_EOL; |
174 | 494 | $outstr .= ' <td class="setup" style="width: 35px;">Edit</td>'.PHP_EOL; |
495 | $outstr .= ' </tr>'.PHP_EOL; | |
134
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
496 | |
174 | 497 | if (startsWith($arr[0], "212")) { |
498 | $j = 1; | |
499 | while (1) { | |
500 | if (strcmp($arr[$j], ".") == 0) | |
501 | break; | |
502 | $f = explode(",", $arr[$j]); | |
503 | $outstr .= ' <tr class="setup">'.PHP_EOL; | |
504 | $outstr .= ' <td class="setup">'.$f[0].'</td>'.PHP_EOL; | |
505 | $outstr .= ' <td class="setup">'.$f[1].'</td>'.PHP_EOL; | |
506 | $outstr .= ' <td class="setup">'.$f[2].'</td>'.PHP_EOL; | |
507 | $outstr .= ' <td class="setup">'.$f[3].'</td>'.PHP_EOL; | |
508 | $outstr .= ' <td class="setup">'.$f[4].'</td>'.PHP_EOL; | |
345
9894b559441c
Added device direction and value in devices maintenance screen
Michiel Broek <mbroek@mbse.eu>
parents:
344
diff
changeset
|
509 | $outstr .= ' <td class="setup">'.$f[5].'</td>'.PHP_EOL; |
9894b559441c
Added device direction and value in devices maintenance screen
Michiel Broek <mbroek@mbse.eu>
parents:
344
diff
changeset
|
510 | $outstr .= ' <td class="setup">'.$f[6].'</td>'.PHP_EOL; |
174 | 511 | if ($f[3] == 0) |
512 | $outstr .= ' <td class="setup"><a href="devices.php?action=edit&UUID='.$f[0].'">Edit</a></td>'.PHP_EOL; | |
513 | else | |
514 | $outstr .= ' <td class="setup">Busy</td>'.PHP_EOL; | |
515 | $outstr .= ' </tr>'.PHP_EOL; | |
516 | $j++; | |
517 | } | |
518 | } | |
519 | ||
520 | $outstr .= ' </table>'.PHP_EOL; | |
521 | $outstr .= ' </div> <!-- etable -->'.PHP_EOL; | |
134
f05601490415
Redesigned the web interface, one single app is too slow. The main dashboard will be a shiny ajax driven page, the setup pages will be simple and php only. Keep It Simple, Stupid.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
522 | |
174 | 523 | $outstr .= ' <div id="atable">'.PHP_EOL; |
524 | $outstr .= ' <form method="POST" action="devices.php">'.PHP_EOL; | |
525 | $outstr .= ' <table class="editor">'.PHP_EOL; | |
526 | $outstr .= ' <tr class="trhead"><td colspan="3">Add new Device</td></tr>'.PHP_EOL; | |
527 | $outstr .= ' <tr class="editor">'.PHP_EOL; | |
528 | $outstr .= ' <td class="editname">Select Device type</td>'.PHP_EOL; | |
529 | $outstr .= ' <td class="editfield">'.PHP_EOL; | |
530 | $outstr .= ' <select name="Type">'.PHP_EOL; | |
531 | $outstr .= ' <option value="NA">Not Available</option>'.PHP_EOL; | |
532 | $outstr .= ' <option value="RC433">433 Mhz Radio Controller</option>'.PHP_EOL; | |
533 | $outstr .= ' <option value="DHT">DHTnn type sensor</option>'.PHP_EOL; | |
534 | $outstr .= ' <option value="I2C">I2C bus device</option>'.PHP_EOL; | |
535 | $outstr .= ' <option value="SPI">SPI bus device</option>'.PHP_EOL; | |
536 | $outstr .= ' </select>'.PHP_EOL; | |
537 | $outstr .= ' </td>'.PHP_EOL; | |
538 | $outstr .= ' <td class="editsub"><input type="submit" value="Add" name="key"></td>'.PHP_EOL; | |
539 | $outstr .= '<input type="hidden" value="testdata" name="action">'; | |
540 | $outstr .= '<input type="hidden" value="add" name="command">'; | |
541 | $outstr .= '<input type="hidden" value="00000000-0000-0000-0000-000000000000" name="UUID">'; | |
542 | $outstr .= '<input type="hidden" value="UNDEF" name="Direction">'; | |
543 | $outstr .= '<input type="hidden" value="0" name="Value">'; | |
232 | 544 | $outstr .= '<input type="hidden" value="0" name="Offset">'; |
174 | 545 | $outstr .= '<input type="hidden" value="UNDEF" name="Present">'; |
546 | $outstr .= '<input type="hidden" value="address unknown" name="Address">'; | |
547 | $outstr .= '<input type="hidden" value="0" name="Subdevice">'; | |
548 | $outstr .= '<input type="hidden" value="-1" name="Gpiopin">'; | |
549 | $outstr .= '<input type="hidden" value="Describe me" name="Description">'; | |
550 | $outstr .= '<input type="hidden" value="Comment me" name="Comment">'; | |
551 | $outstr .= ' </tr>'.PHP_EOL; | |
552 | $outstr .= ' </table>'.PHP_EOL; | |
553 | $outstr .= ' </form>'.PHP_EOL; | |
554 | $outstr .= ' </div> <!-- atable -->'.PHP_EOL; | |
555 | ||
397
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
362
diff
changeset
|
556 | $outstr .= ' <script type="text/javascript">'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
362
diff
changeset
|
557 | $outstr .= ' $(document).ready(function () {'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
362
diff
changeset
|
558 | $outstr .= ' $("#maintenance").jqxButton({ width: 150, height: 25, theme: \'ui-redmond\' });'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
362
diff
changeset
|
559 | $outstr .= ' });'.PHP_EOL; |
00ca08f5a6f8
Fermentation profiles now have a low and high temperature setting so that you can use a temperture window. Each profile step can now set for beer or air temperature reference. The logfiles have an extra temperature field for this. Bumped to version 0.4.2.
Michiel Broek <mbroek@mbse.eu>
parents:
362
diff
changeset
|
560 | $outstr .= ' </script>'.PHP_EOL; |
174 | 561 | $outstr .= build_footer(); |
562 | ||
563 | echo $outstr; | |
564 | } | |
565 |