public function index() { $seconds = 2; $micro = $seconds * 1000000; $this->load->model('analog_model'); $myFile = "/var/www/relay_framework/daemontest1.txt"; $fh = fopen($myFile, 'a') or die("Can't open file"); $stringData = "File updated at: " . $sResponse . "\n"; fwrite($fh, $stringData); fclose($fh); $this->load->model('home_model'); list($sIpAddress, $sPortNo) = $this->home_model->getSettings(); if ($sIpAddress == '') { if (IP_ADDRESS) { $sIpAddress = IP_ADDRESS; } } //Check for Port Number constant if ($sPortNo == '') { if (PORT_NO) { $sPortNo = PORT_NO; } } if ($sIpAddress == '' || $sPortNo == '') { } else { $sResponse = get_rlb_status(); $aAP = array($sResponse['AP0'], $sResponse['AP1'], $sResponse['AP2'], $sResponse['AP3']); $aAP = array(0, 1, 0, 1); $sValves = $sResponse['valves']; $sRelays = $sResponse['relay']; $sPowercenter = $sResponse['powercenter']; $aResult = $this->analog_model->getAllAnalogDevice(); $iResultCnt = count($aResult); for ($i = 0; $i < $iResultCnt; $i++) { if ($aResult[$i] != '') { $aDevice = explode('_', $aResult[$i]); if ($aDevice[1] != '') { if ($aDevice[1] == 'R') { $sNewResp = replace_return($sRelays, $aAP[$i], $aDevice[0]); onoff_rlb_relay($sNewResp); } if ($aDevice[1] == 'P') { $sNewResp = replace_return($sPowercenter, $aAP[$i], $aDevice[0]); onoff_rlb_powercenter($sNewResp); } if ($aDevice[1] == 'V') { $sNewResp = replace_return($sValves, $aAP[$i], $aDevice[0]); onoff_rlb_valve($sNewResp); } } } } usleep($micro); } }
public function removePumpDetails() { // Set default HTTP response of 'ok' $aResponse = array(); $aResponse['code'] = 0; $aResponse['status'] = 404; $aResponse['data'] = NULL; $sformat = isset($_REQUEST['format']) ? $_REQUEST['format'] : ''; // Get response Format (json,xml,html etc.) $sAuth = isset($_REQUEST['auth']) ? $_REQUEST['auth'] : ''; // Check if Authentication is required. $this->isAuthenticationRequired = $sAuth; // Optionally require connections to be made via HTTPS if ($this->isHTTPSRequired && $_SERVER['HTTPS'] != 'on') { $aResponse['code'] = 2; $aResponse['status'] = $aApiResponseCode[$aResponse['code']]['HTTP Response']; $aResponse['data'] = $aApiResponseCode[$aResponse['code']]['Message']; // Return Response to browser. This will exit the script. $this->webResponse($sformat, $aResponse); } if ($this->isAuthenticationRequired) { //START : Authorisation $sUsername = isset($_REQUEST['username']) ? $_REQUEST['username'] : ''; // Get the username of webservice $sPassword = isset($_REQUEST['password']) ? $_REQUEST['password'] : ''; // Get the password of webservice $this->webAuthorisation($sUsername, $sPassword, $sformat); // Check if username and password is valid. // END : Authorisation } $iPumpNumber = trim($_REQUEST['pn']); if ($iPumpNumber == '') { $aResponse['code'] = 5; $aResponse['status'] = $this->aApiResponseCode[$aResponse['code']]['HTTP Response']; $aResponse['data'] = 'Please enter valid Pump Number!'; $this->webResponse($sformat, $aResponse); } if ($iPumpNumber > 2) { $aResponse['code'] = 5; $aResponse['status'] = $this->aApiResponseCode[$aResponse['code']]['HTTP Response']; $aResponse['data'] = 'Please enter pump number less than 3!'; $this->webResponse($sformat, $aResponse); } if ($iPumpNumber != '') { $this->load->model('home_model'); $sResponse = get_rlb_status(); // Get the relay borad response from server. $sValves = $sResponse['valves']; // Valve Devices. $sRelays = $sResponse['relay']; // Relay Devices. $sPowercenter = $sResponse['powercenter']; // Power Center Devices. //Pump device Status $sPump = array($sResponse['pump_seq_0_st'], $sResponse['pump_seq_1_st'], $sResponse['pump_seq_2_st']); if ($sPump[$iPumpNumber] > 0) { $aPumpDetails = $this->home_model->getPumpDetails($i); //Variable Initialization to blank. $sPumpNumber = ''; $sPumpType = ''; $sPumpSubType = ''; $sPumpSpeed = ''; $sPumpFlow = ''; $sPumpClosure = ''; $sRelayNumber = ''; if (is_array($aPumpDetails) && !empty($aPumpDetails)) { foreach ($aPumpDetails as $aResultEdit) { $sPumpNumber = $aResultEdit->pump_number; $sPumpType = $aResultEdit->pump_type; $sPumpSubType = $aResultEdit->pump_sub_type; $sPumpSpeed = $aResultEdit->pump_speed; $sPumpFlow = $aResultEdit->pump_flow; $sPumpClosure = $aResultEdit->pump_closure; $sRelayNumber = $aResultEdit->relay_number; } } $iPumpStatus = 0; if ($sPumpType != '' && $sPumpClosure == '1') { if ($sPumpType == '12' || $sPumpType == '24') { if ($sPumpType == '24') { $sNewResp = replace_return($sRelays, $iPumpStatus, $sRelayNumber); onoff_rlb_relay($sNewResp); } else { if ($sPumpType == '12') { $sNewResp = replace_return($sPowercenter, $iPumpStatus, $sRelayNumber); onoff_rlb_powercenter($sNewResp); } } } else { if (preg_match('/Emulator/', $sPumpType)) { $sNewResp = ''; $sNewResp = $sRelayName . ' ' . $iPumpStatus; onoff_rlb_pump($sNewResp); if ($sPumpType == 'Emulator12') { $sNewResp12 = replace_return($sPowercenter, $iPumpStatus, $sRelayNumber); onoff_rlb_powercenter($sNewResp12); } if ($sPumpType == 'Emulator24') { $sNewResp24 = replace_return($sRelays, $iPumpStatus, $sRelayNumber); onoff_rlb_relay($sNewResp24); } } else { if (preg_match('/Intellicom/', $sPumpType)) { $sNewResp = ''; $sNewResp = $sRelayName . ' ' . $iPumpStatus; onoff_rlb_pump($sNewResp); if ($sPumpType == 'Intellicom12') { $sNewResp12 = replace_return($sPowercenter, $iPumpStatus, $sRelayNumber); onoff_rlb_powercenter($sNewResp12); } if ($sPumpType == 'Intellicom24') { $sNewResp24 = replace_return($sRelays, $iPumpStatus, $sRelayNumber); onoff_rlb_relay($sNewResp24); } } } } } } } //Remove Pump Details From database. $this->home_model->removePump($iPumpNumber); //Remove the address associated with the pump on the relay board. $Pump = 'pm' . $iPumpNumber; removePumpAddress($Pump); $aResponse['code'] = 1; $aResponse['status'] = $this->aApiResponseCode[$aResponse['code']]['HTTP Response']; $aResponse['data'] = "Pump removed Succesfully!"; // Return Response to browser. This will exit the script. $this->webResponse($sformat, $aResponse); exit; }
public function updateStatusOnOff() { $sResponse = get_rlb_status(); //$sResponse = array('valves'=>'0120','powercenter'=>'0000','time'=>'','relay'=>'0000'); $sValves = $sResponse['valves']; $sRelays = $sResponse['relay']; $sPowercenter = $sResponse['powercenter']; $sTime = $sResponse['time']; $sName = $this->input->post('sName'); $sStatus = $this->input->post('sStatus'); $sDevice = $this->input->post('sDevice'); $sNewResp = ''; if ($sDevice == 'R') { $sNewResp = replace_return($sRelays, $sStatus, $sName); onoff_rlb_relay($sNewResp); } if ($sDevice == 'P') { $sNewResp = replace_return($sPowercenter, $sStatus, $sName); onoff_rlb_powercenter($sNewResp); } if ($sDevice == 'V') { //echo $sStatus; $sNewResp = replace_return($sValves, $sStatus, $sName); onoff_rlb_valve($sNewResp); } if ($sDevice == 'PS') { $sNewResp = ''; if ($sStatus == '0') { $sNewResp = $sName . ' ' . $sStatus; } else { if ($sStatus == '1') { $this->load->model('home_model'); $aPumpDetails = $this->home_model->getPumpDetails($sName); foreach ($aPumpDetails as $aResultPumpDetails) { $sType = ''; if ($aResultPumpDetails->pump_type == '2') { $sType = $aResultPumpDetails->pump_type . ' ' . $aResultPumpDetails->pump_speed; } elseif ($aResultPumpDetails->pump_type == '3') { $sType = $aResultPumpDetails->pump_type . ' ' . $aResultPumpDetails->pump_flow; } $sNewResp = $sName . ' ' . $sType; } } } onoff_rlb_pump($sNewResp); } exit; }