camImagesProcess
|
Сортировка изображений с веб-камеры
$src='/var/www/media/webcam'; // откуда брать фотографии
$dst='/var/www/media/webcam_sorted'; // куда складывать
processLine($src." -> ".$dst."/%Y/%m-%F/%d/%H");
processLine("CLEAR ".$dst." 30 DAYS OLD");
|
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);
|
Demo
|
Демонстрация работы
eval('set_time_limit(0);');
say('Здравствуйте, меня зовут Алиса.', 2);
eval('sleep(5);');
if (getGlobal('ThisComputer'.'.'.'DemoWeather')) {
say('Я знаю какая погода.', 2);
runScript('tellWeather', array());
eval('sleep(18);');
}
if (getGlobal('ThisComputer'.'.'.'DemoMusic')) {
say('Могу включать музыку', 2);
eval('sleep(8);');
runScript('playRadio', array());
eval('sleep(15);');
runScript('playPause', array());
}
if (getGlobal('ThisComputer'.'.'.'DemoPower')) {
say('Так же я могу управлять электро-приборами.', 2);
eval('sleep(10);');
callMethod('noo1'.'.'.'switch');
eval('sleep(2);');
callMethod('noo1'.'.'.'switch');
eval('sleep(1);');
callMethod('noo2'.'.'.'switch');
eval('sleep(2);');
callMethod('noo2'.'.'.'switch');
eval('sleep(1);');
callMethod('noo3'.'.'.'switch');
eval('sleep(2);');
callMethod('noo3'.'.'.'switch');
eval('sleep(1);');
}
if (getGlobal('ThisComputer'.'.'.'DemoAsk')) {
say('Ещё я умею отвечать на вопросы что такое и кто такой', 2);
eval('sleep(8);');
}
|
playRadio
|
Запуск радио
getURL('http://localhost/popup/app_101ru.html?ajax=1&op=playstation&id=187', 0);
|
rebootSystem
|
Перезапуск системы
$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("Подготовка к перезагрузке",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("Подготовка к выключению",2);
setTimeout("shutdownTimer","safe_exec('shutdown -h now');",15);
|
TurnOffAllLights
|
Выключить весь свет в Спальне
brLinkCommand('off_light_bedroom');
|
BatteryChargeNotifications
|
Проверка заряда батареи и уведомление
//уровень заряда батареи
if(gg('admin.BattLevel')<10 && gg('admin.BattLevel')>2 && gg('admin.TruthNotification')==0 && gg('admin.Charging')==0)
{
sg('admin.TruthNotification',1);
say("Алексей ваш телефон разряжен",1);
}
else
{
sg('admin.TruthNotification',gg('admin.TruthNotification')+1);
}
if(gg('admin.TruthNotification')==30)
{
sg('admin.TruthNotification',0);
}
///пользователь Наталья
if(gg('Nata.BattLevel')<10 && gg('Nata.BattLevel')>2 && gg('Nata.TruthNotification')==0 && gg('Nata.Charging')==0 )
{
sg('Nata.TruthNotification',1);
say("Наталья ваш телефон разряжен",1);
}
else
{
sg('Nata.TruthNotification',gg('Nata.TruthNotification')+1);
}
if(gg('Nata.TruthNotification')==30)
{sg('Nata.TruthNotification',0);}
|
Hourly
|
Выполняется каждый час
|
motionDetected
|
Сработал детектор движения на веб-камере
DebMes("Motion detected: ".serialize($params));
callMethod('MotionSensorCam.statusChanged');
setTimeOut('motionDetectedTimer','runScript("camImagesProcess");',10);
if (getGlobal('ThisComputer'.'.'.'WebCamMotionAuto')) {
setTimeOut('stopWebCamDetection', " runScript('manageWebCamMotion', array('stop'=>'1'));", (int)('60'));
}
|
NobodyHome
|
Срабатывает, когда никого дома нет
say('Включаю режим экономии', 2);
callMethod('EconomMode'.'.'.'activate');
if (getGlobal('ThisComputer'.'.'.'economTurnOff')) {
runScript('turnOffEverything', array());
}
if (getGlobal('ThisComputer'.'.'.'WebCamMotionAuto')) {
runScript('manageWebCamMotion', array('start'=>'1'));
}
|
SetTypeESP03
|
Меняет а тип работу ESP 03
$status = gg("TypeESP03.type");
if ($status == 0)
{
sg("TypeESP03.type",2);
}
else
{ if ($status == 2 || $status == 1)
sg("TypeESP03.type",0);
}
|
SomebodyHome
|
Срабатывает в том случае, когда кто-то появился дома
callMethod('EconomMode'.'.'.'deactivate');
say('Здравствуйте!', 2);
runScript('reportStatus', array());
if (getGlobal('ThisComputer'.'.'.'WebCamMotionAuto')) {
setTimeOut('stopWebCamDetection', " runScript('manageWebCamMotion', array('stop'=>'1'));", (int)('60'));
}
|
startUp
|
Система загружена
say('Система загружена', 2);
runScript('tellIPAddress', array());
|
turnOffEverything
|
Выключить все приборы
setGlobal('NooScene1.status',1);
|
Радио_Классика
|
Включает радио Классика
getURL('http://192.168.1.40/popup/app_101ru.html?ajax=1&op=playstation&id=210', 0);
|
Радио_Колыбельная
|
Включает радио колыбельная
getURL('http://192.168.1.40/popup/app_101ru.html?ajax=1&op=playstation&id=101', 0);
|
Управление освещением
|
|