_sensor->getData(); $device = intval(isset($data['Device']) ? $data['Device'] : 0); $pin = intval(isset($data['Pin']) ? $data['Pin'] : 0); $trueValue = isset($data['True']) ? $data['True'] : 'Yes'; $falseValue = isset($data['False']) ? $data['False'] : 'No'; $args = [ 'camotion-piface', escapeshellarg('--device=' . $device), escapeshellarg('--read=' . $pin) ]; $cli = implode(' ', $args) . ' | grep Pin | grep -Eo "[01]$"'; $code = 0; $output = []; exec($cli, $output, $code); if ($code != 0) { abort(500, "PiFace failed with code " . $code); } $value = new SensorsValueDbo(); if ($output[0] == "0") { $value->setValue($falseValue); } else { $value->setValue($trueValue); } return $value; } }