www/ispindel/index.php

changeset 849
16079aef4c4c
parent 847
dc9281501ca6
equal deleted inserted replaced
848:542bdc7f6522 849:16079aef4c4c
14 } else if ($data['temp_units'] == 'F') { 14 } else if ($data['temp_units'] == 'F') {
15 $tempC = floatval($data['temperature']) / 1.8 - 32; 15 $tempC = floatval($data['temperature']) / 1.8 - 32;
16 } else { 16 } else {
17 $tempC = floatval($data['temperature']); 17 $tempC = floatval($data['temperature']);
18 } 18 }
19
20 /* The rounding in the tilt using less digits results in a 0.25 plato difference. Calculate here again using the calibration data. */
21 $tilt = $data['angle'];
22 $plato = (0.00028548 * $tilt * $tilt * $tilt) + (-0.03492272 * $tilt * $tilt) + (1.617106176 * $tilt) + -21.412976092;
23 syslog(LOG_NOTICE, "ispindel " . $input . " plato ".$plato);
24 19
25 $node = 'ispindel-' . sprintf("%06x", floatval($data['ID'])); 20 $node = 'ispindel-' . sprintf("%06x", floatval($data['ID']));
26 21
27 $alarm = 0; 22 $alarm = 0;
28 $interval = $data['interval']; 23 $interval = $data['interval'];
47 $alarm += 4; 42 $alarm += 4;
48 43
49 $uuid = 'c0ffeeee-cafe-dead-bee0-' . sprintf("%06x", 0xffffff - floatval($data['ID'])) . sprintf("%06x", floatval($data['ID'])); 44 $uuid = 'c0ffeeee-cafe-dead-bee0-' . sprintf("%06x", 0xffffff - floatval($data['ID'])) . sprintf("%06x", floatval($data['ID']));
50 $topic = 'mbv1.0/ispindels/DBIRTH/' . $node; 45 $topic = 'mbv1.0/ispindels/DBIRTH/' . $node;
51 $payload = '{"unit":{"uuid":"' . $uuid .'","alias":"' . $data['name'] . '","alarm":' . $alarm . ',"interval":' . $interval; 46 $payload = '{"unit":{"uuid":"' . $uuid .'","alias":"' . $data['name'] . '","alarm":' . $alarm . ',"interval":' . $interval;
52 $payload .= ',"angle":' . $data['angle'] . ',"temperature":' . $tempC . ',"battery":' . $data['battery'] . ',"gravity":' . $plato . '}}'; 47 $payload .= ',"angle":' . $data['angle'] . ',"temperature":' . $tempC . ',"battery":' . $data['battery'] . ',"gravity":' . $data['gravity'] . '}}';
53 $pub = $publisher . $topic . ' -m \'' .$payload . '\''; 48 $pub = $publisher . $topic . ' -m \'' .$payload . '\'';
54 exec($pub); 49 exec($pub);
55 } 50 }
56 51
57 ?> 52 ?>

mercurial