Exemple #1
0
        // check if a valve has been turned on
        if (isset($_POST['valve' . $valveIndex . '_turnOn'])) {
            // set teh valve manual time to now
            $schedule_storedSchedule->valves[$valveIndex]->manualStartTime = operateValves_getCurrentMinutesOffsetIntoWeek();
            break;
        }
        if (isset($_POST['valve' . $valveIndex . '_turnOff'])) {
            // reset the valve manual time
            $schedule_storedSchedule->valves[$valveIndex]->manualStartTime = -1;
            break;
        }
    }
    // save to file
    if (schedule_saveScheduleToFile($schedule_storedSchedule, $schedule_configurationFileName)) {
        // operate the valves now, don't wait for cron
        operateValves_performActions($schedule_storedSchedule);
    }
} else {
    // check if valve configuration exists
    if (!file_exists($schedule_configurationFileName)) {
        // create new scedule
        $schedule_storedSchedule = new Schedule();
        // initialize the current schedule
        schedule_initDefaultSchedule($schedule_storedSchedule, $schedule_numberOfValves);
        // save the current schedule so that the configuration file will always exist
        schedule_saveScheduleToFile($schedule_storedSchedule, $schedule_configurationFileName);
    } else {
        // Try to load the data from the saved configuration
        schedule_loadScheduleFromFile($schedule_storedSchedule, $schedule_configurationFileName);
    }
}
    // command lists
    $valvesToOpen = array();
    $valvesToClose = array();
    // get the commands
    operateValves_getValveCommands($valvesRequiredToBeOpen, $valvesCurrentlyOpen, $valvesToOpen, $valvesToClose);
    // execute the commands
    operateValves_executeValveCommands($valvesToOpen, $valvesToClose);
    // update currently open valves. TODO get from hardware
    operateValves_updateCurrentlyOpenValves($valvesRequiredToBeOpen);
    // print
    logger_logEvent('Currently open valves: ' . arrayToString($valvesCurrentlyOpen, ", "));
    logger_logEvent('Valves required to be open: ' . arrayToString($valvesRequiredToBeOpen, ", "));
    logger_logEvent('Opening these valves: ' . arrayToString($valvesToOpen, ", "));
    logger_logEvent('Closing these valves: ' . arrayToString($valvesToClose, ", "));
}
//
// Entry
//
// if run from cli, execute
if (php_sapi_name() == 'cli') {
    // check if valve configuration exists
    if (file_exists($schedule_configurationFileName)) {
        // load from file
        $schedule = unserialize(file_get_contents($schedule_configurationFileName));
        // do the operate
        operateValves_performActions($schedule);
    }
}
?>