Sun, 05 Jan 2020 20:17:48 +0100
Added ispindel script
581 | 1 | <?php |
2 | ||
3 | require($_SERVER['DOCUMENT_ROOT']."/config.php"); | |
4 | ||
5 | if ($_SERVER['HTTP_USER_AGENT'] == 'ESP8266HTTPClient') { | |
6 | // /usr/bin/mosquitto_pub -h host] [-p port] [-u username [-P password]] -t topic -m message | |
7 | $publisher = '/usr/bin/mosquitto_pub -h '.MQTT_HOST.' -t '; | |
8 | ||
9 | $input = file_get_contents('php://input'); | |
10 | //syslog(LOG_NOTICE, "ispindel " . $input); | |
11 | $data = json_decode($input, true ); | |
12 | $node = 'ispindel-' . sprintf("%06x", floatval($data['ID'])); | |
13 | ||
14 | $uuid = 'c0ffeeee-cafe-dead-beef-' . sprintf("%06x", 0xffffff - floatval($data['ID'])) . sprintf("%06x", floatval($data['ID'])); | |
15 | $topic = 'mbv1.0/ispindels/NBIRTH/' . $node; | |
16 | $payload = '{"metric":{"uuid":"' . $uuid . '","interval":' . $data['interval'] . ','; | |
17 | $payload .= '"properties":{"hardwaremake":"Wemos","hardwaremodel":"D1 mini","os":"Unknown","os_version":"Unknown","FW":"Unknown"},'; | |
18 | $payload .= '"net":{"address":"' . $_SERVER['REMOTE_ADDR'] . '","ifname":"sta","rssi":' . $data['RSSI'] . '}}}'; | |
19 | $pub = $publisher . $topic . ' -m \'' . $payload . '\''; | |
20 | exec($pub); | |
21 | ||
22 | $alarm = 0; | |
23 | if (floatval($data['battery']) < 3.3) | |
24 | $alarm += 4; | |
25 | ||
26 | if ($data['temp_units'] == 'K') { | |
27 | $tempC = floatval($data['temperature']) - 273.15; | |
28 | } else if ($data['temp_units'] == 'F') { | |
29 | $tempC = floatval($data['temperature']) / 1.8 - 32; | |
30 | } else { | |
31 | $tempC = floatval($data['temperature']); | |
32 | } | |
33 | ||
34 | $uuid = 'c0ffeeee-cafe-dead-bee0-' . sprintf("%06x", 0xffffff - floatval($data['ID'])) . sprintf("%06x", floatval($data['ID'])); | |
35 | $topic = 'mbv1.0/ispindels/DBIRTH/' . $node; | |
36 | $payload = '{"unit":{"uuid":"' . $uuid .'","alias":"' . $data['name'] . '","alarm":' . $alarm . ',"interval":' . $data['interval']; | |
37 | $payload .= ',"angle":' . $data['angle'] . ',"temperature":' . $tempC . ',"battery":' . $data['battery'] . ',"gravity":' . $data['gravity'] . '}}'; | |
38 | $pub = $publisher . $topic . ' -m \'' .$payload . '\''; | |
39 | exec($pub); | |
40 | } | |
41 | ||
42 | ?> |