BackUpToFlash
|
Копирование резервной копии
$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');
safe_exec ($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
safe_exec ("sudo mkdir -p /mnt/usb/backup_root");
safe_exec ("sudo mount -p /dev/sda2 /mnt/usb/backup_root/");
safe_exec ("sudo rsync -aHv --delete --delete-after --exclude-from=/home/pi/not_backup / /mnt/usb/backup_root/ 2>&1 &");
say("Сохранение выполнено",2);
|
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
|
// Старый сценарий из базового образа 4_44, 4_47
$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); было после заливки образа
setTimeout("shutdownTimer","exec('sudo shutdown -r now');",15);
//тодо ивент и не чаще чем
//say('Подготовка к перезагрузке');
//sleep(1);
//setRebootRequired('updated');
//safe_exec('cp -rf /tmp/mysql/* /var/lib/mysql');
//sleep(1);
//$mysqlDumpPath = '/usr/bin/mysqldump';
//$mysqlDumpParam = ' -h ' . DB_HOST . ' --user=' . DB_USER . ' --password=' . DB_PASSWORD;
//$mysqlDumpParam .= ' --no-create-db --add-drop-table --databases ' . DB_NAME;
// $filename = SERVER_ROOT . '/database_backup/db.sql';
//if (file_exists($filename)) rename($filename, $filename . '.prev');
// $add_params = '--ignore-table=' . DB_NAME . '.phistory';
// exec($mysqlDumpPath . $mysqlDumpParam . " " . $add_params . "> " . $filename);
// $filename_history = SERVER_ROOT . '/database_backup/db_history.sql';
// if (file_exists($filename_history)) rename($filename_history, $filename_history . '.prev');
// $add_params = '--tables phistory';
// exec($mysqlDumpPath . $mysqlDumpParam . " " . $add_params . "> " . $filename_history);
// sleep(1);
// exec('sudo shutdown -r now');
|
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);
|
WakeOnLine
|
include_once(DIR_MODULES . 'wol/wol.class.php');
$wake = new wol();
$wake->WakeOnLan('192.168.1.255','38:D5:47:78:3B:35');
|
ClearPhystory
|
SQLExec("DELETE FROM phistory WHERE TO_DAYS(NOW())-TO_DAYS(ADDED)>5");
SQLExec("OPTIMIZE TABLE phistory");
//очистит все старше 30 дней
SQLExec("DELETE FROM actions_log WHERE TO_DAYS(NOW())-TO_DAYS(ADDED)>10");
SQLExec("OPTIMIZE TABLE actions_log");
|
RadioChanelSwitch
|
setGlobal('RadioSetting.Chanel', '+1');
//runScript('RadioChanelSwitch', array());
$chanel=gg('RadioSetting.Chanel'); // получение направления движения по списку
$ID= gg('RadioSetting.LastStationID')+$chanel; //движение по списку
if ($ID <=0) { $Count =SQLSelectOne('SELECT COUNT(*) FROM `app_radio`'); $ID = $Count['COUNT(*)'];} // при движении вниз если ID равен 0, то его значение приравнивается общему числу станций
sg('RadioSetting.LastStationID',$ID); ///сохранение текущего ID
$sql = SQLSelectOne('SELECT `name` FROM `app_radio` WHERE `ID` = ' .$ID. ' '); // обращение к таблице и определение по ID названия станции
if( $sql['name'] !='') {cm('RadioSetting.Control', array('sta'=>$sql['name']));} // если название определено включается нужный канал
else {$sql = SQLSelectOne('SELECT `name` FROM `app_radio` WHERE `ID` = 1 '); // иначе перекинет на первую станцию
cm('RadioSetting.Control', array('sta'=>$sql['name']));} ///
say($sql['name'],1); /// произносит название станции
|
TemperaturaRpi
|
$mem_free=exec("cat /proc/meminfo|grep MemFree |awk '{print $2/1024}'");
setGlobal("raspberry.memoryfree",$mem_free);
|
test 2
|
if (getGlobal("Openclose01.status")) {
say('', 2);
}
$timerCode=<<<EOT
say('Замок открыт', 5);
EOT;
setTimeOut('time_zamok', $timerCode, (int)('30'));
say('замок открыт', 2);
|
test2 alisa
|
say("Сохранение выполнено ghbdt",5);
|
testAlisa
|
// callAPI('/api/module/yadevices','GET',array('station'=>1,'command'=>'setVolume','volume'=>6));
callAPI('/api/module/yadevices','GET',array('station'=>1,'say'=>'раз-два-три'));
callAPI('/api/module/yadevices','GET',array('station'=>1,'command'=>'повтори за мной раз-два-три'));
|
update status zigbee
|
$states=SQLSelect("select zigbeedevices.FULL_PATH,zigbeeproperties.TITLE,zigbeeproperties.VALUE from zigbeedevices,zigbeeproperties where (zigbeeproperties.TITLE='state' or zigbeeproperties.TITLE LIKE 'state_%') and (zigbeeproperties.VALUE='ON' or zigbeeproperties.value='OFF') and zigbeeproperties.DEVICE_ID=zigbeedevices.ID;");
foreach ($states as $key => $value) {
callAPI('/api/module/mqtt','GET',array('publish'=>$value['FULL_PATH'].'/get',msg=>'{"'.$value['TITLE'].'": ""}'));
}
|
weather
|
include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
$openweather = new app_openweather();
$openweather->get_weather(gg(625144));
|
Тест3 Замок
|
echo gg("Openclose01.status");
$open=gg("Openclose01.status");
echo $open;
// clearTimeout('timer1');
if ($open==1)
say('Замок закрыт', 2);
else
say('Замок открыт', 2);
//setTimeout("timer1", "say('Замок открыт', 2);", 60);
// say('Замок открыт', 2);
|