checkFreeSpace
|
$max_usage=90; //%
$output=array();
exec('df',$output);
//var_dump($output);
$problems=0;
$problems_details='';
foreach($output as $line) {
if (preg_match('/(\d+)% (\/.+)/',$line,$m))
$proc=$m[1];
$path=$m[2];
if ($proc>$max_usage) {
$problems++;
$problems_details.="$path: $proc; ";
}
//echo "$path: $proc%<br/>";
}
sg("ThisComputer.SpaceProblems",$problems);
sg("ThisComputer.SpaceProblems_Details",$problems_details);
setTimeOut('checkFreeSpace','runScript("checkFreeSpace");',5*60);
|
rebootSystem
|
runScript('YotaRestart');
$filename = ROOT . '/database_backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
say(LANG_GENERAL_STARTING_REBOOT,2);
setTimeout("shutdownTimer","safe_exec('shutdown -r now');",15);
|
shutDown
|
$filename = ROOT . '/database_backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
say(LANG_GENERAL_STARTING_SHUTDOWN,2);
setTimeout("shutdownTimer","safe_exec('shutdown -h now');",15);
|
YotaRestart
|
// создание нового cURL ресурса
$ch = curl_init();
// установка URL и других необходимых параметров
curl_setopt($ch, CURLOPT_URL, "http://10.0.0.1/xml_action.cgi?method=set&module=duster&file=json_device_restart");
curl_setopt($ch, CURLOPT_HEADER, 0);
// загрузка страницы и выдача её браузеру
curl_exec($ch);
// завершение сеанса и освобождение ресурсов
curl_close($ch);
|
Rele1ON
|
import serial
import libscrc
numRele=6
State=True
from binascii import unhexlify
ser = serial.serial_for_url("socket://192.168.1.200:503",9600,
parity=serial.PARITY_NONE,
bytesize=serial.EIGHTBITS,
stopbits=serial.STOPBITS_ONE,
timeout=1)
command = bytearray(b'\x01\x05\x00\x01\xff\x00')
command[3]=numRele
if State == True:
command[4]=255
else: command[4]=00
crc16=libscrc.modbus(command)
HIcrc=((crc16 & 0xFF00) >> 8)
LOcrc=(crc16 & 0x00FF)
#command[6]=HIcrc
#command[7]= LOcrc
ser.write(command) # auch
ser.write(bytes([LOcrc])) # auch
ser.write(bytes([HIcrc])) # auch
data = ser.read(16)
if data:
print(data)
#data = ser.read(62)
#if data:
# v=str(data)
# vars = str(v[v.find("(")+1:v.find(")")]).split(",")
# setGlobal("EnergyDay.value",float(vars[1]))
# setGlobal("EnergyNight.value",float(vars[2]))
print (vars)
ser.flushOutput()
ser.close()
|
Rele2ON
|
import serial
import libscrc
numRele=2
State=True
from binascii import unhexlify
ser = serial.serial_for_url("socket://192.168.1.200:503",9600,
parity=serial.PARITY_NONE,
bytesize=serial.EIGHTBITS,
stopbits=serial.STOPBITS_ONE,
timeout=1)
command = bytearray(b'\x01\x05\x00\x01\xff\x00')
command[3]=numRele
if State == True:
command[4]=255
else: command[4]=00
crc16=libscrc.modbus(command)
HIcrc=((crc16 & 0xFF00) >> 8)
LOcrc=(crc16 & 0x00FF)
#command[6]=HIcrc
#command[7]= LOcrc
ser.write(command) # auch
ser.write(bytes([LOcrc])) # auch
ser.write(bytes([HIcrc])) # auch
data = ser.read(16)
if data:
print(data)
#data = ser.read(62)
#if data:
# v=str(data)
# vars = str(v[v.find("(")+1:v.find(")")]).split(",")
# setGlobal("EnergyDay.value",float(vars[1]))
# setGlobal("EnergyNight.value",float(vars[2]))
print (vars)
ser.flushOutput()
ser.close()
|
Rele3ON
|
import serial
import libscrc
numRele=2
State=True
from binascii import unhexlify
ser = serial.serial_for_url("socket://192.168.1.200:503",9600,
parity=serial.PARITY_NONE,
bytesize=serial.EIGHTBITS,
stopbits=serial.STOPBITS_ONE,
timeout=1)
command = bytearray(b'\x01\x05\x00\x01\xff\x00')
command[3]=numRele
if State == True:
command[4]=255
else: command[4]=00
crc16=libscrc.modbus(command)
HIcrc=((crc16 & 0xFF00) >> 8)
LOcrc=(crc16 & 0x00FF)
#command[6]=HIcrc
#command[7]= LOcrc
ser.write(command) # auch
ser.write(bytes([LOcrc])) # auch
ser.write(bytes([HIcrc])) # auch
data = ser.read(16)
if data:
print(data)
#data = ser.read(62)
#if data:
# v=str(data)
# vars = str(v[v.find("(")+1:v.find(")")]).split(",")
# setGlobal("EnergyDay.value",float(vars[1]))
# setGlobal("EnergyNight.value",float(vars[2]))
print (vars)
ser.flushOutput()
ser.close()
|