www-thermferm/index.php

Sun, 03 Aug 2014 22:49:33 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 03 Aug 2014 22:49:33 +0200
changeset 175
b73490398368
parent 168
1288dbf0f9b5
child 178
988a898974f3
permissions
-rw-r--r--

Units editing is more or less complete. Changed structures for heating, cooling, fan and door. Updated the web interface to confuigure all these things.

97
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 <?php
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 /*****************************************************************************
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3 * Copyright (C) 2014
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 *
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 * Michiel Broek <mbroek at mbse dot eu>
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 *
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 * This file is part of ThermFerm
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 *
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 * This is free software; you can redistribute it and/or modify it
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 * under the terms of the GNU General Public License as published by the
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 * Free Software Foundation; either version 2, or (at your option) any
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 * later version.
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 *
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 * ThermFerm is distributed in the hope that it will be useful, but
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 * WITHOUT ANY WARRANTY; without even the implied warranty of
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17 * General Public License for more details.
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18 *
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 * along with ThermFerm; see the file COPYING. If not, write to the Free
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
4a9dbee41a6c Added initial set for the thermferm web interface
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 *****************************************************************************/
99
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
23
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
24 /*
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
25 * Look for the style names in the jqwidgets/styles directory.
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
26 */
118
7c8f35a43cec Added maintenance window with only two buttons yet
Michiel Broek <mbroek@mbse.eu>
parents: 117
diff changeset
27 $my_style = 'ui-redmond';
99
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
28
155
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
29 require_once('utilities.php');
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
30 require_once('liveview.php');
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
31
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
32
155
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
33
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
34 /*
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
35 * Handle the post events
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
36 */
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
37 if (isset($_POST['mode']) && isset($_POST['UUID'])) {
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: 168
diff changeset
38 $sock = open_socket();
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: 168
diff changeset
39 if ($sock != false) {
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: 168
diff changeset
40 socket_write($sock, 'UNIT PUT '.$_POST['UUID'], 4096);
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: 168
diff changeset
41 usleep(20000);
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: 168
diff changeset
42 socket_write($sock, 'MODE,'.$_POST['mode'], 4096);
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: 168
diff changeset
43 usleep(20000);
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: 168
diff changeset
44 socket_write($sock, '.', 4096);
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: 168
diff changeset
45 /* Absorb response */
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: 168
diff changeset
46 while (1) {
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: 168
diff changeset
47 $line = socket_read($sock, 4096);
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: 168
diff changeset
48 if ($line === '')
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: 168
diff changeset
49 break;
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: 168
diff changeset
50 }
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: 168
diff changeset
51 socket_close($sock);
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: 168
diff changeset
52 }
168
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
53 unset($_POST['UUID']);
1288dbf0f9b5 Temperature auto refresh and some layout improvements.
Michiel Broek <mbroek@mbse.eu>
parents: 155
diff changeset
54 unset($_POST['mode']);
155
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
55 }
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
56
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
57
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
58
99
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
59 $outstr = '<!DOCTYPE html>'.PHP_EOL;
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
60 $outstr .= '<html>'.PHP_EOL;
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
61 $outstr .= ' <head>'.PHP_EOL;
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
62 $outstr .= ' <meta http-equiv="content-type" content="text/html; charset=utf-8" />'.PHP_EOL;
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
63 $outstr .= ' <title>ThermFerm monitor</title>'.PHP_EOL;
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
64 $outstr .= ' <link type="text/css" href="css/style.css" rel="stylesheet" media="all" />'.PHP_EOL;
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
65 $outstr .= ' <link type="text/css" href="jqwidgets/styles/jqx.base.css" rel="stylesheet" />'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
66 $outstr .= ' <link type="text/css" href="jqwidgets/styles/jqx.'.$my_style.'.css" rel="stylesheet" />'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
67 $outstr .= ' <script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
68 $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxcore.js"></script>'.PHP_EOL;
118
7c8f35a43cec Added maintenance window with only two buttons yet
Michiel Broek <mbroek@mbse.eu>
parents: 117
diff changeset
69 $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxwindow.js"></script>'.PHP_EOL;
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
70 $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxtabs.js"></script>'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
71 $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxcheckbox.js"></script>'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
72 $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxbuttons.js"></script>'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
73 $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxradiobutton.js"></script>'.PHP_EOL;
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
74 $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxchart.core.js"></script>'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
75 $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxdraw.js"></script>'.PHP_EOL;
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
76 $outstr .= ' <script type="text/javascript" src="jqwidgets/jqxdata.js"></script>'.PHP_EOL;
127
f2f45c44942f Added the maintenance 1-Wire display tab
Michiel Broek <mbroek@mbse.eu>
parents: 124
diff changeset
77 $outstr .= ' </head>'.PHP_EOL;
118
7c8f35a43cec Added maintenance window with only two buttons yet
Michiel Broek <mbroek@mbse.eu>
parents: 117
diff changeset
78
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
79 $outstr .= ' <body class="default">'.PHP_EOL;
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
80 $outstr .= ' <div id="jqxWidget">'.PHP_EOL;
99
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
81 $outstr .= ' <div id="header">'.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: 131
diff changeset
82 $outstr .= ' <form action="maintenance.php" style="margin:30px; float:right">'.PHP_EOL;
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: 131
diff changeset
83 $outstr .= ' <input type="submit" id="maintenance" value="Maintenance panel" />'.PHP_EOL;
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: 131
diff changeset
84 $outstr .= ' </form>'.PHP_EOL;
99
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
85 $outstr .= ' </div> <!-- header -->'.PHP_EOL;
100
012576d7386d Basic web idea
Michiel Broek <mbroek@mbse.eu>
parents: 99
diff changeset
86 $outstr .= liveview();
118
7c8f35a43cec Added maintenance window with only two buttons yet
Michiel Broek <mbroek@mbse.eu>
parents: 117
diff changeset
87
121
03306c3bfd60 Initial setup to draw charts
Michiel Broek <mbroek@mbse.eu>
parents: 118
diff changeset
88 /* Create the tabs */
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: 131
diff changeset
89 $outstr .= ' <script type="text/javascript" src="js/index.js"></script>'.PHP_EOL;
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents: 116
diff changeset
90 $outstr .= ' </div> <!-- jqxWidget -->'.PHP_EOL;
99
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
91 $outstr .= ' </body>'.PHP_EOL;
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
92 $outstr .= '</html>'.PHP_EOL;
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
93
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
94 echo $outstr;
5dccd1d8d817 Cleanup
Michiel Broek <mbroek@mbse.eu>
parents: 98
diff changeset
95
155
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
96 echo "_GET ";
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
97 print_r ($_GET);
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
98 echo "<br> _POST ";
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
99 print_r ($_POST);
0d86f3c0a07b Unit mode can switch between OFF and NONE.
Michiel Broek <mbroek@mbse.eu>
parents: 134
diff changeset
100

mercurial