Backup_module_done
|
Выполнен бэкап системы модулем Backup
$STATE = $params['STATE'];
$DESCRIPTION = $params['DESCRIPTION'];
//Debmes("Backup_module_done: Принятые значения: STATE = $STATE,DESCRIPTION = $DESCRIPTION");
if ($STATE == 'Ok'){Debmes("Backup_module_done: STATE = $STATE");}
if ($STATE == 'Error'){Debmes("Backup_module_done: STATE = $STATE, Причина - DESCRIPTION = $DESCRIPTION");}
|
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);
|
filesClearOld
|
Удаление старых файлов
DebMes("Запущен скрипт удаления старых файлов filesClearOld");
////keepLatestLimitedBySize('/var/www/html/media/webcam',500*1024*1024); //500Mb
////keepLatestLimitedBySize('/var/www/html/media/webcam_sorted',500*1024*1024); //500Mb
////keepLatestLimitedBySize('/var/www/html/backup',150*1024*1024); //500Mb
//keepLatestLimitedBySize('C:\_majordomo\htdocs\backup',250*1024*1024); //50Mb
//keepLatestLimitedBySize('C:\_majordomo\htdocs\cms\saverestore',250*1024*1024); //50Mb
keepLatestLimitedBySize('C:\_majordomo\htdocs\cms\debmes',50*1024*1024); //50Mb
keepLatestLimitedBySize('C:\_majordomo\htdocs\20171012Backup',300*1024*1024); //300Mb
keepLatestLimitedBySize('C:\_majordomo\htdocs\cms\saverestore',100*1024*1024); //100Mb
DebMes("Выполнен скрипт удаления старых файлов filesClearOld");
|
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);
|
Decode
|
//$message = "043F04400438043204350442"; //привет
//$message = "04320435044204350440?"; //ветер
$message = $params['message'];
$mas = str_split($message, 4);
$masCount = count($mas);
for ($i = 0; $i < $masCount; $i++){
$mesStr = $mesStr . "\u" . $mas[$i];
}
Debmes("mesStr = $mesStr");
function escape_win ($path) {
$path = strtoupper ($path);
return strtr($path, array("\U0430"=>"а", "\U0431"=>"б", "\U0432"=>"в",
"\U0433"=>"г", "\U0434"=>"д", "\U0435"=>"е", "\U0451"=>"ё", "\U0436"=>"ж", "\U0437"=>"з", "\U0438"=>"и",
"\U0439"=>"й", "\U043A"=>"к", "\U043B"=>"л", "\U043C"=>"м", "\U043D"=>"н", "\U043E"=>"о", "\U043F"=>"п",
"\U0440"=>"р", "\U0441"=>"с", "\U0442"=>"т", "\U0443"=>"у", "\U0444"=>"ф", "\U0445"=>"х", "\U0446"=>"ц",
"\U0447"=>"ч", "\U0448"=>"ш", "\U0449"=>"щ", "\U044A"=>"ъ", "\U044B"=>"ы", "\U044C"=>"ь", "\U044D"=>"э",
"\U044E"=>"ю", "\U044F"=>"я", "\U0410"=>"А", "\U0411"=>"Б", "\U0412"=>"В", "\U0413"=>"Г", "\U0414"=>"Д",
"\U0415"=>"Е", "\U0401"=>"Ё", "\U0416"=>"Ж", "\U0417"=>"З", "\U0418"=>"И", "\U0419"=>"Й", "\U041A"=>"К",
"\U041B"=>"Л", "\U041C"=>"М", "\U041D"=>"Н", "\U041E"=>"О", "\U041F"=>"П", "\U0420"=>"Р", "\U0421"=>"С",
"\U0422"=>"Т", "\U0423"=>"У", "\U0424"=>"Ф", "\U0425"=>"Х", "\U0426"=>"Ц", "\U0427"=>"Ч", "\U0428"=>"Ш",
"\U0429"=>"Щ", "\U042A"=>"Ъ", "\U042B"=>"Ы", "\U042C"=>"Ь", "\U042D"=>"Э", "\U042E"=>"Ю", "\U042F"=>"Я",
"\U003F"=>"?", "\U0021"=>"!", "\U002E"=>".", "\U0020"=>" "));
}
$fin = escape_win($mesStr);
Debmes("$fin");
say("Новое смс: $fin",1);
|
Holiday_update
|
include_once('./modules/app_calendar/app_calendar.class.php');
$calendar = new app_calendar();
$calendar->calendar_getholidays();
|
kinopoisk
|
$film=$params['film'];
say('Запрашиваю у kinopoisk информацию о '.$film);
$url="http://api.kinopoisk.cf/searchFilms?keyword=" . $film;
$data = json_decode(file_get_contents($url), true);
$pagesCount = $data["pagesCount"];
if ($pagesCount > 0) {
$keyword = $data["keyword"]; // что искали
$id = $data["searchFilms"][0]["id"]; // ид на кинопоиске
$nameRU = $data["searchFilms"][0]["nameRU"]; // название в рус
$nameEN = $data["searchFilms"][0]["nameEN"]; //англ название
$description = $data["searchFilms"][0]["description"];
$year = $data["searchFilms"][0]["year"];
$genre = $data["searchFilms"][0]["genre"]; //жанр
$rating = explode(" ", $data["searchFilms"][0]["rating"]); //рейтинг
$img = "http://st.kp.yandex.net/images/film/".$id.".jpg";
//Рассказываем о фильме
$mes = 'Найден фильм "'.$nameRU.'" '.$year.' года. ';
if ($nameEN != '') {
$mes .= 'Оригинальное название ' . $nameEN . '. ';
}
$mes .= $description . '.';
if (is_array($rating) && isset($rating[1])) {
$mes .= ' Рейтинг фильма ' . $rating[0] . '.';
}
say($mes);
//скачиваем картинку
/*
$url=$img;
$jpg="./cached/film/".$id.".jpg";
$dest_file = @fopen($jpg, "w");
$resource = curl_init();
curl_setopt($resource, CURLOPT_URL, $url);
curl_setopt($resource, CURLOPT_FILE, $dest_file);
curl_setopt($resource, CURLOPT_HEADER, 0);
curl_exec($resource);
curl_close($resource);
fclose($dest_file);
*/
} else {
say('Не знаю такого фильма.');
}
|
Optmizer
|
getURL('http://localhost/scripts/optimize_history.php',0);
|
reboot_router
|
say('Внимание! Маршрутизатор перезагружается!');
$t = 'http://192.168.0.1/apply.cgi?&preferred_lang=RU&firmver=3.0.0.4&wl_auth_mode_x=psk2&wl_wep_x=0&action_mode=reboot&action_script=&action_wait=70&apps_action=&apps_path=&apps_name=&apps_flag=&wan_unit=0';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $t);
$pwd=gg('asusrouter.pwd');
$pwd = '9221404609and';
curl_setopt($ch, CURLOPT_USERPWD, 'admin:'.$pwd);
curl_setopt($ch, CURLOPT_REFERER, 'http://192.168.0.1/index.asp');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Firefox/17.0');
curl_setopt($ch, CURLOPT_ENCODING, 'utf-8');
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_exec($ch);
curl_close($ch);
|
Send_mail
|
Не работает почта
$from="Majordomo";
$to='Kolomnikov17@yandex.ru';
$subject='Test';
$body='Test';
SendMail($from, $to, $subject, $body);
|
TempBoiler
|
$set = getGlobal("boiler_kontyr_first.set");
$slider = getGlobal("boiler_kontyr_first.setSlider");
$set =round($set,1);
$slider = $set+0.5;
setGlobal("boiler_kontyr_first.setSlider",$slider);
$set = $slider+0.01;
setGlobal("boiler_kontyr_first.set",$set);
|
testtemp
|
$temp1 = getGlobal("KitchenTemp.value");
$temp1 = $temp1+0.01;
setGlobal("boiler_kontyr_first.fact",$temp1);
|
Tracker_post
|
DebMes("Отслеживание посылок в Cron запущено");
//exec('php /var/www/modules/app_PostTracker/check_track.php');
//0 8,17 * * *
require_once(DIR_MODULES . '/app_PostTracker/app_PostTracker.class.php');
$PostTracker = new app_PostTracker();
$PostTracker->updateStatuses();
DebMes("Отслеживание посылок в Cron закончено");
|
utf8
|
$otvet = "0422043504410442";
//$otvet ='Раз два 3 g';
Debmes("1 $otvet");
//избавимся от ударений
$otvet=iconv("UTF-16BE","CP1252//IGNORE",$otvet);
Debmes("2 $otvet");
//$otvet=iconv("CP1251","UTF-8",$otvet);
//Debmes("3 $otvet");
$otvet = preg_replace("#\s\(.*?\)#isu", '', $otvet);
Debmes("4 $otvet");
//Debmes("$val");
//$val = mb_convert_encoding($val, "UTF-16BE", "ISO-8859-1");
//Debmes("$val");
//echo 'С добавлением IGNORE : ', iconv("UTF-16BE", "windows-1251//IGNORE", $val), PHP_EOL;
//echo 'С добавлением IGNORE : ', iconv("UTF-8", "windows-1251//IGNORE", $val), PHP_EOL;
//$new = iconv("UTF-8", "ASCII", $val);
//$new=iconv("UTF-8","CP1251//IGNORE",$val);
//$new = iconv("UTF-16BE", "ISO-8859-1//IGNORE", $val);
//Debmes("$new");
/*
$text = "Это символ евро - '€'.";
echo 'Исходная строка : ', $text, PHP_EOL;
Debmes("$text");
echo 'С добавлением TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
$text = iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text);
Debmes("$text");
echo 'С добавлением IGNORE : ', iconv("UTF-8", "ASCII//IGNORE", $text), PHP_EOL;
$text = iconv("UTF-8", "ISO-8859-1//IGNORE", $text);
Debmes("$text");
echo 'Обычное преобразование : ', iconv("UTF-8", "CP1251", $text), PHP_EOL;
$text = iconv("UTF-8", "ISO-8859-1//ISO-8859-1", $text);
Debmes("$text");
*/
|
Cash_Homebridge
|
Должен очистить кэш бриджа
exec('rm -Rf /home/pi/.homebridge/accessories/*');
exec('rm -Rf /home/pi/.homebridge/persist/*');
|
ClearLogFile
|
Очистка логов
//$date = date("Y-m-d", mktime(0, 0, 0, date('m'), date('d'), date('Y')));
$date = date("Y-m-d", mktime(0, 0, 0, date('m'), date('d') - 2, date('Y')));
safe_exec('rm /var/www/debmes/'.$date.'.log');
safe_exec('rm /var/www/debmes/log_'.$date.'*.txt');
safe_exec('rm /var/www/debmes/'.$date.'_error.log');
safe_exec('rm /var/www/debmes/'.$date.'_homebridge.log');
safe_exec('rm /var/www/debmes/'.$date.'_threads.log');
safe_exec('echo > /var/log/majordomo.err');
safe_exec('echo > /var/log/majordomo.log');
|
manageConnectService
|
Включение/выключение сервиса синхронизации через облако
include_once(DIR_MODULES.'connect/connect.class.php');
$cn=new connect();
$cn->getConfig();
if ($params['start']) {
$cn->config['CONNECT_SYNC']='1';
$cn->saveConfig();
}
if ($params['stop']) {
$cn->config['CONNECT_SYNC']='0';
$cn->saveConfig();
}
echo $cn->config['CONNECT_SYNC'];
|
manageWebCamMotion
|
Включение/выключение детектора движений на камере
//if ($params['start']) {
DebMes("Starting web-cam motion detection");
//getURL('http://localhost:8800/192.168.0.40/detection/pause',0);
//}
//if ($params['stop']) {
// DebMes("Stopping web-cam motion detection");
//getURL('http://localhost:8080/0/detection/pause',0);
//}
//@echo off;
exec('reg add "HKCU\Software\Contaware\ContaCam\192.168.0.40:80:/:0" /t REG_DWORD /v VideoProcessorMode /d 1 /f');
exec('reg add "HKCU\Software\Contaware\ContaCam\192.168.0.58:8554:/shot.jpg:1" /t REG_DWORD /v VideoProcessorMode /d 1 /f');
|
manageWebCamService
|
Включение/выключение вебкамеры
//if ($params['start']) {
// safe_exec('cp /etc/motion/motion_enabled /etc/default/motion');
//safe_exec('service motion start');
//}
//if ($params['stop']) {
// safe_exec('cp /etc/motion/motion_disabled /etc/default/motion');
// safe_exec('service motion stop');
//}
|
Ping_devices
|
$from=Majordomo;
$to='Kolomnikov17@yandex.ru';
$subject=Test_Mail;
$body=Test;
//setGlobal('cycle_pingControl','start');
//if (ping(gg('ESP_Secure.IP')))
/*
if (ping('192.168.0.77'))
{
setGlobal('ESP_Secure.Status',2);
}
else {
setGlobal('ESP_Secure.Status',1);
}
*/
SendMail($from, $to, $subject, $body);
//setGlobal('cycle_pingControl','stop');
|
wiki
|
$zap=$params['zapros'];
//if ($zap==""){$zap="путин";}
say('Запрашиваю у Wikipedia информацию о '.$zap,2);
$zapurl=urlencode($zap);
$url='http://ru.wikipedia.org/w/api.php?action=opensearch&search='.$zapurl.'&prop=info&format=xml&inprop=url';
$answ=file_get_contents($url);
$xml = simplexml_load_string($answ);
$otvet=$xml->Section->Item->Description;
$otvet2=urlencode($otvet);
$otvet=urldecode($otvet2);
echo $otvet;
say($otvet,2);
|
wiki2
|
//устанавливаем кодировки
header("Content-type: text/html;charset=utf-8");
mb_internal_encoding("UTF-8");
//$word = $request = $matches[1]; //получаем искомое слово
$word=$params['zapros'];
say('Запрашиваю у Wikipedia информацию о '.$word );
$space_replace = preg_match_all("#\s#isu", $request, $s); //проверяем, есть ли пробелы в запросе
if ($space_replace === 1) { //если есть
$request = preg_replace("#\s#", '_', $request); //меняем их на _
}
$url = 'https://ru.wikipedia.org/w/api.php?action=opensearch&search='.$request.'&format=xml'; //формируем запрос
$ch = curl_init(); //инициируем curl
curl_setopt($ch, CURLOPT_URL, $url); //передаем url
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); //возвращаем результат в виде строки
curl_setopt($ch, CURLOPT_USERAGENT, 'MyBot/1.0 (http://www.mysite.com/)'); //имитируем браузер
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //отключаем проверку ssl-сертификата узла
$result = curl_exec($ch); //выполяем curl
$data = fopen('test.xml', 'w'); //открываем файл для записи
fputs($data, $result); //записываем результат выполнения
fclose($data); //закрываем
$file = 'test.xml'; //указываем файл
$data_xml = simplexml_load_file($file); //загружаем его и раскладываем на массив
$text = $text1 = $data_xml->Section[0]->Item[0]->Text[0]; //получаем первый найденный вариант
$description = $data_xml->Section[0]->Item[0]->Description[0]; //получаем определение слова
$description = mb_convert_encoding($description, 'UTF-8', 'UTF-8'); //конвертируем utf-8 без bom в простой utf-8
if (empty($description)) { //если ничего не нашлось
say ("Я не знаю такого слова.");
} elseif (!empty($description)) { //иначе
$text = preg_replace("#ё#", 'е', $text); //меняем "ё" на "е"
$text = mb_strtolower($text, 'utf-8'); //меняем регистр всех букв на нижний
if ($word === $text) { //если первый результат равен введенному слову
function utf8_str_split($str) {
// переводим каждый символ в массив строк
$split=1;
$array = array();
for ( $i=0; $i < strlen( $str ); ){
$value = ord($str[$i]); //возвращаем ASCII-код сиволов и проверяем их на корректность
if($value > 127){
if($value >= 192 && $value <= 223)
$split=2;
elseif($value >= 224 && $value <= 239)
$split=3;
elseif($value >= 240 && $value <= 247)
$split=4;
}else{
$split=1;
}
$key = NULL;
for ( $j = 0; $j < $split; $j++, $i++ ) {
$key .= $str[$i];
}
array_push( $array, $key );
}
return $array;
}
/**
* Функция вырезки
* @param <string> $str
* @return <string>
*/
function clearstr($str){
$sru = 'ёйцукенгшщзхъфывапролджэячсмитьбю';
$s1 = array_merge(utf8_str_split($sru), utf8_str_split(strtoupper($sru)), range('A', 'Z'), range('a','z'), range('0', '9'), array('&',' ','#',';','%','?',':','(',')','-','_','=','+','[',']',',','.','/','\\'));
$codes = array();
for ($i=0; $i<count($s1); $i++){
$codes[] = ord($s1[$i]);
}
$str_s = utf8_str_split($str);
for ($i=0; $i<count($str_s); $i++){
if (!in_array(ord($str_s[$i]), $codes)){
$str = str_replace($str_s[$i], '', $str);
}
}
return $str;
}
$res = clearstr($description); //удаляем спецсимволы
$res = preg_replace("#ё#isu", 'е', $res); //меняем ё на е
//делаем первую букву большой
$first = mb_substr($word, 0,1, 'utf-8'); //возвращаем 1 букву искомой фразы
$last = mb_substr($word,1); //возвращаем остальное
$first = mb_strtoupper($first, 'utf-8'); //переводим первую букву в верхний регистр
$last = mb_strtolower($last, "utf-8"); //все остальное - в нижний
$word = $first.$last; //склеиваем
$rep = $word .", это "; //искомое слово + фраза замены
$tracking = preg_replace("#".$word."#isum", $rep, $res,1); //заменяем первое слово определения нашим словом поиска и замены
$tracking = preg_replace("#\s\(.*?\)#isu", '', $tracking); //удаляем все остальные круглые скобки и их содержимое
say($tracking);
} elseif ($word != $text){ //если искомое слово не найдено в первом варианте
$text2 = $data_xml->Section[0]->Item[1]->Text[0]; //получаем второе совпадение
$text3 = $data_xml->Section[0]->Item[2]->Text[0]; //получаем третье совпадение
$say = "По Вашему запросу совпадений не найдено. Похожие результаты: ";
//$say.=$text1 .", " .$text2 ." и " .$text3 .".";
$say.=$text1; //первый похожий резальтат
if ($text2 ==='') { //если во втором результате пусто
$say.="."; //ставим точку
} else { //иначе
$say.= ", " .$text2; //ставим запятую и дописываем второй вариант
if ($text3 === '') { //если в третьем результате пусто
$say.="."; //ставим точку
} else { //иначе
$say.=" и " .$text3; //ставим запятую и дописываем третий вариант
}
}
say($say);
}
}
|
wiki3
|
$zap=$params['zapros'];
//$zap='Путин';
sayReply("Запрашиваю у Wikipedia информацию о $zap", 1);
$zapurl=urlencode($zap);
$url='http://ru.wikipedia.org/w/api.php?action=opensearch&search='.$zapurl.'&prop=info&format=xml&inprop=url';
$answ=file_get_contents($url);
$xml = simplexml_load_string($answ);
$otvet=$xml->Section->Item->Description;
//Debmes("$otvet");
//избавимся от ударений
$otvet=iconv("UTF-8","CP1251//IGNORE",$otvet);
//Debmes("$otvet");
$otvet=iconv("CP1251","UTF-8",$otvet);
$otvet = preg_replace("#\s\(.*?\)#isu", '', $otvet);
//echo( $otvet);
//Debmes("$otvet");
sayReply($otvet,1);
|
A_and_A_left_home
|
Когда хозяев нет дома поставлю на охрану
if(gg("Alarm.Auto_ONOFF")){
$Dist = gg("Alarm.Distance_ONOFF");
if ((gg("admin.HomeDistance")>$Dist) && (gg("Anastasiya.HomeDistance")>$Dist) && (gg("Alarm.StatusInt")!=2) && (gg("Alarm.StatusInt")!=1))
{
setGlobal("SecureONOFF.status",1);
say('Хозяев нет дома. Поставлю на охрану!');
DebMes("Автоматическая постановка на охрану");
}
if ((gg("admin.HomeDistance")<=$Dist) && (gg("SecureONOFF.status")))
{
setGlobal("SecureONOFF.status",0);
say('Хозяин возвращается домой! Сниму с охраны');
DebMes("Автоматическое снятие с охраны. Возвращение Андрея.");
}
if ((gg("Anastasiya.HomeDistance")<=$Dist) && (gg("SecureONOFF.status")))
{
setGlobal("SecureONOFF.status",0);
say('Хозяйка возвращается домой! Сниму с охраны');
DebMes("Автоматическое снятие с охраны. Возвращение Настюши.");
}
}
|
BrigadeNumber
|
$now = idate("U") + idate("Z");
$toomorow = idate("U")+86400 + idate("Z");
//idate("U") колличество секунд с 1970 г до текущего времени по гринвичу
//idate("Z"); колличество секунд от времени по гринвичу до нашего
switch ((int)((((int)($now / 3600) - 8) % (8 * 12)) / 12))
{
case 0: $temp = 2; break;
case 1: $temp = 1; break;
case 2: $temp = 3; break;
case 3: $temp = 2; break;
case 4: $temp = 4; break;
case 5: $temp = 3; break;
case 6: $temp = 1; break;
case 7: $temp = 4; break;
default: $temp = -1; break;
}
sg("Brigade.Number_now", $temp);
switch ((int)((((int)($toomorow / 3600) - 8) % (8 * 12)) / 12))
{
case 0: $temp = 2; break;
case 1: $temp = 1; break;
case 2: $temp = 3; break;
case 3: $temp = 2; break;
case 4: $temp = 4; break;
case 5: $temp = 3; break;
case 6: $temp = 1; break;
case 7: $temp = 4; break;
default: $temp = -1; break;
}
sg("Brigade.Number_toomorow", $temp);
|
CarRead_Raspi_flash
|
Свободное место на флэшке
//trim(exec("> TestGsm"));
//trim(exec("echo HydronicOff > TestGsm")); //файл TestGsm с текстом HydronicOn и переводом строки
//trim(exec("cat > TestGsm.txt")); //очищает файл
//$temp=trim(exec("cat var/www/TestGsm.txt"));
//$temp=ltrim($temp,'0');
//setGlobal("PI3.Memory",$temp);
//setGlobal("PI3.LastUpdateTemperature",gg("Obninsk.HH_MM "));
exec("echo Balance 110 > TestGsm.txt");
sleep (1);
$data=trim(exec("cat TestGsm.txt"));
echo $data;
if ($data) {
setGlobal("Avensis.From_car",$data);
}
exec("echo Hydronic on > TestGsm.txt");
sleep (1);
$data=trim(exec("cat TestGsm.txt"));
echo $data;
if ($data) {
setGlobal("Avensis.For_car",$data);
}
|
Day_of_week
|
День недели
$day = date('w');
if ($day == 0) {
Dedmes("День недели - $day"); // воскресенье
}
if ($day == 1) {
Dedmes("День недели - $day"); // понедельник
}
if ($day == 4) {
DebMes("Обновление курсов валют Сбербанка: доллар , евро");
}
/*
if ($day == 3) {
Dedmes("День недели - $day"); // среда
}
if ($day == 4) {
Dedmes("День недели - $day"); // четверг
}
if ($day == 5) {
Dedmes("День недели - $day"); // пятница
}
if ($day == 6) {
Dedmes("День недели - $day"); // суббота
}
*/
Dedmes("День недели - $day"); // суббота
|
GetBrigadeNumber
|
//runScript("BrigadeNumber",$data);
//runScript('manageWebCamMotion', array('start'=>'1'))
|
Kyrs_valyt
|
Курсы валют
$file = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".date("d/m/Y"));
$xml = $file->xpath("//Valute[@ID='R01235']");
$valute = strval($xml[0]->Value);
$dollar = str_replace(",",".",$valute);
//Округяем до двух знаков
$dollar=round($dollar,2);
sg("Sberbank.Dollar",$dollar);
$xml = $file->xpath("//Valute[@ID='R01239']");
$valute = strval($xml[0]->Value);
$euro = str_replace(",",".",$valute);
//Округяем до двух знаков
$euro=round($euro,2);
sg("Sberbank.Euro",$euro);
//Выставляем дату и время
$time .=gg('Obninsk.DATE_DD_MM_YYYY');
$time .=" ";
$time .=gg('Obninsk.HH_MM');
setGlobal('Sberbank.Update_time',$time);
DebMes("Обновление курсов валют Сбербанка: доллар $dollar, евро $euro ");
//<div style="font-size:14px;text-align:center;">EURO %Sberbank.Euro% dollar %Sberbank.Dollar%</div>
|
LoadCPU
|
Загрузка CPU Rapberri
$data=trim(exec("cat /proc/loadavg"));
$data=ltrim($data,'0');
echo $data;
if ($data) {
setGlobal("PI3.LoadAVG",$data);
}
setGlobal("PI3.LastUpdateLoad",gg("Obninsk.HH_MM "));
|
Message_to_my_phone
|
Message_to_my_phone
messageToApple(AndreyKolomnikov, 'Заяц!!! Спасибо за обед! Очень вкусно! Люблю :*', $sound = true, 'Test');
DebMes("Значение свойства: ".getGlobal('EAIR_HUM.value'));
//messageToMyiPhone(gg('AppleID'), gg('ApplePass'),'пример', 'заголовок примера', 1, 1);
//soundToApple(AndreyKolomnikov, $subject = "Пример");
|
Off_GPS_on_night
|
Выключение скана по GPS на ночь если дома
$EnAnd=getGlobal("admin.Off_night");
$EnAna=getGlobal("Anastasiya.Off_night ");
$HomeAnd=getGlobal("admin.seenAt");
$HomeAna=getGlobal("Anastasiya.seenAt");
if ($EnAnd && ($HomeAnd==Дом))
{
setGlobal("admin.Scan_On_Off",0);
say('Андрей спит дома, не буду его беспокоить',0);
}
if ($EnAna && ($HomeAna==Дом))
{
setGlobal("Anastasiya.Scan_On_Off",0);
say('Настюша спит дома, не буду ее беспокоить',0);
}
|
OHM
|
Open Hardware Monitor - мониторинг системных ресурсов
//-----------------------Данные с ohm сценарий
$ch = curl_init('http://192.168.0.107:8085/data.json');//здесь заменить IP на свой http://*:8085/data.json
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$ohm = curl_exec($ch);
$json = json_decode($ohm);
//----------------------- Вытягиваем данные
$CpuLoad = $json -> {'Children'}[0] -> {'Children'}[1] -> {'Children'}[2] ->{'Children'}[0] -> {'Value'};
$CpuTemp = $json -> {'Children'}[0] -> {'Children'}[1] -> {'Children'}[1] ->{'Children'}[0] -> {'Value'};
$Memory = $json -> {'Children'}[0] -> {'Children'}[2] -> {'Children'}[0] ->{'Children'}[0] -> {'Value'};
/*
//----------------------- Просматриваем данные
echo "<br \>";
echo "Загрузка процессора";echo "  ";print_r("$CpuLoad");
echo "<br \>";
echo "температура процессора";echo "  ";print_r("$CpuTemp");
echo "<br \>";
echo "Занято оперативки";echo "  ";print_r("$Memory");
*/
//----------------------- Присваеваем данные
setGlobal('SonyVaio.CPULoad',intval($CpuLoad));
setGlobal('SonyVaio.CPUTemp',intval($CpuTemp));
setGlobal('SonyVaio.Memory',intval($Memory));
setGlobal('SonyVaio.DataUpdated ',gg("Obninsk.HH_MM "));
DebMes("Мониторинг системных ресурсов");
/*
//-----------------------Выполнение скрипта раз в 2 сек. (timer_2s)
clearTimeout("timer_2s_timeout");
//выполняемый скрипт
setTimeOut("timer_2s_timeout", "runScript('timer_2s');", 2);
//-----------------------Поместить в минутный цыкл
runScript('timer_2s');
*/
|
Openweather
|
Обновление погоды
include_once(DIR_MODULES . 'app_openweather/app_openweather.class.php');
//$openweather = new app_openweather();
//$openweather->get_weather(gg('ow_city.id'));
//setGlobal('Ob.Update',$openweather);
setGlobal('Ob.Update',gg("Obninsk.HH_MM "));
DebMes("Скрипт погоды");
|
Post_tracker
|
Оповещение о статусе посылки
/*
$params['NAME'] - name parcel
$params['TRACK'] - track number
$params['TRACK_URL'] - track url
$params['DATE'] - datetime last status
$params['STATUS'] - last status
$params['DISPUTE'] - day to dispute
$params['LOCATION'] - location
*/
$text=$params['NAME'].". ";
if (isset($params['DISPUTE']))
$text .= "Истекает срок доставки! Осталось дней: ".$params['DISPUTE'];
else
$text .= $params['DATE']." - ".$params['STATUS'];
if ($params['LOCATION']!="")
$text .= " (".$params['LOCATION'].")";
say($text);
|
Radio_control
|
cm('RadioSetting.Control',array('vol'=>98));
|
sayTodayAgenda
|
11:00 События календаря в чат и уведомление на iphone
if (file_exists('./modules/app_calendar/app_calendar.class.php')) {
include_once('./modules/app_calendar/app_calendar.class.php');
$calendar=new app_calendar();
$calendar->usual($out);
$events=$out['EVENTS_TODAY'];
$say_phrase='';
if (is_array($events)) {
$total=count($events);
$tasks=array();
$cals=array();
for($i=0;$i<$total;$i++) {
if ($events[$i]['IS_TASK']=='1' && $events[$i]['IS_DONE']!='1') {
$tasks[]=$events[$i]['TITLE'];
} elseif ($events[$i]['IS_TASK']!='1') {
$cals[]=$events[$i]['TITLE'];
}
}
$total_tasks=count($tasks);
if ($total_tasks) {
$say_phrase.="У вас на сегодня запланированы задачи. ";
for($i=0;$i<$total_tasks;$i++) {
$say_phrase.=($i+1).". ".$tasks[$i].". ";
}
} else {
// say("Никаких дел не запланировано.",1);
}
$total_cals=count($cals);
if ($total_cals) {
$say_phrase.=("Сегодняшние события. ");
for($i=0;$i<$total_cals;$i++) {
$say_phrase.=$cals[$i].'. ';
}
}
}
$events=$out['EVENTS_PAST'];
if ($events[0]['TITLE']) {
$say_phrase.=" Так же напоминаю о пропущенных задачах. ";
$total_tasks=count($events);
for($i=0;$i<$total_tasks;$i++) {
$say_phrase.=($i+1).". ".$events[$i]['TITLE'].". ";
}
}
}
if ($say_phrase) {
say($say_phrase,1);
//messageToApple(iPhoneAnastasiya, $say_phrase, $sound = true, "Kalendar");
include_once(DIR_MODULES . 'idevices/idevices.class.php');
$idevices_module = new idevices();
$idevices_module->sendMessage("iPhoneAnastasiya", $say_phrase, "", 0);
sleep(1);
//messageToApple(AndreyKolomnikov, $say_phrase, $sound = true);
include_once(DIR_MODULES . 'idevices/idevices.class.php');
$idevices_module = new idevices();
$idevices_module->sendMessage("AndreyKolomnikov", $say_phrase, "", 0);
}
|
Scan_Anastasia
|
Обновить местоположение Настюши
DebMes("Сканирование пользователя (скрипт-Scan_Anastasia) Анастасия");
$name = 'iPhoneAnastasiia';
//findApple($name, $timeout = 60);
include_once(DIR_MODULES . 'idevices/idevices.class.php');
$idevices_module = new idevices();
$idevices_module->locate($name);
|
Scan_Andrey
|
Обновить местоположение Андрея
DebMes("Сканирование пользователя (скрипт-Scan_Andrey) Андрей");
$name='AndreyKolomnikov';
//findApple($name, $timeout = 60);
include_once(DIR_MODULES . 'idevices/idevices.class.php');
$idevices_module = new idevices();
$idevices_module->locate($name);
|
TempCPU
|
Температура CPU Rapberri
$temp=trim(exec("cat /sys/class/thermal/thermal_zone0/temp"));
$temp=ltrim($temp,'0');
$temp=$temp/1000;
$temp=round($temp, 2);
setGlobal("PI3.Temperature",$temp);
setGlobal("PI3.LastUpdateTemperature",gg("Obninsk.HH_MM "));
|
Alarm_say_script
|
При сработке будильника
say("Будильник включен, отработал скрипт",3);
//say("Every_day.value",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','All_light','Light1','Light2');
foreach($objects as $o) {
callMethod($o.'.turnoff');
}
|
Weather_update time
|
Время обновления погоды для сцен
$tim=getGlobal("Obninsk.DATE_DD_MM_YYYY");
$dat=getGlobal("Obninsk.HH_MM");
$timdat .=$tim;
$timdat .=", ";
$timdat .=$dat;
setGlobal("ow_city.Normal_data_udate",$timdat);
|