www/dbglobal.php

Fri, 03 May 2024 14:14:01 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 03 May 2024 14:14:01 +0200
changeset 717
22dd7ab614e5
parent 698
www/getglobal.php@92a080c1a5d5
permissions
-rw-r--r--

Add new fermenter adds dummy yeast temperatures. Periodic thermferm unit logging adds the unit alias name. Added Green LED hide color. Moved getglobal.php to dbglobal.php. Adjusted several record types in global and fermenter javascript records so there is less guesswork. Only display control leds and switches for defined equipment.

679
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 <?php
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 function open_socket()
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5 {
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 if (!($sock === false)) {
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 if (socket_connect($sock, "localhost", 6554)) {
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 socket_set_option($sock, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 15, 'usec' => 0));
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
11 } else {
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
12 socket_close($sock);
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
13 }
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
14 }
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
15 return $sock;
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
16 }
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
17
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
18
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
19 /**
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
20 * @param string $command to send to the server.
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21 * @return string with the complete reply from the
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 * server. This can be a multiline reply.
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 */
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24 function send_cmd($command)
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
25 {
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
26 $sock = open_socket();
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 if ($sock == false) {
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 return "";
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 }
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 socket_write($sock, $command . "\r\n", 4096);
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 $answer = "";
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33 while (1) {
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
34 $line = socket_read($sock, 4096);
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
35 if ($line === '')
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
36 break;
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
37 $answer .= $line;
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
38 }
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
39 socket_close($sock);
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
40
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
41 return $answer;
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
42 }
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
45 function startsWith($haystack, $needle)
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
46 {
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
47 return !strncmp($haystack, $needle, strlen($needle));
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
48 }
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49
698
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
50 $response = array(
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
51 'error' => false,
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
52 'msg' => 'Ok',
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
53 );
679
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
54
698
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
55
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
56 if (isset($_POST['update'])) {
679
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57
698
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
58 /* Changing ports does not yet work in the web scripts, disabled. */
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
59 $cmd = "GLOBAL PUT\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
60 $cmd .= "NAME," . $_POST['name'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
61 // $cmd .= "PORT," . $_POST['port'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
62 $cmd .= "TEMP_UUID," . $_POST['temp_uuid'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
63 $cmd .= "HUM_UUID," . $_POST['hum_uuid'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
64 $cmd .= "TEMP_HUM_IDX," . $_POST['temp_hum_idx'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
65 $cmd .= "LCD_ADDRESS," . $_POST['lcd_address'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
66 $cmd .= "LCD_COLS," . $_POST['lcd_cols'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
67 $cmd .= "LCD_ROWS," . $_POST['lcd_rows'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
68 $cmd .= "MQTT_HOST," . $_POST['mqtt_host'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
69 $cmd .= "MQTT_PORT," . $_POST['mqtt_port'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
70 $cmd .= "MQTT_USER," . $_POST['mqtt_user'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
71 $cmd .= "MQTT_PASS," . $_POST['mqtt_pass'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
72 // $cmd .= "WEBSOCKET_PORT," . $_POST['websocket_port'] . "\r\n";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
73 $cmd .= ".";
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
74 $answer = send_cmd($cmd);
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
75 $arr = explode("\r\n", $answer);
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
76 if (! startsWith($arr[0], "219")) {
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
77 $response['error'] = true;
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
78 }
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
79 exit(json_encode($response));
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
80
679
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
81 } else {
698
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
82
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
83 $answer = send_cmd("GLOBAL JSON");
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
84 header("Content-type: application/json");
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
85
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
86 $arr = explode("\r\n", $answer);
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
87 if (startsWith($arr[0], "213")) {
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
88 echo $arr[1];
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
89 } else {
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
90 echo '{}';
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
91 }
679
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
92 }
ecfcb1104b54 Added getglobal.php script
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93
698
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
94
92a080c1a5d5 Finished global setup including Save.
Michiel Broek <mbroek@mbse.eu>
parents: 679
diff changeset
95 ?>

mercurial