Пример #1
0
 }
 //for
 // ASSUMING WE JUST RENEWED ALL SENSORS IN THE DATA LOOP ABOVE, DOD NOT USE THE GET() FUNCTION BELOW.
 // XXX WE SHOULD PROBABLY INTEGRATE LOOOP BELOW IN THE LOOP ABOVE
 // Loop based on $devices array of LAMPI
 //
 $log->lwrite("------------------ SWITCH/DIMMER LOOP ----------------------", 1);
 $log->lwrite("", 2);
 $log->lwrite("Count load_devices:: " . count($dev_config), 2);
 if (count($dev_config) == 0) {
     $log->lwrite("ERROR LamPI-gate:: No devices read, need to restart MySQL connection", 0);
     $lampi_config = load_database();
     // whole database
     $dev_config = $lampi_config['devices'];
 }
 $dev_config = load_devices();
 // Looping through all devices
 for ($i = 0; $i < count($dev_config); $i++) {
     if ($dev_config[$i]['brand'] == "7") {
         // If key does not yet exist, create a record for zway
         if (!array_key_exists($i, $zway_dev)) {
             $zway_dev[$i] = array('id' => $dev_config[$i]['id'], 'gui_inValid' => 3, 'gui_old' => $dev_config[$i]['val'], 'gui_val' => $dev_config[$i]['val'], 'unit' => $dev_config[$i]['unit'], 'gaddr' => $dev_config[$i]['gaddr'], 'name' => $dev_config[$i]['name'], 'type' => $dev_config[$i]['type']);
         }
         //$dev_config = load_devices();							// Get latest GUI/MySQL values
         $zway_dev[$i]['gui_old'] = $zway_dev[$i]['gui_val'];
         $zway_dev[$i]['gui_val'] = $dev_config[$i]['val'];
         $gui_val = $dev_config[$i]['val'];
         $unit = $dev_config[$i]['unit'];
         $d = substr($dev_config[$i]['id'], 1);
         // Debug Info
         $log->lwrite(" ", 2);
Пример #2
0
function dbase_parse($cmd, $message)
{
    global $pisql, $dbhost, $dbuser, $dbpass, $dbname;
    global $log;
    // Used by daemon
    global $apperr, $appmsg;
    // For ajax usage
    if (!$pisql || !$pisql->ping()) {
        $log->lwrite("dbase_parse:: Ping failed, making new pisql connection to server", 1);
        $pisql = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
    }
    // If there is an error
    if ($pisql->connect_errno) {
        $log->lwrite("dbase_parse:: Failed to connect to MySQL: (" . $pisql->connect_errno . ") " . $pisql->connect_error, 1);
        return -1;
    }
    // For logging only
    if (is_array($message)) {
        $str = "";
        foreach ($message as $key => $val) {
            $str .= " {" . $key . ":" . $val . "},";
        }
        $log->lwrite("dbase_parse:: " . $cmd . ": " . $str, 1);
    } else {
        $log->lwrite("dbase_parse:: message: " . $cmd . ": " . $message, 1);
    }
    //
    // Depending on $cmd execute database function
    switch ($cmd) {
        // Database
        case "load_database":
            $ret = load_database();
            break;
            // Device
        // Device
        case "load_devices":
            $ret = load_devices();
            break;
        case "add_device":
            $ret = add_device($message);
            break;
        case "delete_device":
            $ret = delete_device($message);
            break;
        case "store_device":
            $ret = store_device($message);
            break;
            // Room
        // Room
        case "add_room":
            $ret = add_room($message);
            break;
        case "delete_room":
            $ret = delete_room($message);
            break;
            // Scene
        // Scene
        case "read_scene":
            $ret = load_scene($message);
            break;
        case "load_scenes":
            $ret = load_scenes();
            break;
        case "add_scene":
            $ret = add_scene($message);
            break;
        case "delete_scene":
            $ret = delete_scene($message);
            break;
        case "upd_scene":
            $ret = upd_scene($message);
            break;
        case "store_scene":
            $ret = store_scene($message);
            break;
            // Timer
        // Timer
        case "add_timer":
            $ret = add_timer($message);
            break;
        case "delete_timer":
            $ret = delete_timer($message);
            break;
        case "store_timer":
            $ret = store_timer($message);
            break;
            // Handset
        // Handset
        case "add_handset":
            $ret = add_handset($message);
            break;
        case "delete_handset":
            $ret = delete_handset($message);
            break;
        case "store_handset":
            $ret = store_handset($message);
            break;
            // Weather
        // Weather
        case "add_weather":
            $ret = add_weather($message);
            break;
        case "delete_weather":
            $ret = delete_weather($message);
            break;
            // Setting
        // Setting
        case "store_setting":
            $ret = store_setting($message);
            break;
        default:
    }
    if ($ret >= 0) {
        // Prepare structure to send back to the calling ajax client (in stdout)
        $send = array('tcnt' => $ret, 'appmsg' => $appmsg, 'status' => 'OK', 'apperr' => $apperr);
        $output = json_encode($send);
    } else {
        //	Functions need to fill apperr themselves!
        $send = array('tcnt' => $ret, 'appmsg' => $appmsg, 'status' => 'ERR', 'apperr' => $apperr);
        $output = json_encode($send);
    }
    return $output;
}