admin_вне_дома
|
если Я не дома
//sg('удлинитель_на_3_розетки.выключатель_розетки_А', 1);
sleep(1);
|
admin_дома
|
если Я дома
//sg('удлинитель_на_3_розетки.выключатель_розетки_А', 0);
sleep(1);
//say("Приветствую, хозяин!", 2);
|
info_vlc_player
|
$url=gg('mainVLC.adr');// адрес плеера
$url= "";
$file = "";
if(gg('RadioSetting.PlayTerminal') == 'Acer_Aspire3'){
$url="http://192.168.1.140:8080";
$file=getURL($url.'/requests/status.xml',0,'',12345,0);
}
if(gg('RadioSetting.PlayTerminal') == 'vlc_majordomo'){
$url="http://192.168.1.126:7070";
$file=getURL($url.'/requests/status.xml',0,'',12345,0);
}
if(gg('RadioSetting.On') == 1){//если включено радио
$xml = simplexml_load_string($file);
//print('xml load: '. $xml. '</br>' );
ob_start();
var_dump($xml);
$buffer = ob_get_contents();
ob_clean();
print($buffer);
$str1 = '';
$start = strpos($file, 'now_playing', 0);
if($start != false){
print("Start pos = ". $start);
$end_pos = strpos($file, '</info>', $start);
print("</br> stop pos = ".$end_pos);
$str1 = substr($file, $start + 13, $end_pos - ($start + 13) );
}
else{
$start = strpos($file, 'filename', 0);
print("Start pos = ". $start);
$end_pos = strpos($file, '</info>', $start);
print("</br> stop pos = ".$end_pos);
$str1 = substr($file, $start + 10, $end_pos - ($start + 10) );
}
$str2 = str_replace("&","_and_", $str1);//исправление знака "&"
$str2 = str_replace(' ', '_', $str2);
print("</br> str1: ". $str1);//с пробелами
print("</br> str2: ". $str2);//без пробелов
sg('RadioSetting.сейчас_играет', $str2);
}else{
sg('RadioSetting.сейчас_играет', "");
}
|
vlc_info_timer_run
|
runScript('update_vlc_info_in_info-clock');
$timerCode=<<<EOT
runScript('vlc_info_timer_run');
EOT;
setTimeOut('vlc_info', $timerCode, (int)('15'));
|
Watching movie
|
say(LANG_GENERAL_SETTING_UP_LIGHTS,2);
// to-do
|
Weather_gismeteo
|
погода с gismetio.ru
// код для рег выражений https://tools.icoder.uz/regex-tester.php
// сайт, регулярное выражение, свойство в МД, номер переменной (если одна то не указывается)
function SaveToProp ($myurl, $myreg, $mdprop, $num = 1)
{
$isMatched = preg_match($myreg, $myurl, $matches);
$res = str_replace("+", "" , $matches[$num]);
$res = str_replace(".sun", "" , $res);
$res = str_replace(".moon", "" , $res);
sg($mdprop, $res);
echo $res."</br>";
}
function SaveToPropAll ($myurl, $myreg, $mdprop, $num = 1)
{
$isMatched = preg_match_all($myreg, $myurl, $matches);
$res = $matches[1][$num];
sg($mdprop, $res);
echo $res."</br>";
}
// текущая погода
//$str = file_get_contents("http://m.gismeteo.com/weather/30352/current/"); //текущая погода
$str = file_get_contents("http://m.gismeteo.ru/weather-minsk-4248/now/"); //текущая погода
SaveToProp ($str, '/<td class="weather__temp"><span>(.+?)<\/span>/', "GismeteoCurrent.Temperature");
SaveToProp ($str, '/<td class="weather__desc">(.+?)<\/td>/', "GismeteoCurrent.description");
SaveToProp ($str, '/Feels: (.+?)<\/p>/', "GismeteoCurrent.Feels");
SaveToProp ($str, '/Pressure: (.+?) mmHg<\/p>/', "GismeteoCurrent.Pressure");
SaveToProp ($str, '/Humidity: (.+?) %<\/p>/', "GismeteoCurrent.Humidity");
SaveToProp ($str, '/Geomagnetic сonditions: (.+?) points<\/p>/', "GismeteoCurrent.Geomagnetic");
SaveToProp ($str, '/Wind: (.+?) m\/s,/', "GismeteoCurrent.Wind");
SaveToProp ($str, '/ m\/s, (.+?)<\/p>/', "GismeteoCurrent.Wind_direction");
SaveToProp ($str, '/Sunrise: (.+?)<\/p>/', "GismeteoCurrent.Sunrise");
SaveToProp ($str, '/Sunset: (.+?)<\/p>/', "GismeteoCurrent.Sunset");
SaveToProp ($str, '/Day length: (.+?)<\/p>/', "GismeteoCurrent.Day_length");
SaveToProp ($str, '/Moon: (.+?) %,/', "GismeteoCurrent.Moon");
SaveToProp ($str, '/ %, (.+?)<\/p>/', "GismeteoCurrent.Moon_type");
SaveToProp ($str, '/<div class="title">(.+?), (.+?) (.+?), (.+?)<\/div>/', "GismeteoCurrent.date_day", 2);
SaveToProp ($str, '/<div class="title">(.+?), (.+?) (.+?), (.+?)<\/div>/', "GismeteoCurrent.date_month", 3);
SaveToProp ($str, '/<div class="title">(.+?), (.+?) (.+?), (.+?)<\/div>/', "GismeteoCurrent.date_time", 4);
SaveToProp ($str, '/<td class="weather__icon"><img alt="" src="\/static\/images\/icons\/wap2\/(.+?)\.png" \/><\/td>/', "GismeteoCurrent.Image");
// функция для параметров погоды детально
function Detail($myurl, $param0, $param1, $param2) {
SaveToPropAll ($myurl, '/<div class="title">(.+?)<\/div>/', $param0 . "." . $param1 . "TimesofDay", $param2 + 1);
SaveToPropAll ($myurl, '/<td class="weather__temp"><span>(.+?)<\/span>/', $param0.".".$param1."Temperature", $param2);
SaveToPropAll ($myurl, '/<td class="weather__desc">(.+?)<\/td>/', $param0.".".$param1."Description", $param2);
SaveToPropAll ($myurl, '/Feels: (.+?)<\/p>/', $param0.".".$param1."Feels", $param2);
SaveToPropAll ($myurl, '/Pressure: (.+?) mmHg<\/p>/', $param0.".".$param1."Pressure", $param2);
SaveToPropAll ($myurl, '/Humidity: (.+?) %<\/p>/', $param0.".".$param1."Humidity", $param2);
SaveToPropAll ($myurl, '/Geomagnetic сonditions: (.+?) points<\/p>/', $param0.".".$param1."Geomagnetic", $param2);
}
$str = file_get_contents("http://m.gismeteo.com/weather/30352/detailday/"); //погода подробно на текущий день
Detail ($str, "GismeteoDetailday", "Night", 0 );
Detail ($str, "GismeteoDetailday", "Morning", 1 );
Detail ($str, "GismeteoDetailday", "Day", 2 );
Detail ($str, "GismeteoDetailday", "Evening", 3 );
//sg('ThisComputer.weatherFull', $str);
$str = file_get_contents("http://m.gismeteo.com/weather/30352/detailday/1/"); //погода подробно на завтра
Detail ($str, "GismeteoDetailday1", "Night", 0 );
Detail ($str, "GismeteoDetailday1", "Morning", 1 );
Detail ($str, "GismeteoDetailday1", "Day", 2 );
Detail ($str, "GismeteoDetailday1", "Evening", 3 );
$str = file_get_contents("http://m.gismeteo.com/weather/30352/detailday/2/"); //погода подробно на послезавтра
Detail ($str, "GismeteoDetailday2", "Night", 0 );
Detail ($str, "GismeteoDetailday2", "Morning", 1 );
Detail ($str, "GismeteoDetailday2", "Day", 2 );
Detail ($str, "GismeteoDetailday2", "Evening", 3 );
$str = file_get_contents("http://m.gismeteo.com/weather/30352/detailday/3/"); //погода подробно через 2 дня
Detail ($str, "GismeteoDetailday3", "Night", 0 );
Detail ($str, "GismeteoDetailday3", "Morning", 1 );
Detail ($str, "GismeteoDetailday3", "Day", 2 );
Detail ($str, "GismeteoDetailday3", "Evening", 3 );
callMethod('GismeteoCurrent.wind_en_ru');
callMethod('GismeteoCurrent.Состояние_погоды');
callMethod('GismeteoDetailday.Состояние_погоды');
callMethod('GismeteoDetailday1.Состояние_погоды');
callMethod('GismeteoDetailday2.Состояние_погоды');
callMethod('GismeteoDetailday3.Состояние_погоды');
$weather.="Сейчас температура ".gg('GismeteoCurrent.Temperature')." градусов, ";
$weather.="влажность ".gg('GismeteoCurrent.Humidity')." процентов, ";
$weather.="давление ".gg('GismeteoCurrent.Pressure')." миллиметров ртутного столба, ";
$weather.="ветер ".gg('GismeteoCurrent.Wind')." метров в секунду, ";
$weather.= gg('GismeteoCurrent.Wind_direction')." состояние погоды ";
$weather.= gg('GismeteoCurrent.description');
$weather.=". Сегодня днем ожидается температура ".gg('GismeteoDetailday.DayTemperature')." градусов, ";
$weather.="влажность ".gg('GismeteoDetailday.DayHumidity')." процентов, ";
$weather.="давление ".gg('GismeteoDetailday.DayPressure')." миллиметров ртутного столба. ";
$weather.= "Состояние погоды ".gg('GismeteoDetailday.DayDescription');
$weather.=". Сегодня ночью ожидается температура ".gg('GismeteoDetailday1.NightTemperature')." градусов, ";
$weather.="влажность ".gg('GismeteoDetailday1.NightHumidity')." процентов, ";
$weather.="давление ".gg('GismeteoDetailday1.NightPressure')." миллиметров ртутного столба. ";
$weather.= "Состояние погоды ".gg('GismeteoDetailday1.NightDescription');
$weather.=". Завтра днем ожидается температура ".gg('GismeteoDetailday1.DayTemperature')." градусов, ";
$weather.="влажность ".gg('GismeteoDetailday1.DayHumidity')." процентов, ";
$weather.="давление ".gg('GismeteoDetailday1.DayPressure')." миллиметров ртутного столба. ";
$weather.= "Состояние погоды ".gg('GismeteoDetailday1.DayDescription');
sg('ThisComputer.weatherFull',$weather);
|
активировать режим сна
|
Выключение света в прихожей и спальне
//variable $bad_work_list;
//variable $voice;
$bad_work_list = 'не готовы: ';
$voice = '';
$voice = (String) $voice . (String) 'начинаю подготовку ко сну: ';
//callMethod('RemoteTCL4'.'.'.'Chanel_Up');
setGlobal('ИК-реле'.'.'.'выключатель_розетки_1', '1');
$voice = (String) $voice . (String) 'Бра включено. ';
sg('CO2_Sensor.BRIGHTNESS_DISP', '10');
setGlobal('ИК-реле'.'.'.'датчик_присутствия_off_on', '0');
if (getGlobal('ИК-реле'.'.'.'датчик_присутствия_off_on') == '0') {
$voice = (String) $voice . (String) 'Датчик движения выключен. ';
}
if (getGlobal('ИК-реле'.'.'.'датчик_присутствия_off_on') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'Датчик движения спальня, ';
}
sg('ИК-реле.SleepMode', 0);
sleep(1);
setGlobal('Relay08'.'.'.'status', '0');
if (getGlobal('Relay08'.'.'.'status') == '0') {
$voice = (String) $voice . (String) 'Периметр в спальне выключен. ';
}
if (getGlobal('Relay08'.'.'.'status') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'периметр в спальне, ';
}
//setGlobal('Counter1'.'.'.'perimetr', '0');//выключить периметр для счетчика
setGlobal('TuRelay09'.'.'.'status', '0');
if (getGlobal('TuRelay09'.'.'.'status') == '0') {
$voice = (String) $voice . (String) 'Ромб в спальне выключен. ';
}
if (getGlobal('TuRelay09'.'.'.'status') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'ромб в спальне, ';
}
//sleep(1);
//TuRelay10.status
setGlobal('TuRelay10'.'.'.'status', '0');
if (getGlobal('TuRelay10'.'.'.'status') == '0') {
$voice = (String) $voice . (String) 'Андроид ТВ и часы информер выключены. ';
}
if (getGlobal('TuRelay10'.'.'.'status') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'Андроид ТВ и часы информер, ';
}
setGlobal('TuRelay11'.'.'.'status', '0');
if (getGlobal('TuRelay11'.'.'.'status') == '0') {
$voice = (String) $voice . (String) 'розетка у комода выключена. ';
}
if (getGlobal('TuRelay11'.'.'.'status') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'розетка у комода, ';
}
sleep(1);
setGlobal('ИК-реле'.'.'.'выключатель_розетки_2', '0');
if (getGlobal('ИК-реле'.'.'.'выключатель_розетки_2') == '0') {
$voice = (String) $voice . (String) 'Лампа в спальне выключена. ';
}
if (getGlobal('ИК-реле'.'.'.'выключатель_розетки_2') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'лампа в спальне, ';
}
sleep(1);
setGlobal('ИК-реле'.'.'.'выключатель_розетки_3', '0');
if (getGlobal('ИК-реле'.'.'.'выключатель_розетки_3') == '0') {
$voice = (String) $voice . (String) 'акустика выключена. ';
}
if (getGlobal('ИК-реле'.'.'.'выключатель_розетки_3') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'акустика, ';
}
sleep(1);
setGlobal('люстра_в_прихожей'.'.'.'pir_A', '0');
if (getGlobal('люстра_в_прихожей'.'.'.'pir_A') == '0') {
$voice = (String) $voice . (String) 'Датчик движения для первой лампы выключен. ';
}
if (getGlobal('люстра_в_прихожей'.'.'.'pir_A') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'Датчик движения для первой лампы. ';
}
sleep(1);
setGlobal('люстра_в_прихожей'.'.'.'выключатель_лампы_А', '0');
if (getGlobal('люстра_в_прихожей'.'.'.'выключатель_лампы_А') == '0') {
$voice = (String) $voice . (String) 'Первая лампа выключена. ';
}
if (getGlobal('люстра_в_прихожей'.'.'.'выключатель_лампы_А') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'Первая лампа, ';
}
sleep(1);
setGlobal('люстра_в_прихожей'.'.'.'pir_B', '0');
if (getGlobal('люстра_в_прихожей'.'.'.'pir_B') == '0') {
$voice = (String) $voice . (String) 'Датчик движения для второй лампы выключен. ';
}
if (getGlobal('люстра_в_прихожей'.'.'.'pir_B') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'Датчик движения для второй лампы, ';
}
sleep(1);
setGlobal('люстра_в_прихожей'.'.'.'выключатель_лампы_В', '0');
if (getGlobal('люстра_в_прихожей'.'.'.'выключатель_лампы_В') == '0') {
$voice = (String) $voice . (String) 'Вторая лампа выключена. ';
}
if (getGlobal('люстра_в_прихожей'.'.'.'выключатель_лампы_В') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'вторая лампа, ';
}
sleep(1);
setGlobal('люстра_в_прихожей'.'.'.'pir_C', '0');
if (getGlobal('люстра_в_прихожей'.'.'.'pir_C') == '0') {
$voice = (String) $voice . (String) 'Датчик движения для третей лампы выключен. ';
}
if (getGlobal('люстра_в_прихожей'.'.'.'pir_C') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'Датчик движения для третей лампы, ';
}
sleep(1);
setGlobal('люстра_в_прихожей'.'.'.'выключатель_лампы_С', '0');
if (getGlobal('люстра_в_прихожей'.'.'.'выключатель_лампы_С') == '0') {
$voice = (String) $voice . (String) 'Третья лампа выключена. ';
}
if (getGlobal('люстра_в_прихожей'.'.'.'выключатель_лампы_С') == '1') {
$bad_work_list = (String) $bad_work_list . (String) 'Третья лампа, ';
}
sleep(1);
sg('люстра_в_прихожей.online', 0);
$timerCode2=<<<EOT
if(gg('люстра_в_прихожей.online') == 0)say("Люстра в прихожей не в сети! ",'2');//
EOT;
setTimeOut('check_online_lustra', $timerCode2, (int)('40'));
if (mb_strlen($bad_work_list, "UTF-8") < 13) {
$voice = (String) $voice . (String) 'Всё готово ко сну. Спокойной ночи. ';
}
if (mb_strlen($bad_work_list, "UTF-8") > 13) {
$voice = (String) $voice . (String) 'Не всё готово ко сну. ';
$voice = (String) $voice . (String) $bad_work_list;
}
say($voice, 2);
$timerCode=<<<EOT
setGlobal('удлинитель_на_3_розетки'.'.'.'выключатель_розетки_В', '1');
EOT;
setTimeOut('night_on_start', $timerCode, (int)('35'));
|
включить "периметр" в счетчике выключателе в 18:40
|
setGlobal('Counter1'.'.'.'perimetr', '1');
|
выключить "периметр" в счетчике выключателе в 22:00
|
setGlobal('Counter1'.'.'.'perimetr', '0');
callMethod('Relay08.turnOff');
|
выключить колонку по раб. дням в 10: 00
|
setGlobal('удлинитель_на_3_розетки'.'.'.'выключатель_розетки_В', '1');
|
выключить режим сна
|
Включение датчика движения в прихожей
$bad_on;
$bad_work_list;
$voice;
$bad_on = 0;
$bad_work_list = 'не удалось: ';
$voice = '';
setGlobal('TuRelay10'.'.'.'status', '1');
//setGlobal('удлинитель_на_3_розетки'.'.'.'выключатель_розетки_В', '0');
if (getGlobal('ИК-реле'.'.'.'день_ночь') == 0) {
setGlobal('ИК-реле'.'.'.'выключатель_розетки_1', '1');
$voice .= ' бра в спальне включено. ';
//callMethod('RemoteTCL4'.'.'.'Chanel_Up');
}
setGlobal('CO2_Sensor'.'.'.'BRIGHTNESS_DISP', '1023');
if (getGlobal('ИК-реле'.'.'.'выключатель_розетки_2') != 1) {
setGlobal('ИК-реле'.'.'.'выключатель_розетки_2', '1');
$voice .= 'Лампа в спальне включена. ';
}
setGlobal('люстра_в_прихожей'.'.'.'pir_A', '1');
if (getGlobal('люстра_в_прихожей'.'.'.'pir_A') == '1') {
$voice .= 'Датчик движения для первой лампы включен. ';
}
if (getGlobal('люстра_в_прихожей'.'.'.'pir_A') == '0') {
$bad_work_list .= 'Датчик движения для первой лампы - выключен! ';
$bad_on = 1;
}
setGlobal('люстра_в_прихожей'.'.'.'pir_B', '1');
if (getGlobal('люстра_в_прихожей'.'.'.'pir_B') == '1') {
$voice .= 'Датчик движения для второй лампы включен. ';
}
if (getGlobal('люстра_в_прихожей'.'.'.'pir_B') == '0') {
$bad_work_list .= 'Датчик движения для второй лампы - выключен! ';
$bad_on = 1;
}
setGlobal('люстра_в_прихожей'.'.'.'pir_C', '1');
if (getGlobal('люстра_в_прихожей'.'.'.'pir_C') == '1') {
$voice .= 'Датчик движения для третей лампы включен. ';
}
if (getGlobal('люстра_в_прихожей'.'.'.'pir_C') == '0') {
$bad_work_list .= 'Датчик движения для третей лампы - выключен! ';
$bad_on = 1;
}
//setGlobal('ИК-реле'.'.'.'датчик_присутствия_off_on', '1');
$timerCode=<<<EOT
setGlobal('ИК-реле'.'.'.'датчик_присутствия_off_on', '1');
EOT;
setTimeOut('unlock_sensor_presence', $timerCode, (int)('660'));
if ($bad_on == 1) {
$voice .= $bad_work_list;
}
sg('ИК-реле.SleepMode', 1);
$voice .= 'доброе утро. Сегодня ';
$voice .= getGlobal('ThisComputer'.'.'.'DateD');
$voice .= ' ';
$voice .= getGlobal('ThisComputer'.'.'.'Month');
$voice .= ' ';
$voice .= getGlobal('ThisComputer'.'.'.'Day');
say($voice, 2);
//runScript('readWeatherToday', array());
|
говорящий календарь
|
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,3);
}
}
|
произнести время
|
сказать текущее время
|
радио плэй MusicPlusS Vocal Trance
|
воспроизвести радио MusicPlusS Vocal Trance
getURL(BASE_URL.ROOTHTML.'apps/shoutcast.html?mode=playnow&terminal=vlc_majordomo&station_id=1066378',0);
|
сработка будильника А
|
для запуска метода по времени будильника А, для удлиннителя на 3 розетки
//if (timeIs(getGlobal('удлинитель_на_3_розетки'.'.'.'будильник_А_время'))) {
callMethod('удлинитель_на_3_розетки'.'.'.'Будильник_А');
//}
|
сработка будильника В
|
для запуска метода по времени будильника В, для удлиннителя на 3 розетки
if (timeIs(getGlobal('удлинитель_на_3_розетки'.'.'.'будильник_В_время'))) {
callMethod('удлинитель_на_3_розетки'.'.'.'Будильник_В');
}
|
сработка будильника С
|
для запуска метода по времени будильника С, для удлиннителя на 3 розетки
if (timeIs(getGlobal('удлинитель_на_3_розетки'.'.'.'будильник_С_время'))) {
callMethod('удлинитель_на_3_розетки'.'.'.'Будильник_С');
}
|
старт_iptv
|
запускает метод "RemoteTCL5.start_iptv"
callMethod('RemoteTCL5'.'.'.'start_iptv');
|
стоп_iptv на кухне
|
запускает метод "RemoteTCL5.stop_iptv"
callMethod('RemoteTCL5'.'.'.'stop_iptv');
|
часы-информер
|
$ip_addr = gg('часы-информер.ip_addr');
$messages = gg('часы-информер.messages');
$delay = gg('часы-информер.delay');
$n = gg('часы-информер.counts_vision');
$get;
$get = 'http://';
$get .= $ip_addr;
$get .= '/data?mes=';
$get .= $messages;
$get .= '&p=';
$get .= $delay;
$get .= '&n=';
$get .= $n;
getURL($get, 0);
|
taimer_pattern
|
$timerCode=<<<EOT
setGlobal('ИК-реле'.'.'.'датчик_присутствия_off_on', '1');
EOT;
setTimeOut('unlock_sensor_presence', $timerCode, (int)('11*60'));
|
test
|
Перевод на русский направления ветра для gismetio
$en_wind;
$ret;
// Опишите эту функцию…
function wind_rus($en_wind) {
global $ret;
if ($en_wind == 'southeastern') {
$ret = 'юго-восточный';
}
if ($en_wind == 'north') {
$ret = 'северный';
}
if ($en_wind == 'south') {
$ret = 'южный';
}
if ($en_wind == 'East') {
$ret = 'восточный';
}
if ($en_wind == 'west') {
$ret = 'западный';
}
if ($en_wind == 'southwest') {
$ret = 'юго-западный';
}
if ($en_wind == 'northwest') {
$ret = 'северо-западный';
}
if ($en_wind == 'northeast') {
$ret = 'северо-восточный';
}
return $ret;
}
|
test3
|
$file=getURL('https://www.mtbank.by/courses/cards/',0,'',0,0);
//$file = $DOCUMENT_ROOT. "https://www.mtbank.by/courses/cards/";
$doc = new DOMDocument();
$doc->loadHTMLFile($file);
$elements = $doc->getElementsByTagName('div');
if (!is_null($elements)) {
foreach ($elements as $element) {
echo "<br/>". $element->nodeName. ": ";
$nodes = $element->childNodes;
foreach ($nodes as $node) {
echo $node->nodeValue. "\n";
}
}
}
|
timeNow
|
|
update_vlc_info_in_info-clock
|
выводит название трека на часы-информер
runScript('info_vlc_player');
if(gg('RadioSetting.сейчас_играет') != gg('RadioSetting.ранее_воспроизведено') ){
sg('часы-информер.messages', 'Сейчас_играет:_'.gg('RadioSetting.LastStationName').'_track:_'.gg('RadioSetting.сейчас_играет') );
runScript('часы-информер');
sg('RadioSetting.ранее_воспроизведено', gg('RadioSetting.сейчас_играет'));
}
|
Температура с часов
|
Получение температуры с часов информера посредством GET запроса.
$Temperatur;
function text_get_substring($text, $where1, $at1, $where2, $at2) {
if ($where1 == 'FROM_END') {
$at1 = strlen($text) - 1 - $at1;
} else if ($where1 == 'FIRST') {
$at1 = 0;
} else if ($where1 != 'FROM_START'){
throw new Exception('Unhandled option (text_get_substring).');
}
$length = 0;
if ($where2 == 'FROM_START') {
$length = $at2 - $at1 + 1;
} else if ($where2 == 'FROM_END') {
$length = strlen($text) - $at1 - $at2;
} else if ($where2 == 'LAST') {
$length = strlen($text) - $at1;
} else {
throw new Exception('Unhandled option (text_get_substring).');
}
return substr($text, $at1, $length);
}
$Temperatur = getURL('http://192.168.1.135/data?sensor=%T', 0);
setGlobal('Температура_с_часов'.'.'.'temp', text_get_substring($Temperatur, 'FROM_START', 0, 'FROM_START', 3));
|
черновик
|
$url=gg('mainVLC.adr');// адрес плеера
$url="http://192.168.1.140:8080";
$file=getURL($url.'/requests/status.xml',0,'',12345,0);
$xml = simplexml_load_string($file);
//print('xml load: '. $xml. '</br>' );
ob_start();
var_dump($xml);
$buffer = ob_get_contents();
ob_clean();
print($buffer);
$start = strpos($buffer, '["info"]=>', 0);
print("Start pos = ". $start);
$end_pos = strpos($buffer, '}', $start);
print("</br> stop pos = ".$end_pos);
$str1 = substr($buffer, $start + 29, $end_pos - ($start + 29) );
print("</br> str1: ". $str1);
$start_pos2 = strpos($str1, '[2]', 0);
print("</br> start_pos2 = ". $start_pos2);
$end_pos2 = strpos($str1, '\"', $start_pos2 + 18);
$str2 = substr($str1, $start_pos2 + 27, -1 );
print("</br> str2: ". $str2);
sg('RadioSetting.сейчас_играет', $str2);
|