camImagesProcess
|
Сортировка изображений с веб-камеры
$src='/var/www/media/webcam'; // откуда брать фотографии
clearTimeout('camImagesTimer');
$base_path='/var/www/dvr/unsorted';
$dst='/var/www/dvr/sorted';
safe_exec('chown pi:pi -Rf '.$base_path.'/*');
safe_exec('chmod 0777 -f '.$base_path.'/*');
setTimeout('camImagesTimer','runScript("camImagesProcess");',10*60);
if (is_dir($base_path)) {
if ($dir = @opendir($base_path)) {
while (($file = readdir($dir)) !== false) {
if ($file!='.' && $file!='..' && is_dir($base_path.'/'.$file)) {
$src=$base_path.'/'.$file;
echo $src.'<br/>';
processLine($src." -> ".$dst."/%Y/%m - %F/%d/".$file);
}
}
closedir($dir);
}
} else {
echo "Cannot open $base_path";
}
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);
|
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);
|
LampTen
|
Включение красного светодиода на бочки
if (getGlobal("SRelay32.status")=='1') {
callMethod("SRelay33.turnOn");
callMethod("SRelay33.turnOff");
}
|
LampWait
|
if (getGlobal("SRelay31.status")=='1') {
callMethod("SRelay34.turnOn");
}
if (getGlobal("SRelay31.status")=='0') {
callMethod("SRelay34.turnOff");
}
|
lamp_Rakovina
|
if (getGlobal("Sensor_temp10.value") >= '45') {
callMethod("Relay37.turnOn");
}
|
Бочка верхний уровень
|
if (getGlobal("Sensor_percentage01.value") <= '150') {
callMethod("SRelay31.turnOff");
say('<Бочка полная! ', 1);
}
|
Бочка нижний уровень
|
if (getGlobal("Sensor_percentage01.value") >= '486') {
callMethod("SRelay32.turnOff");
}
|
Подогреть бочку
|
if (getGlobal("Sensor_percentage01.value") >= '466') {
if (getGlobal("SRelay35.status")=='1') {
callMethod("SRelay31.turnOn");
}
}
if (getGlobal("Sensor_percentage01.value") <= '300') {
if (getGlobal("SRelay35.status")=='1') {
callMethod("SRelay31.turnOff");
}
}
if (getGlobal("Sensor_temp10.value") <= '40') {
if (getGlobal("SRelay35.status")=='1') {
callMethod("SRelay32.turnOn");
}
}
if (getGlobal("Sensor_temp10.value") >= '45') {
if (getGlobal("SRelay35.status")=='1') {
callMethod("SRelay32.turnOff");
}
}
if (getGlobal("SRelay35.status")=='0') {
callMethod("SRelay32.turnOff");
callMethod("SRelay31.turnOff");
}
|
Температура в бочке
|
if (getGlobal("TempBochka.value") > '40') {
callMethod("SwitchTen.turnOff");
}
|
Температура в бочке 30
|
if (getGlobal("Sensor_temp10.value") >= '40') {
callMethod("SRelay33.turnOn");
}
if (getGlobal("Sensor_temp10.value") <= '29.9') {
callMethod("SRelay33.turnOff");
}
|
Авто режим свет на улице
|
if (timeIs(getGlobal('ThisComputer.isDark')=='1')) {
if (getGlobal("SRelay30.status")) {
callMethod("Switch01.turnOn");
callMethod("Switch31.turnOn");
say('Уличное освещение включено !', 2);
}
}
|
Авто режим свет на улице Off
|
if (timeIs('22:10')) {
if (getGlobal("SRelay30.status")) {
callMethod("Switch01.turnOff");
callMethod("Switch31.turnOff");
say('Уличное освещение выключено !', 2);
}
}
|
Авто режим свет черепахи
|
if (timeIs(getGlobal('ThisComputer.isDark')=='1')) {
if (getGlobal("SRelay29.status")) {
callMethod("Switch01.turnOn");
}
}
|
Авто режим свет черепахи off
|
if (timeIs('22:30')) {
if (getGlobal("SRelay29.status")) {
callMethod("Switch09.turnOff");
}
}
|
Бра в коридоре вкл
|
say('Бра в коридоре включена!', 2);
getURL('http://192.168.1.76/cm?cmnd=Power1%20on');
|
Бра в коридоре выкл
|
say('Бра в коридоре выключена!', 2);
getURL('http://192.168.1.76/cm?cmnd=Power1%20off');
|
Бра в коридоре по времени
|
if (timeIs('17:30')) {
callMethod("Switch26.turnOn");
}
if (timeIs('22:00')) {
callMethod("Switch26.turnOff");
}
|
Люстра режим 1
|
getURL('localhost/modules/dev_broadlink/command.php?command=ЛустраРежи1');
|
Люстра режим 2
|
getURL('localhost/modules/dev_broadlink/command.php?command=ЛустраРежи2');
|
Люстра режим 3
|
getURL('localhost/modules/dev_broadlink/command.php?command=ЛустраРежи3');
|
Люстра режим3_B
|
getURL('localhost/modules/dev_broadlink/command.php?command=RGB_B');
|
Люстра режим3_Dw
|
getURL('localhost/modules/dev_broadlink/command.php?command=RGB_Dw');
|
Люстра режим3_G
|
getURL('localhost/modules/dev_broadlink/command.php?command=RGB_G');
|
Люстра режим3_R
|
getURL('localhost/modules/dev_broadlink/command.php?command=RGB_R');
|
Люстра режим3_S1
|
getURL('localhost/modules/dev_broadlink/command.php?command=RGB_S1');
|
Люстра режим3_S2
|
getURL('localhost/modules/dev_broadlink/command.php?command=RGB_S2');
|
Люстра режим3_S3
|
getURL('localhost/modules/dev_broadlink/command.php?command=RGB_S3');
|
Люстра режим3_S4
|
getURL('localhost/modules/dev_broadlink/command.php?command=RGB_S4');
|
Люстра режим3_Up
|
getURL('localhost/modules/dev_broadlink/command.php?command=RGB_Up');
|
Люстра режим3_W
|
getURL('localhost/modules/dev_broadlink/command.php?command=RGB_W');
|
Свет в коридоре вкл
|
say('Свет в коридоре включен!', 2);
getURL('http://192.168.1.75/cm?cmnd=Power2%20on');
|
Свет в коридоре выкл
|
getURL('http://192.168.1.75/cm?cmnd=Power2%20off');
|
Свет на Кухни выкл
|
say('Свет на кухни выключен!', 2);
getURL('http://192.168.1.75/cm?cmnd=Power1%20off');
|
Свет на Кухни вкл
|
getURL('http://192.168.1.75/cm?cmnd=Power1%20on');
|
Hourly
|
Выполняется каждый час
|
motionDetected
|
Сработал детектор движения на веб-камере
DebMes("Motion detected: ".serialize($params));
callMethod('MotionSensorCam.motionDetected');
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'.'.'.'WebCamMotionAuto')) {
runScript('manageWebCamMotion', array('start'=>'1'));
}
|
OpenClos01
|
//variable $_D1_8D_D0_BB_D0_B5_D0_BC_D0_B5_D0_BD_D1_82;
if (getGlobal("OpenClos01.status")) {
$_D1_8D_D0_BB_D0_B5_D0_BC_D0_B5_D0_BD_D1_82 = 'Закрыто';
}
|
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
|
Выключить все приборы Дома
$objects=array('Switch01','Switch02','Switch03','Switch04','Switch05','Switch06','Switch08','Switch09','Switch21','Switch22','Switch23');
foreach($objects as $o) {
callMethod($o.'.turnoff');
}
|
turnOffEverythingGarag
|
Выключить все приборы в гараже
say('Все приборы в гараже!.. выключаются!', 2);
shell_exec("shutdown /s /f /m \\\\192.168.1.17 /t 2");
sleep(15);
$objects=array('Switch07','Switch19','Switch18','Switch19','Switch15','Switch17','Switch16','Switch14','Switch11','Switch12');
foreach($objects as $o) {
callMethod($o.'.turnoff');
}
|
turnOnEverythingGarag
|
Включить все приборы в гараже
say('Все приборы в гаражы включенны!', 2);
$objects=array('Switch12','Switch07','Switch15','Switch17','Switch18','Switch16','Switch14','Switch11');
foreach($objects as $o) {
callMethod($o.'.turnon');
}
|
Астрономическое время
|
//Обновим данные восхода захода
$lat=gg('ThisComputer.latitude'); // широта
$long=gg('ThisComputer.longitude'); // долгота
$sun_info = date_sun_info(time(), $lat, $long);
foreach ($sun_info as $key => $val) {
if ($key == 'sunrise') {
$sunrise = $val;
//echo 'Восход: '.date("H:i", $sunrise).'<br>';
setGlobal('ThisComputer.SunRiseTime',date("H:i", $sunrise));
}
if ($key == 'sunset') {
$sunset = $val;
$day_length = $sunset - $sunrise;
//echo 'Заход: '.date("H:i", $sunset).'<br>';
//echo 'Долгота дня: '.gmdate("H:i", $day_length).'<br>';
setGlobal('ThisComputer.SunSetTime',date("H:i", $sunset));
setGlobal('ThisComputer.LongTagTime',gmdate("H:i", $day_length));
}
if ($key == 'transit') {
//echo 'В зените: '.date("H:i", $val).'<br>';
setGlobal('ThisComputer.TransitTime',date("H:i", $val));
}
if ($key == 'civil_twilight_begin') {
//echo 'Начало утренних сумерек: '.date("H:i", $val).'<br>';
setGlobal('ThisComputer.Chicivil_beginTime',date("H:i", $val));
}
if ($key == 'civil_twilight_end') {
//echo 'Конец вечерних сумерек: '.date("H:i", $val).'<br>';
setGlobal('ThisComputer.civil_endTime',date("H:i", $val));
}
}
|
Включить общий свет в гараже
|
say('Общий свет в гараже включен!', 2);
$objects=array('Switch15','Switch14');
foreach($objects as $o) {
callMethod($o.'.turnon');
}
|
Включить рабочую зону
|
say('Рабочач зона ключена!', 2);
$objects=array('Switch18','Switch11');
foreach($objects as $o) {
callMethod($o.'.turnon');
}
|
Выключить общий свет в гараже
|
say('Общий свет в гараже выключен!', 2);
$objects=array('Switch15','Switch14');
foreach($objects as $o) {
callMethod($o.'.turnoff');
}
|
Выключить рабочую зону
|
say('Рабочая зона Выключена!', 2);
$objects=array('Switch18','Switch11');
foreach($objects as $o) {
callMethod($o.'.turnoff');
}
|
Утро
|
Говорит что в календаре на 5 дней
runScript('tellWeather', array());
runScript('sayTodayAgenda', array());
|