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);
|
Включение Даша ТВ 8-40
|
Включает Даша ТВ ежедневно в 8-40
if (timeIs('8:40')) {
callMethod("miioRelay04.turnOn");
}
|
Влажность Детская сценарий
|
Включает и выключает мойку воздуха в зависимости от влажности в комнате
if (getGlobal('XiSensor_humidity05.value') < 39) {
callMethod("miioRelay07.turnOn");
}
if (getGlobal('XiSensor_humidity05.value') > 55) {
callMethod("miioRelay07.turnOff");
}
|
Выключать Даша ТВ 21-50
|
Выключает ТВ ДАша каждый день в 21-50
if (timeIs('21:50')) {
callMethod("miioRelay04.turnOff");
}
|
ВЫключение подсветки тв 23-50
|
Ежедневно выключает подсветку ТВ в 23-50
if (timeIs('23:50')) {
callMethod("Relay08.turnOff");
}
|
ВЫключение ТВ в 01-10
|
if (timeIs('01:10')) {
callMethod("Relay10.turnOff");
}
|
Датчик дверь
|
При открытии двери говорит дверь открыта - делает фото - отправляет в телегу и включает на 60 сек свет в прихожей
if (getGlobal('XiOpenclose01.status') == 0) {
say('Дверь открыта', 3);
callMethod('Camera09.takeSnapshot');
sleep(3);
callMethod('Camera09.takeSnapshot');
sleep(5);
$img = 'c:/_majordomo/htdocs/cms/images/'.gg('Camera09.snapshot');
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendImageToAdmin($img);
callMethod('Camera08.takeSnapshot');
$img = 'c:/_majordomo/htdocs/cms/images/'.gg('Camera08.snapshot');
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendImageToAdmin($img);
sleep(7);
callMethod('Camera09.takeSnapshot');
$img = 'c:/_majordomo/htdocs/cms/images/'.gg('Camera09.snapshot');
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendImageToAdmin($img);
}
|
Дверь тест
|
exec('ffmpeg -y -i "http://192.168.0.110:8081/cam_1.cgi" -filter:v "setpts=6.0*PTS" -t 5 /htdocs/cached/out.mp4');
$img='/htdocs/cached/out.mp4';
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendFileToAdmin($img);
|
Задымление
|
say('Внимание Задымление в квартире', 5);
say('Внимание Задымление в квартире', 2);
say('Внимание Задымление в квартире', 2);
callMethod('Camera05.takeSnapshot');
$img = 'c:/_majordomo/htdocs/cms/images/'.gg('Camera05.snapshot');
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendImageToAdmin($img);
brLinkCommand('Потолок ВКЛ');
brLinkCommand('Красный потолок');
|
Подсветка окно выкл 23-30
|
Ежедневно в 23-30 выключает подсветку окна
if (timeIs('23:30')) {
callMethod("miioRelay05.turnOff");
}
|
Подсветка по движению
|
Включает подсветку в коридоре по движению с 18 часов до 8 утра ВЫКЛЮЧЕН
if (timeBetween('19:00', '09:00')&& getGlobal("XiMotion04.status") == 1) {
callMethod("XiRgbgt02.turnOn");
callMethod("XiRgbgt02.setColor",array("color"=>'#ff52e8'));
setTimeOut('XiRgbgt02', "callMethod('XiRgbgt02.turnOff');", 60);
}
|
Demo start
|
setGlobal('DemoMode',1);
set_time_limit(180);
setTimeOut('DemoStart','runScript("Demo01");',1);
|
Demo01
|
say('Здравствуйте.', 2);
say('Я представляю систему умного дома Мажордомо и сейчас расскажу о том, что я знаю и умею. ', 2);
sleep(1);
say('Во-первых, я в курсе того, какая температура в разных комнатах и могу регулировать температуру , в зависимости от ваших предпочтений включая или выключая сплит систему или вентиляторы ', 2);
say('Например температура воздуха в зале '.gg("XiSensor_temp02.value").' градусов. Если дома будет жарко , то я включу сплит систему - например вот так . ', 2);
say('Если станет холодно то я выключу сплит систему, Например так ', 2);
sleep(28);
sg('MiRemote360.ir_code','Z6XjAHABAADzAQAAHwQAAJEGAAAXDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ISEBAQEhAQEhIQEhAQEhIQEhIQEBIQEBIQEBAQEBAQEBAQEBAQEBAQEBIQEBIQEBISEBAQEBAQEhISEhAQEBAQEhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEhASEhAQEhAQE=');
sleep(5);
sg('MiRemote360.ir_code','Z6XjAGwBAAD5AQAAGgQAAKkGAAAcDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ISEBAQEhAQEhIQEhAQEhIQEhIQEBIQEBIQEBAQEBAQEBAQEBAQEBAQEBAQEBIQEBISEBAQEBAQEhISEhAQEBAQEhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEhAQEhAQEhAQE=');
say('Так же я знаю, что на улице сегодня '.gg("bryansk.temp").' градусов, а завтра будет'.gg("bryansk.forecast_1_day_temp_avg").'градусов. ', 2);
say('Я обязательно предупрежу об этом утром. ', 2);
say('В мои обязанности входит наблюдение за тем, где находятся мои хозяева. ', 2);
say('Я знаю, что Дмитрий сейчас '.gg('admin.seenAt').' а Даша сейчас '.gg('Dasha.seenAt').'.', 2);
say('Уровень заряда телефона Дмитрия '.gg('admin.BattLevel').' процентов, а телефона Даши '.gg('Dasha.BattLevel').' процентов. ', 2);
say('Если телефон будет разряжен, то я об этом предупрежу. Так же я знаю, когда дома никого нет и когда кто-то приходит домой,чтобы рационально управлять домашними системами. ', 2);
say('Я знаю курсы валют. например за один доллар сегодня дают '.gg('exchange_rate.dollarrur').' Рублей ', 2);
say('Кстати, об управлении. Я могу управлять различными приборами или, например, светом.', 2);
say('Вот смотрите, я сейчас немного поиграю с освещением. У меня записано несколько световых сцен под различные обстоятельства. ', 2);
setTimeOut('DemoTimer',"runScript('Demo02');",57);
|
Demo02
|
callmethod('miioRelay05.switch');
sleep(3);
callmethod('miioRelay05.switch');
sleep(3);
sg('MiRemote360.ir_code','Z6VLADQCAAClBgAAwAgAALsRAACpIwAAyCMAAPCgAAD0eAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAQEBAQABAQEAAQAAAAAAAAEAAQEBAQEBBgJHAlAA==');
sleep(5);
sg('MiRemote360.ir_code','Z6VTAOUBAACVAgAA6wYAAPUIAAD6EQAAgSMAAPCgAAD0eAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFEBAQEBAQEBAgICAgECAgICAgEBAQEBAQEBAgICAgICBgNXA1cDVwNQA=');
say('Также я могу проверять вашу почту. Например в почтовом ящике Дмитрия не прочитано 2 сообщения.', 2);
say('Ко мне можно обратиться и через Интернет, так что вы можете меня попросить включить свет или охладить комнату, даже если никого нет дома и с помощью системы видео наблюдения контролировать, что происходит.', 2);
say('Кроме управления механизмами, я могу помочь и с развлечением. Включать музыку и подсветку или определенные каналы на ТВ. Например, сейчас включу музыку в режиме супердиско .', 2);
setTimeOut('DemoTimer',"runScript('Demo03');",31);
|
Demo03
|
sg('MiRemote360.ir_code','Z6WXARUCAAAuBgAAjRAAAD8hAADDYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEEAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEAA=');
sleep(1);
sg('MiRemote360.ir_code','Z6VTAfcBAAAVAgAALgYAAHYQAACREAAAQCEAAL1jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFIREhAREhESERIREhIREhESEhIRERESERERERISEhESFhRSERIRERIREhESERISERIREhISEREREhERERESEhIREhYUUhESERESERIREhESEhESERISEhEREBIREREREhISERIWFFIREhEREhESERIREhIREhESEhIRERESERERERISEhESFhNSERIQERIREhESERISERIREhISEBEREhERERASEhIREhAQ==');
sleep(1);
sg('MiRemote360.ir_code','Z6VLAA4CAABrAgAAvQYAAOQIAADSEQAAjyMAAPCgAAD0eAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFEBAQEBAQEBAgICAgECAgIBAgEBAQEBAQIBAgICAgICBgNXA1AA==');
sleep(1);
sg('MiRemote360.ir_code','Z6VLADQCAACnBgAAzQgAALMRAAC0IwAA8KAAAFh5AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAQEBAQABAQEAAAAAAQAAAAEBAQEAAQEBBQJGAkAA==');
setTimeOut('DemoTimer',"runScript('Demo04');",13);
|
Demo04
|
sg('MiRemote360.ir_code','Z6WXARUCAAAuBgAAjRAAAD8hAADDYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEEAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEAA=');
sg('MiRemote360.ir_code','Z6XLABUCAAAvBgAAkRAAADshAADGYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQABAQABAAAAAAAAAQABAQEBBAIxAAEAAAEAAQABAAEBAAEAAQEAAQAAAAAAAAEAAQEBAQQCMQABAAABAAEAAQABAQABAAEBAAEAAAAAAAABAAEBAQEAA=');
sg('MiRemote360.ir_code','Z6XLABUCAAAvBgAAkRAAADshAADGYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQABAQABAAAAAAAAAQABAQEBBAIxAAEAAAEAAQABAAEBAAEAAQEAAQAAAAAAAAEAAQEBAQQCMQABAAABAAEAAQABAQABAAEBAAEAAAAAAAABAAEBAQEAA=');
sg('MiRemote360.ir_code','Z6XLABUCAAAvBgAAkRAAADshAADGYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQABAQABAAAAAAAAAQABAQEBBAIxAAEAAAEAAQABAAEBAAEAAQEAAQAAAAAAAAEAAQEBAQQCMQABAAABAAEAAQABAQABAAEBAAEAAAAAAAABAAEBAQEAA=');
sleep(1);
sg('MiRemote360.ir_code','Z6VPADQCAACkBgAAzAgAALERAACnIwAA8KAAAPR4AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAQEBAQABAQEBAQAAAAAAAAAAAQEBAQEBBQJGAkYCQA');
say('Ну как, понравилось? А ещё вы можете у меня что-нибудь спросить. Я могу найти ответы на вопросы “что такое” или “кто такой”. Попробуйте, спросите! Только для начала диалога обратитесь ко мне по имени ', 2);
rs("rec");
setTimeOut('DemoTimer',"runScript('Demo05');",50);
|
Demo05
|
say('Мои возможности постоянно увеличиваются, но я обещаю не захватывать мир. И кстати когда вы входили в квартиру я вас сфотографировала. Спасибо за внимание и всегда к вашим услугам ', 2);
|
BatteryLow
|
Просит поставить телефон на зарядку
/* BatteryLow&Name=%MyName
*/
Say($params['Name'].", поставь телефон на зарядку.", 1);
|
IAmAtHome
|
Произносит имя регистрированного в домашней сети wifi
/* IAmAtHome&Name=%MyName
*/
Say($params['Name']." добро пожаловать домой", 1);
|
IncomingCall
|
Телефон просит Алису сообщить что ктото звонит
/*
script=IncomingCall
To=%MyName
From=%CNAME
FromNumber=%CNUM
*/
$txt=$params['To'].", входящий звонок";
$txt.=" от ";
$txt.=($params['From'])?$params['From']:$params['FromNumber'];
Say($txt, 2);
|
IncomingSms
|
Телефон просит Алису прочитать смс
/* IncomingSms&To=%MyName&From=%SMSRN&FromNumber=%SMSRF&Text=%SMSRB
*/
$txt=$params['To']." вам СМС.";
$txt.=" Отправитель ".($params['From'])?$params['From']:$params['FromNumber'].$params['To'].".";
$txt.=" С содержанием: ".$params['Text'].".";
Say($txt, 2);
|
Organayser
|
Tasker шлет сюда события календара
/*
script=Organayser
Text=%CALDESCR
Title=%CALTITLE
To=%MyName
*/
$txt=$params['To'].", ежедневник сообщает:";
$txt.=" ".$params['Title'].".";
$txt.=" ".$params['Text'].".";
Say($txt, 2);
|
Say
|
Телефон просит Алису сообщить уведомление
/*
script=Say
To=%MyName
Text=%NTITLE
*/
$txt=$params['To'].", телефон хочет сообщить, что";
$txt.=" ".$params['Text'].".";
Say($txt, 2);
|
вкл-выкл MUTE
|
brLinkCommand('MUTE зал');
|
Включить RGB подсветку
|
callMethod("Relay08.turnOn");
|
Включить кондей +16
|
sg('MiRemote360.ir_code','Z6XjAHABAADzAQAAHwQAAJEGAAAXDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ISEBAQEhAQEhIQEhAQEhIQEhIQEBIQEBIQEBAQEBAQEBAQEBAQEBAQEBIQEBIQEBISEBAQEBAQEhISEhAQEBAQEhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEhASEhAQEhAQE=');
say('Кондиционер включен на 16 градусов', 1);
|
Включить просмотр кино
|
sg('MiRemote360.ir_code','Z6WXASoCAACkBgAAbxEAAKS1AAAItgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiEBAQAAAAAAAQEBAAAAAAAAAQAAAAAAAAEAAQEBAQEBBAIhAQEAAAAAAAEBAQAAAAAAAAEAAAAAAAABAAEBAQEBAQQCIQEBAAAAAAABAQEAAAAAAAABAAAAAAAAAQABAQEBAQEDAiEBAQAAAAAAAQEBAAAAAAAAAQAAAAAAAAEAAQEBAQEBBAIhAQEAAAAAAAEBAQAAAAAAAAEAAAAAAAABAAEBAQEBAQQCIQEBAAAAAAABAQEAAAAAAAABAAAAAAAAAQABAQEBAQEAA=');
sleep(1);
sg('MiRemote360.ir_code','Z6WXARUCAAAuBgAAjRAAAD8hAADDYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEEAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEAA=');
sleep(1);
sg('MiRemote360.ir_code','Z6WXARUCAAAuBgAAjBAAAD8hAADDYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQAAAAEBAQABAAEBAAAAAQABBAIxAAEAAAEAAQABAAEBAAEAAAAAAAAAAQEBAQEBAQEAAAQCMQABAAABAAEAAQABAQABAAAAAQEBAAEAAQEAAAABAAEEAjEAAQAAAQABAAEAAQEAAQAAAAAAAAABAQEBAQEBAQAABAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAQABAQAAAAEAAQQCMQABAAABAAEAAQABAQABAAAAAAAAAAEBAQEBAQEBAAAAA=');
say("Включаю телевизор",1);
|
Включить просмотр ТВ
|
sg('MiRemote360.ir_code','Z6WXASoCAACkBgAAbxEAAKS1AAAItgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiEBAQAAAAAAAQEBAAAAAAAAAQAAAAAAAAEAAQEBAQEBBAIhAQEAAAAAAAEBAQAAAAAAAAEAAAAAAAABAAEBAQEBAQQCIQEBAAAAAAABAQEAAAAAAAABAAAAAAAAAQABAQEBAQEDAiEBAQAAAAAAAQEBAAAAAAAAAQAAAAAAAAEAAQEBAQEBBAIhAQEAAAAAAAEBAQAAAAAAAAEAAAAAAAABAAEBAQEBAQQCIQEBAAAAAAABAQEAAAAAAAABAAAAAAAAAQABAQEBAQEAA=');
sleep(1);
sg('MiRemote360.ir_code','Z6WXARUCAAAuBgAAjRAAAD8hAADDYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEEAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEAA=');
sleep(1);
sg('MiRemote360.ir_code','Z6UPAQ0CAABFBgAAoRAAAAohAAB1YgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQABAAABAAAAAQABAQABAQEABAIxAAEAAAEAAQABAAEBAAEAAQAAAQAAAAEAAQEAAQEBAAQCMQABAAABAAEAAQABAQABAAEAAAEAAAABAAEBAAEBAQAEAjEAAQAAAQABAAEAAQEAAQABAAABAAAAAQABAQABAQEAAA');
|
Включить радио
|
sg('MiRemote360.ir_code','Z6WXARUCAAAuBgAAjRAAAD8hAADDYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEEAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEAA=');
sleep(1);
sg('MiRemote360.ir_code','Z6VTAfcBAAAVAgAALgYAAHYQAACREAAAQCEAAL1jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFIREhAREhESERIREhIREhESEhIRERESERERERISEhESFhRSERIRERIREhESERISERIREhISEREREhERERESEhIREhYUUhESERESERIREhESEhESERISEhEREBIREREREhISERIWFFIREhEREhESERIREhIREhESEhIRERESERERERISEhESFhNSERIQERIREhESERISERIREhISEBEREhERERASEhIREhAQ==');
sleep(1);
sg('MiRemote360.ir_code','Z6VLAA4CAABrAgAAvQYAAOQIAADSEQAAjyMAAPCgAAD0eAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFEBAQEBAQEBAgICAgECAgIBAgEBAQEBAQIBAgICAgICBgNXA1AA==');
sleep(1);
sg('MiRemote360.ir_code','Z6VLADQCAACnBgAAzQgAALMRAAC0IwAA8KAAAFh5AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAQEBAQABAQEAAAAAAQAAAAEBAQEAAQEBBQJGAkAA==');
|
Вход MiBOX
|
sg('MiRemote360.ir_code','Z6UPARoCAAAuBgAAnxAAAEIhAAAlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQAAAAEBAQABAAEBAAAAAQABBAIxAAEAAAEAAQABAAEBAAEAAAAAAAAAAQEBAQEBAQEAAAQCMQABAAABAAEAAQABAQABAAAAAQEBAAEAAQEAAAABAAEEAjEAAQAAAQABAAEAAQEAAQAAAAAAAAABAQEBAQEBAQAAAA');
|
Вход XBOX
|
sg('MiRemote360.ir_code','Z6XLABoCAAAvBgAAoRAAAEEhAAAvZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQABAAEAAAAAAQABAAEBAQEABAIxAAEAAAEAAQABAAEBAAEAAQABAAAAAAEAAQABAQEBAAQCMQABAAABAAEAAQABAQABAAEAAQAAAAABAAEAAQEBAQAAA=');
|
Вход БКС
|
sg('MiRemote360.ir_code','Z6XLABsCAAArBgAAoBAAAEIhAAAuZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQABAAABAAAAAQABAQABAQEABAIxAAEAAAEAAQABAAEBAAEAAQAAAQAAAAEAAQEAAQEBAAQCMQABAAABAAEAAQABAQABAAEAAAEAAAABAAEBAAEBAQAAA=');
|
ВЫключить кондей
|
sg('MiRemote360.ir_code','Z6XjAGwBAAD5AQAAGgQAAKkGAAAcDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ISEBAQEhAQEhIQEhAQEhIQEhIQEBIQEBIQEBAQEBAQEBAQEBAQEBAQEBAQEBIQEBISEBAQEBAQEhISEhAQEBAQEhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEhAQEhAQEhAQE=');
say('Кондиционер выключен',0);
|
Выключить подсветку ТВ
|
sg('MiRemote360.ir_code','Z6VTAOUBAACVAgAA6wYAAPUIAAD6EQAAgSMAAPCgAAD0eAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFEBAQEBAQEBAgICAgECAgICAgEBAQEBAQEBAgICAgICBgNXA1cDVwNQA=');
say('Подсветка ТВ выключена', 0);
|
ВЫКЛЮЧИТЬ РАДИО
|
sg('MiRemote360.ir_code','Z6WXARUCAAAuBgAAjRAAAD8hAADDYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEEAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEAA=');
sleep(1);
sg('MiRemote360.ir_code','Z6VPADQCAACkBgAAzAgAALERAACnIwAA8KAAAPR4AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAQEBAQABAQEBAQAAAAAAAAAAAQEBAQEBBQJGAkYCQA');
say("Включаю радио",2);
|
Выключить тв и ресивер и подсветку
|
sg('MiRemote360.ir_code','Z6WXASoCAACkBgAAbxEAAKS1AAAItgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiEBAQAAAAAAAQEBAAAAAAAAAQAAAAAAAAEAAQEBAQEBBAIhAQEAAAAAAAEBAQAAAAAAAAEAAAAAAAABAAEBAQEBAQQCIQEBAAAAAAABAQEAAAAAAAABAAAAAAAAAQABAQEBAQEDAiEBAQAAAAAAAQEBAAAAAAAAAQAAAAAAAAEAAQEBAQEBBAIhAQEAAAAAAAEBAQAAAAAAAAEAAAAAAAABAAEBAQEBAQQCIQEBAAAAAAABAQEAAAAAAAABAAAAAAAAAQABAQEBAQEAA=');
sleep(1);
sg('MiRemote360.ir_code','Z6WXARUCAAAuBgAAjRAAAD8hAADDYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEEAjEAAQAAAQABAAEAAQEAAQAAAAEBAQAAAAEBAAAAAQEBBAIxAAEAAAEAAQABAAEBAAEAAAABAQEAAAABAQAAAAEBAQQCMQABAAABAAEAAQABAQABAAAAAQEBAAAAAQEAAAABAQEAA=');
sleep(1);
sg('MiRemote360.ir_code','Z6VTAOUBAACVAgAA6wYAAPUIAAD6EQAAgSMAAPCgAAD0eAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFEBAQEBAQEBAgICAgECAgICAgEBAQEBAQEBAgICAgICBgNXA1cDVwNQA=');
say("Выключаю телевизор",2);
|
Громче
|
brLinkCommand('Громче зал');
brLinkCommand('Громче зал');
brLinkCommand('Громче зал');
|
Даша ТВ звук на 6
|
include_once(DIR_MODULES.'app_smarttv/app_smarttv.class.php');
$smartTv=new app_smarttv();
$smartTv->control($alias="TV DASHA",'setVol', $val=10);
|
Осушение кондиционер
|
sg('MiRemote360.ir_code','Z6XjAGABAAADAgAAGQQAAMQGAAADDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0ISEBAQEhAQEhIQEhAQEhIQEhIQEBIQEBIQEBAQEBAQEBAQEBAQEBAQEBIQEBIQEBASEBAQEBAQEhISEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBIQEBAQEhAQE=');
callMethod("miioRelay07.turnOff");
|
Тише
|
brLinkCommand('Тише зал');
brLinkCommand('Тише зал');
brLinkCommand('Тише зал');
|
Шлагбаум
|
callMethod("Button11.press");
say('Команда на шлагбаум отправлена', 2);
|
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'));
}
|
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('Switch1','Switch2','Switch3');
foreach($objects as $o) {
callMethod($o.'.turnoff');
}
|
БАР включить
|
включает или выключает бар
if (getGlobal("miioRelay15.status")) {
callMethod("miioRelay15.turnOff");
}
callMethod("miioRelay15.turnOn");
|
Гости уходят
|
Включает свет в прихожей и выключает его через 60 сек
say('Как жаль, Буду рада видеть вас снова', 1);
brLinkCommand('Прихожая ВКЛ');
sleep(55);
brLinkCommand('Прихожая ВЫКЛ');
sleep(1);
brLinkCommand('прихожая_Выкл прих_40');
|
Мы идем спать
|
выключает елку , гирлянду и ТВ в зале, включает подсветку и телек в спальне
callMethod("miioRelay05.turnOff");
callMethod("miioRelay06.turnOff");
callMethod("Relay11.turnOff");
callMethod("Relay12.turnOff");
callMethod("XiRelay13.turnOff");
callMethod("XiRelay14.turnOff");
say('В зале все выключила. Спокойной ночи', 0);
callMethod("XiRgbgt02.turnOn");
callMethod("Relay08.turnOn");
if (getGlobal("Relay10.status") == 0) {
callMethod("Relay10.turnOn");
}
setTimeOut('XiRgbgt02', "callMethod('XiRgbgt02.turnOff');", 30);
|
Список задач
|
if (file_exists('./modules/app_calendar/app_calendar.class.php'))
{
Define('TEMP_APP_CALENDAR_SOONLIMIT', '5'); //лимит дней которые проговаривает
include_once('./modules/app_calendar/app_calendar.class.php');
$calendar = new app_calendar();
$calendar -> usual($out);
$events = $out['EVENTS_TODAY'];
$say_phrase = '';
if ($events)
{
$tasks = '';
$cals = '';
$i = 0;
$j = 0;
foreach($events as $ev)
{
if ($ev['IS_TASK'] == 1 and $ev['IS_DONE'] == 0)
{
$i++;
$tasks.= $i.'. '.$ev['TITLE'].'. ';
} else {
$j++;
$cals.= $j.'. '.$ev['TITLE'].'. ';
}
}
if ($i != 0) $say_phrase.= "У вас на сегодня запланированы задачи, ".$tasks;
if ($j != 0) $say_phrase.= "Сегодняшние события, ".$cals;
}
$events = $out['CALENDAR_CATEGORIES'];
$i = 0;
$tasks = '';
if ($events)
{
foreach($events as $category)
{
$events_past = $category['EVENTS_PAST'];
if ($events_past)
{
$tasks.= 'из категории: '.$category['TITLE'].'. '; //Если нужно перед пропущенными задачами указывать категорию
foreach($events_past as $ev)
{
$i++;
$tasks.= $i.'. '.$ev['TITLE'].'. ';
}
}
}
if ($i != 0) $say_phrase.= " Напоминаю пропущенные задачи, ".$tasks;
}
$events = $out['CALENDAR_CATEGORIES'];
$tasks = '';
$i = 0;
if ($events)
{
foreach($events as $category)
{
$events_soon = $category['EVENTS_SOON'];
if ($events_soon)
{
//$say_phrase.= ' в категории: '.$category['TITLE'].'. ';
foreach($events_soon as $ev)
{
$i++;
$tasks.= " через ".$ev['AGE']." ".$ev['DAYS']." ".$ev['TITLE'].". ";
}
}
}
if ($i != 0) $say_phrase.= "Напоминаю что".$tasks;
}
if ($say_phrase)
{
//echo $say_phrase;
say($say_phrase,2);
}
}
|
Утро Димы
|
В 7-10 включает гирлянду и подсветку
callMethod("XiRgbgt02.turnOn");
callMethod("XiRgbgt02.setColor",array("color"=>'#ffe8fc'));
callMethod("miioRelay05.turnOn");
callMethod("Relay12.turnOn");
sleep(3);
brLinkCommand('Белый цвет потолок');
|
Ушел на работу
|
в 7-50 выключает все что включила в 7-10
callMethod("XiRgbgt02.turnOff");
callMethod("miioRelay05.turnOff");
//brLinkCommand('Фиолетовый потолок');
sleep(3);
callMethod("Relay12.turnOff");
say('Утренний сценарий выключен', 0);
|