2ip
|
говорит об интернете к которому подключена
say ('Про интернет к которому я подключена.',2);
//$url="http://api.2ip.com.ua/provider.json";
$url="http://api.2ip.ua/provider.json";
//Работаем со строкой JSON
$data = json_decode(file_get_contents($url), true);
$ip=$data["ip"]; // что искали
$name_ripe=$data["name_ripe"];
$name_rus=$data["name_rus"];
$site=$data["site"];
echo $ip;
say ("IP адрес ".$ip,2);
say ("Провайдер ".$name_rus,2);
say ("Сайт провайдера ".$site,2);
$url2="http://api.2ip.com.ua/geo.json?ip=".$ip;
echo $url2;
//Работаем со строкой JSON
$data = json_decode(file_get_contents($url2), true);
$country_rus=$data["country_rus"]; // что искали
$region_rus=$data["region_rus"];
$city_rus=$data["city_rus"];
say ("Мое местонахождение по мнению других:",2);
say ($country_rus,5);
say ($region_rus,5);
say ($city_rus,5);
|
Alarm_Kam
|
Движение с камер
//time()
//C:\_majordomo\htdocs\cam\cam1\snapshot1.jpeg');
$tm = time() - gg("camera1.time");
if (time() - gg("camera1.time") > (gg("camera1.time_rec"))) {
include_once(DIR_MODULES . 'telegram/telegram.class.php');
sg("camera1.time",time());
//$telegram_module = new telegram();
//$telegram_module->sendMessageToAll($tm);
$h=(int)date('G',time());
$m=date('i',time());
if (isWeekDay()) {
}
//if (($h>=8) && getGlobal('clockChimeEnabled')) {
if (($h>=8) and ($h<=22) and (getGlobal('AlarmKamEnable'))) {
//if ($m=="00") {
//say(timeNow(),1);
//say(timeNow(),2);
say('У ворот зафиксировано движение',5);
//Отправка видео в телеграмм при обнаружении движения
exec('C:\_majordomo\apps\ffmpeg\ffmpeg.exe -y -i "rtsp://10.10.14.13:554/user=admin_password=Rhjccytanm12_channel=1_stream=0.sdp?real_stream" -t 10 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=640:h=480:force_original_aspect_ratio=decrease -r 15 C:/_majordomo/htdocs/cached/img/out2.mp4');
exec('C:\_majordomo\apps\ffmpeg\ffmpeg.exe -y -i "rtsp://10.10.14.11:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream" -t 10 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=640:h=480:force_original_aspect_ratio=decrease -r 15 C:/_majordomo/htdocs/cached/img/out1.mp4');
$img1='C:/_majordomo/htdocs/cached/img/out1.mp4';
$img2='C:/_majordomo/htdocs/cached/img/out2.mp4';
//sleep (3);
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendVideoToAll($img1);
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendVideoToAll($img2);
//Отправка видео в телеграмм при обнаружении движения
// }
}
}
|
Alarm_Kam_1
|
Движение с камер
$h=(int)date('G',time());
$m=date('i',time());
if (isWeekDay()) {
}
if (($h>=8) and ($h<=22) and (getGlobal('AlarmKamEnable'))) {
exec('C:\_majordomo\apps\ffmpeg\ffmpeg.exe -y -i "rtsp://10.10.14.11:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream" -t 10 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=640:h=480:force_original_aspect_ratio=decrease -r 15 C:/_majordomo/htdocs/cached/img/out1.mp4');
$img1='C:/_majordomo/htdocs/cached/img/out1.mp4';
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendVideoToAll($img1);
}
|
Alarm_Kam_2
|
Движение с камер
$h=(int)date('G',time());
$m=date('i',time());
if (isWeekDay()) {
}
if (($h>=8) and ($h<=22) and (getGlobal('AlarmKamEnable'))) {
exec('C:\_majordomo\apps\ffmpeg\ffmpeg.exe -y -i "rtsp://10.10.14.12:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream" -t 10 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=640:h=480:force_original_aspect_ratio=decrease -r 15 C:/_majordomo/htdocs/cached/img/out2.mp4');
$img1='C:/_majordomo/htdocs/cached/img/out2.mp4';
include_once(DIR_MODULES . 'telegram/telegram.class.php');
$telegram_module = new telegram();
$telegram_module->sendVideoToAll($img1);
}
|
Alarm_Kam_all
|
Запуск скриптов записи всех камер
Say('У ворот зафиксировано движение',2);
runScriptSafe("Alarm_Kam_1");
runScriptSafe("Alarm_Kam_2");
|
charge
|
Заряд телефона
$battadmin = gg("admin.BattLevel");
$chargadmin = gg("admin.Charging");
$battded = gg("ded.BattLevel");
$chargded = gg("ded.Charging");
if (($battadmin<30)&($chargadmin<1)){
say("Евгений Ваш телефон почти сдох",2);
}
if (($battded<30)&($chargaded<1)){
say("Владимир Иванович Ваш телефон почти сдох",2);
}
if (($battded>98)&($chargaded=1)){
say("Владимир Иванович Ваш телефон полностью заряжен",2);
}
|
charge_tel
|
Заряди телефон
$h=(int)date('G',time());
$m=date('i',time());
if (($h>=8) and ($h<=22)) {
Say($params["boss"]." зарядите телефон ",2);
}
|
charge_tel_off
|
Заряди телефон
$h=(int)date('G',time());
$m=date('i',time());
if (($h>=8) and ($h<=22)) {
Say($params["boss"]." Ваш телефон полностью заряжен ",2);
}
|
domofon
|
say('К вам пришли',2);
playSound('C:\_majordomo\htdocs\cached\AlarmRing\prostokvach.mp3');
|
Incoming
|
Проговаривает входящие звонки сотового телефона
//say($params["boss"]);
Say($params["boss"]." Вам звонит ".$params["name"],2);
|
Read5News
|
Чтение последних 5 новостей
$last_id=getGlobal('ThisComputer.LastNewsId')-5;
$values=SQLSelect("SELECT * FROM rss_items WHERE ID >".$last_id);
if($values) {
$total=count($values);
$maxnews = 5;
$startfrom = 0;
if ($total > $maxnews){
$startfrom = $total - $maxnews;
say("Новостей больше $maxnews",2);
} else {
say("Новости",2);
}
for($i=$startfrom;$i<$total;$i++){
$sql="SELECT * FROM rss_items WHERE ID =".$values[$i]['ID'];
$value=SQLSelectOne($sql);
say($value['TITLE'].".",2);
};
$last_id=$value['ID'];
setGlobal('ThisComputer.LastNewsId',$last_id);
} else {
say("Нет новых новостей",2);
};
|
readWeatherToday
|
$weather.="Сегодня ожидается ".str_replace('°',' ',getGlobal('weatherToday'));
$weather.=". Завтра ".str_replace('°',' ',getGlobal('weatherTomorrow'));
$weather.=". Сейчас на улице ".getGlobal('TempOutside').'.';
$weather=str_replace('°','',$weather);
say($weather,2);
|
reportStatus
|
Статус работы системы
$res='';
if (gg('Security.stateColor')=='green' && gg('System.stateColor')=='green' && gg('Communication.stateColor')=='green') {
$res='Все системы работают в штатном режиме';
} else {
if (gg('Security.stateColor')!='green') {
$res.=" Проблема безопасности: ".getGlobal('Security.stateDetails');
}
if (gg('System.stateColor')!='green') {
$res.=" Системная проблема: ".getGlobal('System.stateDetails');
}
if (gg('Communication.stateColor')!='green') {
$res.=" Проблема связи: ".getGlobal('Communication.stateDetails');
}
}
say($res,5);
|
rssProcess
|
новости
$h=(int)date('G',time());
$m=date('i',time());
//if (isWeekDay()) {
//}
//if (($h>=8) && getGlobal('clockChimeEnabled')) {
if (($h>=8) and ($h<=22)) {
//if (timeBetween(getGlobal('NightModeEnd'),getGlobal('NightModeStart')) {
//if ($m=="00") {
//say(timeNow(),1);
//say(timeNow(),2);
say($params['TITLE'],2); // reading title news
//say($params['BODY'],2); // reading body news
// }
}
//say($params['TITLE'],2); // reading news
|
SayAforism
|
Афоризмы
/*
1 - Анекдот;
2 - Рассказы;
3 - Стишки;
4 - Афоризмы;
5 - Цитаты;
6 - Тосты;
8 - Статусы;
11 - Анекдот (+18);
12 - Рассказы (+18);
13 - Стишки (+18);
14 - Афоризмы (+18);
15 - Цитаты (+18);
16 - Тосты (+18);
18 - Статусы (+18);
*/
function GetJoke($ctype = 4) {
$pretext = array("Слушай", "Слушайте шутку", "Слушай анекдот", "Вот шутка смешная", "Еще шутка");
$number = mt_rand(0, count($pretext) - 1);
$res = geturl('http://rzhunemogu.ru/Rand.aspx?CType=' . $ctype, 0);
$res = win2utf($res);
$xml = new SimpleXMLElement($res);
$joke = trim(preg_replace('/\s{2,}/', ' ', $xml->content));
//$joke = $pretext[$number] . ': ' . $joke;
if (strlen($joke) > 500) {
sleep(10);
GetJoke();
} else {
//return $joke;
//say($pretext[$number].':', 1);
say($joke, 2);
}
}
//if (gg('ThisComputer.SayJokes') != 0) {
GetJoke();
//}
|
SayJokes
|
Анекдоты
/*
1 - Анекдот;
2 - Рассказы;
3 - Стишки;
4 - Афоризмы;
5 - Цитаты;
6 - Тосты;
8 - Статусы;
11 - Анекдот (+18);
12 - Рассказы (+18);
13 - Стишки (+18);
14 - Афоризмы (+18);
15 - Цитаты (+18);
16 - Тосты (+18);
18 - Статусы (+18);
*/
function GetJoke($ctype = 1) {
$pretext = array("Слушай", "Слушайте шутку", "Слушай анекдот", "Вот шутка смешная", "Еще шутка");
$number = mt_rand(0, count($pretext) - 1);
$res = geturl('http://rzhunemogu.ru/Rand.aspx?CType=' . $ctype, 0);
$res = win2utf($res);
$xml = new SimpleXMLElement($res);
$joke = trim(preg_replace('/\s{2,}/', ' ', $xml->content));
$joke = $pretext[$number] . ': ' . $joke;
if (strlen($joke) > 500) {
sleep(10);
GetJoke();
} else {
//return $joke;
//say($pretext[$number].':', 1);
say($joke, 2);
}
}
//if (gg('ThisComputer.SayJokes') != 0) {
GetJoke();
//}
|
sayTodayAgenda
|
Озвучка календарь
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,2);
}
|
Say_Kodi
|
Отправить сообщение в Kodi
if ($params['level']){
$level=$params['level'];
}else{
$level="1";
}
if ($params['ph']){
$ph=$params['ph'];
}else{
$ph="Проверка сообщений";
}
if ($level<10){
$title="Алиса сообщает:";
}
if ($level>=10){
$title="Важное сообщение:";
}
$device=gg("Kodi.ip");
$port=gg("Kodi.port");
$url="http://".$device.":".$port."/jsonrpc?request={\"id\":1,\"jsonrpc\":\"2.0\",\"method\":\"GUI.ShowNotification\",\"params\":{\"title\":\"".urlencode($title)."\",\"message\":\"".urlencode($ph)."\"}}";
if (gg("Kodi.Online")==1 && $level>0){
getURL($url, 0);
}else{
}
|
timeNow
|
Время
|
Высокое давление насоса
|
say('Высокое давление насосной станции',5);
|
заряди планшет
|
Сообщает об необходимости зарядки планшета
$h=(int)date('G',time());
$m=date('i',time());
if (($h>=8) and ($h<=22)) {
say("Зарядите планшет",2);
}
|
Оповещение о низком напряжении
|
Оповещение о низком уровне напряжения в сети
//say('Низкое напряжение в сети'.gg('Smart_UPS2200.InV').' вольт ',2);
say("Отключение электроэнергии",5);
|
Оповещение перегрева бойлера
|
say('Бойлер перегрелся'.gg('ESP826600890b6b.dsw1').' градусов ',5);
|
Планшет заряжен
|
Сообщает что планшет заряжен
$h=(int)date('G',time());
$m=date('i',time());
if (($h>=8) and ($h<=22)) {
Say("Планшет полностью заряжен",2);
}
|
Низкий уровень воды в бане
|
Низкий уровень воды в бане
$notified = gg("ESP826600a09cb5.notified");
$notif = 1;
//if ($notified < 1){
if (gg('ESP826600a09cb5.ads1') <> -1){
say('Низкий уровень воды в бане '.gg('ESP826600a09cb5.ads1').' миллиметра ',5);
//$this->sg('ESP826600a09cb5.notified',1);
sg("ESP826600a09cb5.notified",$notif);
}
//$this->setProperty('notified',1);
|
Обнуление готовности бани
|
$notified = gg("ESP826600a09cb5.notified");
$notif = 0;
if ($notified > 0){
//say('Господа баня нагрелась до 75 градусов',2);
//$this->sg('ESP826600a09cb5.notified',1);
sg("ESP826600a09cb5.notified",$notif);
}
//$this->setProperty('notified',1);
|
Обнуление критичной температуры воды в бане
|
$notified = gg("ESP826600a09cb5.notified");
$notif = 0;
if ($notified > 0){
//say('Господа баня нагрелась до 75 градусов',2);
//$this->sg('ESP826600a09cb5.notified',1);
sg("ESP826600a09cb5.notified",$notif);
}
//$this->setProperty('notified',1);
|
Оповещение готовности бани
|
$notified = gg("ESP826600a09cb5.notified");
$notif = 1;
if ($notified < 1){
// say('Баня прогрелась до 75 градусов',5);
say('Баня прогрелась до '.gg('ESP826600a09cb5.dhtt1').' градусов '.' Температура воды '.gg('ESP826600a09cb5.dsw1').' градусов ',5);
//$this->sg('ESP826600a09cb5.notified',1);
sg("ESP826600a09cb5.notified",$notif);
}
//$this->setProperty('notified',1);
|
Оповещение низкой темп воды в бане
|
$notified = gg("ESP826600a09cb5.notified");
$notif = 1;
if ($notified < 1){
say('Критическая температура воды в бане',5);
//$this->sg('ESP826600a09cb5.notified',1);
sg("ESP826600a09cb5.notified",$notif);
}
//$this->setProperty('notified',1);
|
nagr_lamp1
|
Расчет потребления Лампа1
function get_Power($url, $time, $arr)
{
$sec=0;
$json = file_get_contents('http://10.10.11.30/pChart/?p=ESP82660018c11d.gpiout5&op=timed&type='.$time);
$obj = json_decode($json);
for ($i = 0; $i <= count($obj->TIMES)-2; $i++){
if ($obj->VALUES[$i]==1){
$sec+=($obj->TIMES[$i+1]-$obj->TIMES[$i]);
}
}
return $sec/60/60*0.03;
}
sg("ESP82660018c11d.nagr1",round(get_Power("","1h",""),3));
|
nagr_lamp2
|
Расчет потребления Лампа2
function get_Power($url, $time, $arr)
{
$sec=0;
$json = file_get_contents('http://10.10.11.30/pChart/?p=ESP82660018c11d.gpiout13&op=timed&type='.$time);
$obj = json_decode($json);
for ($i = 0; $i <= count($obj->TIMES)-2; $i++){
if ($obj->VALUES[$i]==1){
$sec+=($obj->TIMES[$i+1]-$obj->TIMES[$i]);
}
}
return $sec/60/60*0.03;
}
sg("ESP82660018c11d.nagr2",round(get_Power("","1h",""),3));
|
nagr_lamp3
|
Расчет потребления Лампа3
function get_Power($url, $time, $arr)
{
$sec=0;
$json = file_get_contents('http://10.10.11.30/pChart/?p=ESP82660018c11d.gpiout12&op=timed&type='.$time);
$obj = json_decode($json);
for ($i = 0; $i <= count($obj->TIMES)-2; $i++){
if ($obj->VALUES[$i]==1){
$sec+=($obj->TIMES[$i+1]-$obj->TIMES[$i]);
}
}
return $sec/60/60*0.03;
}
sg("ESP82660018c11d.nagr3",round(get_Power("","1h",""),3));
|
nagr_pol_v_komnate1
|
Расчет потребления пол в комнате
function get_Power($url, $time, $arr)
{
$sec=0;
$json = file_get_contents('http://10.10.11.30/pChart/?p=Home_display.gpiout16&op=timed&type='.$time);
// $json = file_get_contents('http://10.10.11.30/pChart/?p=Home_display.gpioint1&op=timed&type='.$time);
$obj = json_decode($json);
for ($i = 0; $i <= count($obj->TIMES)-2; $i++){
if ($obj->VALUES[$i]==1){
$sec+=($obj->TIMES[$i+1]-$obj->TIMES[$i]);
}
}
return $sec/60/60*1.1;
}
sg("Home_display.nagr1",round(get_Power("","1h",""),3));
|
Бойлер_потребление
|
function get_Power($url, $time, $arr)
{
$sec=0;
$json = file_get_contents('http://10.10.11.30/pChart/?p=Boiler_Naso.gpiout12&op=timed&type='.$time);
// $json = file_get_contents('http://10.10.11.30/pChart/?p=Home_display.gpioint1&op=timed&type='.$time);
$obj = json_decode($json);
for ($i = 0; $i <= count($obj->TIMES)-2; $i++){
if ($obj->VALUES[$i]==1){
$sec+=($obj->TIMES[$i+1]-$obj->TIMES[$i]);
}
}
return $sec/60/60*1.5;
}
sg("Boiler_Naso.nagr1",round(get_Power("","1h",""),3));
|