Exemple #1
0
    if ($t == $form['type']) {
        $ts = " selected='selected'";
    }
    $html_options_mess .= "\t<option value='{$t}'{$ts}>{$t_name}</option>\n";
    foreach ($sub_types[$t] as $code => $n) {
        $js_types .= "types.{$t_name}[{$n}] = '{$code}';\n";
    }
}
// process the  form -------------------------------------------------
if ($_REQUEST['do']) {
    if ($gateway == 'serial') {
        $mys = new MySensorSendSerial($form['s_port']);
    } else {
        $mys = new MySensorSendEthernet($form['ip'], $form['port']);
    }
    $result = $mys->sendMessage($form['node'], $form['child'], $form['type'], $form['ack'], $form['sub'], $form['payload'], $form['wait']);
    if ($result) {
        $class = 'success';
        if ($form['wait']) {
            $err_mess = "Received : <b style='color:black'>{$result}</b>";
        } else {
            $err_mess = "Successfull!";
        }
    } else {
        $class = 'danger';
        if ($form['wait']) {
            $err_mess = "Did not receive an answer!";
        } else {
            $err_mess = "Something went wrong. Check GW is receiving on {$form['ip']}:{$form['port']} ! ";
        }
    }
    //if letters it is a SerialPort
    $mys = new MySensorSendSerial($argv[1]);
} else {
    $mys = new MySensorSendEthernet($argv[1], $opts['p']);
}
$ack = isset($opts['a']) ? 1 : 0;
$wait = isset($opts['g']) ? 1 : 0;
$verbose = isset($opts['v']) ? 1 : 0;
$commands = array_keys($mys->getMessageTypes());
if (!in_array($argv[2], $commands)) {
    ExitError("Unknow command '{$argv[2]}' !");
}
if ($argv[2] == 'set' and !isset($argv[6])) {
    ExitError("Missing payload argument");
}
$r = $mys->sendMessage($argv[3], $argv[4], $argv[2], $ack, $argv[5], $argv[6], $wait);
if ($wait) {
    if ($r) {
        echo "{$r}\n";
    } else {
        ExitError("No answer received or command failed!");
    }
}
if ($verbose) {
    echo " - Message : " . $mys->getRawMessage() . "\n";
    if ($wait and $r) {
        echo " - Answer  : " . $mys->getRawAnswer() . "\n";
    }
}
if ($r) {
    exit(0);