Wed, 20 May 2020 21:49:09 +0200
Report any online status change via websocket broadcast. When starting, load all in memory tables sorted. The websocket status on the web pages has it's own panel. Prepared the menu system for dynamic updates.
507
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
1 | <?php |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
2 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
3 | require_once('config.php'); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
4 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
5 | if (isset($_GET["code"])) |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
6 | $code = $_GET["code"] . ' ' . $_GET["name"]; |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
7 | else |
600
c136dd22f662
Handle non excisting logfiles.
Michiel Broek <mbroek@mbse.eu>
parents:
507
diff
changeset
|
8 | $code = "CB0080 Op stoom"; |
507
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
9 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
10 | $filename = 'log/co2pressure/' . $code . '.log'; |
600
c136dd22f662
Handle non excisting logfiles.
Michiel Broek <mbroek@mbse.eu>
parents:
507
diff
changeset
|
11 | if (! file_exists($filename)) { |
c136dd22f662
Handle non excisting logfiles.
Michiel Broek <mbroek@mbse.eu>
parents:
507
diff
changeset
|
12 | header("Content-type: application/json"); |
c136dd22f662
Handle non excisting logfiles.
Michiel Broek <mbroek@mbse.eu>
parents:
507
diff
changeset
|
13 | echo '{}'; |
c136dd22f662
Handle non excisting logfiles.
Michiel Broek <mbroek@mbse.eu>
parents:
507
diff
changeset
|
14 | exit; |
c136dd22f662
Handle non excisting logfiles.
Michiel Broek <mbroek@mbse.eu>
parents:
507
diff
changeset
|
15 | } |
c136dd22f662
Handle non excisting logfiles.
Michiel Broek <mbroek@mbse.eu>
parents:
507
diff
changeset
|
16 | |
c136dd22f662
Handle non excisting logfiles.
Michiel Broek <mbroek@mbse.eu>
parents:
507
diff
changeset
|
17 | |
507
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
18 | /* |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
19 | * From Stackoverflow, the fastest way to count the lines in a file. |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
20 | */ |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
21 | $file = new \SplFileObject($filename, 'r'); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
22 | $file->seek(PHP_INT_MAX); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
23 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
24 | define ('MAX_INTERVALS', 10); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
25 | $GRAPH_INTERVAL = array ( 0, 1, 5, 15, 30, 60, 120, 240, 480, 720 ); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
26 | $GRAPH_DATALINES = array ( 0, 800, 3200, 12000, 24000, 48000, 96000, 192000, 384000, 768000 ); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
27 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
28 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
29 | for ($graphstep = 1; $graphstep <= MAX_INTERVALS; $graphstep++) { |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
30 | if ($file->key() < $GRAPH_DATALINES[$graphstep]) |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
31 | break; |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
32 | } |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
33 | if ($graphstep > MAX_INTERVALS) |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
34 | $graphstep = MAX_INTERVALS; |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
35 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
36 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
37 | /* |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
38 | * 2014-11-15 18:39:12,TEMPERATURE,PRESSURE,UUID |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
39 | * | | | | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
40 | * datetime + | | | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
41 | * temperature ------------+ | | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
42 | * pressure --------------------------+ | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
43 | * unit uuid --------------------------------+ |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
44 | */ |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
45 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
46 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
47 | $handle = @fopen($filename, "r"); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
48 | if ($handle) { |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
49 | $lines = 0; |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
50 | while (($buffer = fgets($handle, 4096)) !== false) { |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
51 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
52 | $buffer = preg_replace( "/\r|\n/", "", $buffer); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
53 | $row = explode(",", $buffer); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
54 | |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
55 | $hr = intval(substr($buffer, 11, 2)); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
56 | if ((($graphstep == 1)) || |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
57 | (($graphstep == 2) && ((substr($buffer, 15, 1) == '0') || (substr($buffer, 15, 1) == '5'))) || |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
58 | (($graphstep == 3) && ((substr($buffer, 14, 2) == '00') || (substr($buffer, 14, 2) == '15') || |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
59 | (substr($buffer, 14, 2) == '30') || (substr($buffer, 14, 2) == '45'))) || |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
60 | (($graphstep == 4) && ((substr($buffer, 14, 2) == '00') || (substr($buffer, 14, 2) == '30'))) || |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
61 | (($graphstep == 5) && (substr($buffer, 14, 2) == '00')) || |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
62 | (($graphstep == 6) && (substr($buffer, 14, 2) == '00') && (($hr % 2) == 0)) || |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
63 | (($graphstep == 7) && (substr($buffer, 14, 2) == '00') && (($hr % 4) == 0)) || |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
64 | (($graphstep == 8) && (substr($buffer, 14, 2) == '00') && (($hr % 8) == 0)) || |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
65 | (($graphstep == 9) && (substr($buffer, 14, 2) == '00') && (($hr % 12) == 0))) { |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
66 | $lines++; |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
67 | $logs[] = array( |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
68 | 'date' => $row[0], |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
69 | 'temperature' => $row[1], |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
70 | 'pressure' => $row[2] |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
71 | ); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
72 | } |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
73 | } |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
74 | if (!feof($handle)) { |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
75 | echo "Error: unexpected fgets() fail\n"; |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
76 | } |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
77 | fclose($handle); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
78 | } |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
79 | header("Content-type: application/json"); |
17f244137a9b
Add refermentation logfile and graph.
Michiel Broek <mbroek@mbse.eu>
parents:
diff
changeset
|
80 | echo json_encode($logs); |