Свойства класса:
Методы класса:
$TimeShift='-18'; $date = new DateTime(getGlobal('AlarmClock01.AlarmTime')); $date->modify("{$TimeShift} minute"); $i=$date->format('H:i'); echo $i; SQLExec( "UPDATE scripts SET RUN_TIME = '$i' WHERE TITLE = 'sunRise'");
if (getGlobal('AlarmClock01.AlarmOn') || getGlobal('AlarmClock02.AlarmOn') || getGlobal('AlarmClock03.AlarmOn') == 1) { sg('GlobalAlarm.AlarmOn',1); sg('GlobalAlarm.AlarmValue','<font color=lime>Вкл</font>'); } else { sg('GlobalAlarm.AlarmOn',0); sg('GlobalAlarm.AlarmValue','<font color=red>Выкл</font>'); } $enddate = array(); $nowdate = date("N"); $wd = $nowdate - 1; $objects=getObjectsByClass("AlarmClock "); function find ($clock, $date, $weak) { $ii = 0; for ($i=$weak; $i<7; $i++) { $currentTime = time(); $targetTime = strtotime($clock."+".$ii++." day"); if (($currentTime<$targetTime) && ($date{$i}==1)) { return $targetTime; break; } if ($ii==8) { break; } if ($i==6) { $i=-1; } } } foreach($objects as $obj) { $v++; if (gg($obj["TITLE"].'.AlarmOn')==1) { if (gg($obj["TITLE"].'.once')!=1) { array_push($enddate, find (gg($obj["TITLE"].'.AlarmTime'), gg($obj["TITLE"].'.days'), $wd)); } elseif (gg($obj["TITLE"].'.once')==1) { array_push($enddate, find (gg($obj["TITLE"].'.AlarmTime'), "1", "0")); } } } $nearest_alarm = min($enddate); $nearest_alarm = date("d-m-Y H:i", $nearest_alarm); sg("GlobalAlarm.nextTimeDate", $nearest_alarm); print_r("Ближайший будильник сработает:".$nearest_alarm."<br />");
runScriptSafe('FindAlarmClock');
Объекты класса:
/* begin injection of {Alarmclock} */ dingdong /* end injection of {Alarmclock} */
Объекты класса:
Свойства класса:
Методы класса:
$this -> setProperty('lastSayMessage'); getURLBackground('http://192.168.24.252:2323/?cmd=textToSpeech&text='.$this.'&locale=ru&password=358355&type=json');
$volume=round(65535*$params['VALUE']/100); $this->setProperty('volumeLevel',$params['VALUE']); safe_exec('..\\apps\\nircmd\\nircmdc setsysvolume '.$volume); sayReply("Изменилась громкость до ".$params['VALUE']." процентов");
Объекты класса:
say("Отключено питание");
$command=$params['command']; $short_command=''; $dt=recognizeTime($command,$short_command); if (preg_match('/скажи сколько врем/is',$command)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); sayReply('Задача принята',2); return; } global $voicemode; $voicemode='on'; sayReply('Сейчас '.timeNow(),2); } elseif (preg_match('/сколько время/is',$command)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); sayReply('Задача принята'); echo $short_command; return; } sayReply('Сейчас '.timeNow()); } elseif (preg_match('/повтори (.+)/is',$command,$m) || preg_match('/скажи (.+)/is',$command,$m)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); sayReply('Задача принята',2); return; } global $voicemode; $voicemode='on'; sayReply($m[1],2); } else { sayReply('Неизвестная команда...',2); }
Свойства класса:
Методы класса:
$this->setProperty('LastRun',date('Y-m-d H:i:s'));
$name='Cron_'.$this->object_title; SQLExec("DELETE FROM jobs WHERE title='".$name."'");
Объекты класса:
$hour = gg('ThisComputer.timeH'); //echo "hour {$hour}<br>"; if ($hour == '00') { $hour = "24"; } $name = "v_khomutovo_today.humidity_{$hour}_00"; //$name = "v_khomutovo/irkutskaya_oblast.humidity_21_00"; echo "hour {$name}<br>"; $humidity = gg($name); //echo "humidity {$humidity}<br>"; if ($humidity != '') { sg('v_khomutovo_today.humidity', $humidity); }
$i = gg('ow_day0.temp_night'); if ($i <= 3 && $i > 0) { say('Внимание, сегодня ночью возможны заморозки, '.$i.' °C', 2); } elseif ($i <= 0) { say('Внимание, сегодня ночью ожидается отрицательная температура!, '.$i.' °C', 2); }
//выполняем авторегулировку уровня звука if (gg("ASensor.noise") <1) { //устанавливаем 70% //if (gg("terminal_TERM1.message_vol_level" > 60)) { setMessageVolume('TERM1', 70); //} } else if (gg("ASensor.noise") >= 1) { //устанавливаем 100% //if (gg("terminal_TERM1.message_vol_level" != 100)) { setMessageVolume('TERM1', 100); // } }
RunScript('LightSensor');
$sites = getObjectsByClass('SSLChecker'); foreach ($sites as $site) { callMethodSafe($site['TITLE'] . '.checkSSL'); }
$latitude = 52.438240; $longitude = 104.160255; // Get the current date and time $date = date('Y-m-d'); $timeZone = new DateTimeZone('Asia/Irkutsk'); $dateTime = new DateTime("$date now", $timeZone); // Calculate the sunrise and sunset times $sunrise = date_sunrise($dateTime->getTimestamp(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude); $sunset = date_sunset($dateTime->getTimestamp(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude); // Calculate the start of civil twilight (when it starts to get dark) and early dawn $civilTwilightStart = date_sunrise($dateTime->getTimestamp(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, 96); $earlyDawn = date_sunrise($dateTime->getTimestamp(), SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, -18); // Convert the timestamps to readable times $sunriseTime = date('H:i', $sunrise); $sunsetTime = date('H:i', $sunset); $civilTwilightStartTime = date('H:i', $civilTwilightStart); $earlyDawnTime = date('H:i', $earlyDawn); sg('ThisComputer.SunRiseTime', $sunriseTime); sg('ThisComputer.SunSetTime', $sunsetTime); $TimeShift=gg("DarknessMode.TimeShift"); $TimeShiftSteet=gg("DarknessMode.TimeShiftStreet"); $date = new DateTime(getGlobal('ThisComputer.SunSetTime')); $date1 = new DateTime(getGlobal('ThisComputer.SunSetTime')); $date->modify("{$TimeShift} minute"); sg("DarknessMode.LightSunSetTime", $date->format('H:i')); $date1->modify("{$TimeShiftSteet} minute"); sg("DarknessMode.LightStreetSunSetTime", $date1->format('H:i')); sg("DarknessMode.LightStreetSunSetTime", $date1->format('H:i')); $lenght = $sunset - $sunrise; $lenght = gmdate('H:i', $lenght); //sg('ThisComputer.day_length', date('H:i', gg('ow_day0.transit'))); sg('ThisComputer.day_length', $lenght);
RunScript('USD/EURO_Update');
Свойства класса:
Объекты класса:
Свойства класса:
Объекты класса:
Свойства класса:
Методы класса:
//$params["USER_OBJECT"]
//$params["USER_OBJECT"]
Объекты класса:
Свойства класса:
Методы класса:
Объекты класса:
$pass = $_GET['pin']; header('HTTP/1.1 200 OK'); //$pass=$this->getProperty('pass'); $popitka=$this->getProperty('popitka'); $passOK=gg('admin.passw'); if ($pass==$passOK){ // останавливаем таймер на ввод вызывающий тревогу, таймер запускаем при обнаружении движения под охраной //снимаем с охраны echo 'Ok'; sg('Keyboard.show', '0'); // SetTimeOut('pin_out',"sg('Keyboard.show', '1');", '120'); $this->setProperty('popitka','3');} else { if ($popitka <= 0) {echo 'alarm'; setTimeOut('pin','sg("Keyboard.popitka","3");', 360); } else { echo $popitka; $this->setProperty('popitka',$popitka-1); setTimeOut('pin','sg("Keyboard.popitka","3");', 60); } }
$z='0'; $this->setProperty('1',$z); $this->setProperty('2',$z); $this->setProperty('3',$z); $this->setProperty('4',$z); $this->setProperty('5',$z); $this->setProperty('6',$z); $this->setProperty('7',$z); $this->setProperty('8',$z); $this->setProperty('9',$z); $this->setProperty('0',$z); $this->setProperty('zv',$z); $this->setProperty('resh',$z);
Свойства класса:
Методы класса:
if ($params['status']) { $this->setProperty('status',$params['status']); } $this->setProperty('updatedTimestamp',time()); $this->setProperty("alive",1); $ot=$this->object_title; $alive_timeout=(int)$this->getProperty("aliveTimeOut"); if (!$alive_timeout) { $alive_timeout=12*60*60; } clearTimeOut($ot."_alive"); setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout);
Свойства класса:
Методы класса:
$this->setProperty('status',$params['status']); // выставляем статус сенсора $this->setProperty('updatedTimestamp',time()); // выставляем время срабатывания сенсора $this->setProperty('alive',1); $ot=$this->object_title; $alive_timeout=(int)$this->getProperty("aliveTimeOut"); if (!$alive_timeout) { $alive_timeout=24*60*60; } clearTimeOut($ot."_alive"); setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout); if ($params['status']) { $this->setProperty('motionDetected',1); clearTimeOut($this->object_title.'_detected'); setTimeOut($this->object_title.'_detected',"setGlobal('".$this->object_title.".motionDetected',0);",30); $linked_room=$this->getProperty('LinkedRoom'); if ($linked_room!='') { callMethod($linked_room.'.onActivity'); } if ($this->object_title=='sensorMovement3' || $this->object_title=='sensorMovementRemote1' || $this->object_title=='sensorMovementRemote2') { //|| $this->object_title=='sensorMovement5' return; // не реагируем на движение в спальне, по ip-сенсорам и по сенсору на втром этаже } ClearTimeOut("nobodyHome"); SetTimeOut("nobodyHome","callMethod('NobodyHomeMode.activate');", 1*60*60); // выполняем если целый час никого не было if (getGlobal('NobodyHomeMode.active')) { callMethod('NobodyHomeMode.deactivate'); } $last_register=registeredEventTime('inhouseMovement'); // проверяем когда в последний раз срабатывало событие "движение внутри дома" registerEvent('inhouseMovement',$this->name,2); // регистрируем событие "движение внутри дома" if (timeBetween('05:00', '12:00') && ((time()-$last_register)>2*60*60)) { runScript('Greeting'); // запускаем скрипт "доброе утро" } }
Объекты класса:
Свойства класса:
Объекты класса:
$file = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".date("d/m/Y")); // USD $xml = $file->xpath("//Valute[@ID='R01235']"); $valute = strval($xml[0]->Value); $USD = round(str_replace(",",".",$valute)*100)/100; echo $USD; sg("cbr.USD",$USD); // EURO $xml = $file->xpath("//Valute[@ID='R01239']"); $valute = strval($xml[0]->Value); $EURO = round(str_replace(",",".",$valute)*100)/100; echo $EURO; sg("cbr.EURO",$EURO); $uptime = date("d m Y H:i:s",time()); echo $uptime; sg("cbr.uptime",$uptime);
Объекты класса:
Свойства класса:
Методы класса:
$TimeShift=gg("DarknessMode.TimeShift"); $TimeShiftSteet=gg("DarknessMode.TimeShiftStreet"); $date = new DateTime(getGlobal('SunSetTime')); $date1 = new DateTime(getGlobal('SunSetTime')); $date->modify("{$TimeShift} minute"); sg("DarknessMode.LightSunSetTime", $date->format('H:i')); $date1->modify("{$TimeShiftSteet} minute"); sg("DarknessMode.LightStreetSunSetTime", $date1->format('H:i'));
$this->setProperty('active',0);
$this->setProperty('active',1);
$this->setProperty("updated",time()); $this->setProperty("updatedTime",date('H:i')); if ($this->getProperty('active')) { say("Режим ".$this->getProperty('title')." активирован.",1); } else { //say("Режим ".$this->getProperty('title')." выключен.",1); }
Объекты класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nightmode_activate.php'); /* end injection of {SDevices} */ //SQLSelect("UPDATE terminals SET MIN_MSG_LEVEL=2 WHERE NAME='TERM1'"); //SQLSelect("UPDATE terminals SET MIN_MSG_LEVEL=2 WHERE NAME='TERM2'"); //setTerminalMML('TERM1', '2'); //setTerminalMML('TERM2', '2'); //setTerminalMML('GMINI', '2'); sg('ThisComputer.minMsgLevel', '2');
//setTerminalMML('TERM1', '1'); //setTerminalMML('TERM2', '1'); //setTerminalMML('GMINI', '1'); //SQLSelect("UPDATE terminals SET MIN_MSG_LEVEL=1 WHERE NAME='TERM1'"); //SQLSelect("UPDATE terminals SET MIN_MSG_LEVEL=1 WHERE NAME='TERM2'"); sg('ThisComputer.minMsgLevel', '1'); /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nightmode_deactivate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/darknessmode_activate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/darknessmode_deactivate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nobodyhomemode_activate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nobodyhomemode_deactivate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/econommode_activate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/econommode_deactivate.php'); /* end injection of {SDevices} */
Методы класса:
Объекты класса:
include_once(DIR_MODULES.'app_radio/app_radio.class.php'); $app_radio=new app_radio(); if(is_array($params)) { if(isset($params['sta'])) $app_radio->change_station($params['sta'],$app_radio); if(isset($params['cmd'])) $app_radio->control($params['cmd']); if(isset($params['vol'])) $app_radio->set_volume($params['vol'],$app_radio); } else { if($params=='play' || $params=='stop') $app_radio->control($params); else if(strpos($params, "vol")===0) $app_radio->set_volume((int)substr($params,3),$app_radio); else if(strpos($params, "sta:")===0) $app_radio->change_station(substr($params,4),$app_radio); } /* begin injection of {app_radio} */ include_once(DIR_MODULES.'app_radio/app_radio.class.php'); $app_radio = new app_radio(); if(is_array($params)) { foreach($params as $key=>$value) { switch((string)$key) { case 'sta': $app_radio->change_station($params['sta'], $app_radio); break; case 'cmd': $app_radio->control($params['cmd']); break; case 'vol': $app_radio->set_volume($params['vol'], $app_radio); break; default: if($value == 'play' || $value == 'stop') $app_radio->control($value); elseif(strpos($value, 'vol') === 0) $app_radio->set_volume((int)substr($value, 3), $app_radio); elseif(strpos($value, 'sta:') === 0) $app_radio->change_station(substr($value, 4), $app_radio); } } } /* end injection of {app_radio} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/Rooms_onIdle.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/Rooms_onActivity.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/Rooms_updateActivityStatus.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_batteryLevelUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_keepAlive.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDevices_setUpdatedText.php'); /* end injection of {SDevices} */
require(DIR_MODULES.'devices/SDevices_logicAction.php');
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SButtons_pressed.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_takeSeries.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_motionDetected.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_updatePreview.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_takeSnapshot.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
//возвращает долю времени на интервале, где истинно сравнение $objprop со значением $value по правилу $oper //$oper{'=','<>','>','>=','<','<=','betw','!betw'}; //ex gg('obj.prop') == 1 / gg('obj.prop') betw -1,1/ gg('obj.prop') !betw 10,15 //return t(true part)/t(whole interval)
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SControllers_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SControllers_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SControllers_switch.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_setTargetTemperature.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_tempUp.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_tempDown.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_thermostatUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_setFanSpeedMode.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_configUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_fanSpeedUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SAirConditioners_setThermostatMode.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal30.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal29.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal28.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal26.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal27.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal21.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal22.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal23.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal24.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal25.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal20.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal15.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal16.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal17.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal18.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal19.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_tempUp.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTempNormal10.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_tempDown.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_setTemp.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBeokThermostats_maintenance.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_setLevel.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SDimmers_levelWorkUpdated.php'); /* end injection of {SDevices} */
require(DIR_MODULES.'devices/SDimmers_levelUpdated.php');
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SGroups_switch.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SGroups_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SGroups_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SGroups_statusUpdated.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMedias_pause.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMedias_setSource.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMedias_setChannel.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMedias_setVolume.php'); /* end injection of {SDevices} */
Свойства класса:
Объекты класса:
if ($this->getProperty('status') == 1) { $this->setProperty('command_on', '1'); } if ($this->getProperty('status') == 0) { $this->setProperty('command_on', '2'); }
brLinkCommand('antenna');
brLinkCommand('hdmi3');
brLinkCommand('hdmi3');
brLinkCommand('TVLG42_on\off');
brLinkCommand('TVLG42_on\off');
if ($this->getProperty('status')) { $this->setProperty('command_on',1); } else { $this->setProperty('command_off',1); }
if ($this->getProperty('status')) { $this->setProperty('command_on',1); } else { $this->setProperty('command_off',1); }
if ($this->getProperty('status')) { $this->setProperty('command_on',1); } else { $this->setProperty('command_off',1); }
if ($this->getProperty('status')) { $this->setProperty('command_on',1); } else { $this->setProperty('command_off',1); }
//$status=$this->getProperty("status"); //if ($status==1) { //SayReply('Включен свет в спальне',1); //} //else { // SayReply('Выключен свет в спальне',1); //}
if ($this->getProperty('status')) { $this->setProperty('command_on',1); } else { $this->setProperty('command_off',1); }
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_turnOff.php'); /* end injection of {SDevices} */
$level=$this->getProperty("brightness"); if ($level>=95) { $this->setProperty('brightness', 5); } else { $this->setProperty('brightness', 95); }
$status=$this->getProperty("brightness"); $i=gg('sonoffTouch_livingroom.status'); if ($i==0) { sg('sonoffTouch_livingroom.status', 1); sleep(2); $this->setProperty('color', ff6b08); $this->setProperty('brightness', 5); } else if ($status>=95) { $this->setProperty('color', ff6b08); $this->setProperty('brightness', 5); } else { $this->setProperty('command', white); $this->setProperty('brightness', 95); }
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_setColor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SRGB_colorUpdated.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
if (gg('EconomMode.active') != 1) { $new_temp = $this->getProperty("backTermo"); $this->setProperty("normalTargetValue", $new_temp); }
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_setTargetTemperature.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_switchEnable.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_enable.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_disable.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_valueUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_tempUp.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SThermostats_tempDown.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STVs_setVolume.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STVs_setChannel.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STVs_pause.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STVs_setSource.php'); /* end injection of {SDevices} */
Объекты класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SVacuums_pause.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiHumidifier_modeSilent.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiHumidifier_modeMeduim.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiHumidifier_modeAuto.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiHumidifier_modeHigh.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiPetWaterer_filterUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiPetWaterer_remainCleanUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiPetWaterer_waterUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiPetWaterer_faultUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiRoborockVacuum_stop.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiRoborockVacuum_infoUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiRoborockVacuum_stateUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiRoborockVacuum_errorUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiRoborockVacuum_start.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiRoborockVacuum_charge.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SXiRoborockVacuum_pause.php'); /* end injection of {SDevices} */
Объекты класса:
$j=round(gg('VAC_MI.clean_time')/60); sg('VAC_MI.Text_4', "<div style=color:green;font-size:125%>$j мин</div>");
$j=round(gg('VAC_MI.clean_area')/1000000); sg('VAC_MI.Text_5', "<div style=color:green;font-size:125%>$j м<sup>2</sup></div>");
$j=round(100-(100*gg('VAC_MI.filter_work_time')/60/60)/150); if ($j>=30) sg('VAC_MI.Text_9',"<div style=color:green;font-size:125%>$j %</div>"); else if ($j<16) sg('VAC_MI.Text_9',"<div style=color:red;font-size:125%>$j %</div>"); else sg('VAC_MI.Text_9',"<div style=color:orange;font-size:125%>$j %</div>");
sg('VAC_MI.zoned_clean', '[26150, 29900, 29750, 32400, 1]');
sg('VAC_MI.zoned_clean', '[23200, 25100, 26150, 28900, 1]');
$j=gg('VAC_MI.battery'); if ($j>=80) sg('VAC_MI.Text_3',"<div style=color:green;font-size:125%>$j %</div>"); else if ($j<36) sg('VAC_MI.Text_3',"<div style=color:red;font-size:125%>$j %</div>"); else sg('VAC_MI.Text_3',"<div style=color:orange;font-size:125%>$j %</div>");
sg('VAC_MI.zoned_clean', '[23200, 29000, 26150, 32000, 1]');
sg('VAC_MI.zoned_clean', '[26150, 25100, 29000, 29900, 1]');
$j=round(100-(100*gg('VAC_MI.sensor_dirty_time')/60/60)/30); if ($j>=30) sg('VAC_MI.Text_6',"<div style=color:green;font-size:125%>$j %</div>"); else if ($j<16) sg('VAC_MI.Text_6',"<div style=color:red;font-size:125%>$j %</div>"); else sg('VAC_MI.Text_6',"<div style=color:orange;font-size:125%>$j %</div>");
$j=round(100-(100*gg('VAC_MI.main_brush_work_time')/60/60)/200); if ($j>=30) sg('VAC_MI.Text_8',"<div style=color:green;font-size:125%>$j %</div>"); else if ($j<16) sg('VAC_MI.Text_8',"<div style=color:red;font-size:125%>$j %</div>"); else sg('VAC_MI.Text_8',"<div style=color:orange;font-size:125%>$j %</div>");
$j=round(100-(100*gg('VAC_MI.main_brush_work_time')/60/60)/300); if ($j>=30) sg('VAC_MI.Text_7',"<div style=color:green;font-size:125%>$j %</div>"); else if ($j<16) sg('VAC_MI.Text_7',"<div style=color:red;font-size:125%>$j %</div>"); else sg('VAC_MI.Text_7',"<div style=color:orange;font-size:125%>$j %</div>");
sg('VAC_MI.command','app_spot');
sg('VAC_MI.command', 'find_me');
sg('VAC_MI.command','app_pause');
sg('VAC_MI.command','app_start');
sg('VAC_MI.command','app_stop'); sleep(1.5); sg('VAC_MI.command','app_charge');
sg('VAC_MI.command','app_stop');
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCounters_valueWorkUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCounters_refreshStats.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCounters_pulseDetected.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCounters_valueUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLeak_blockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLeak_unblockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLeak_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLeak_alert.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMotions_unblockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMotions_blockSensor.php'); /* end injection of {SDevices} */
require(DIR_MODULES.'devices/SMotions_motionDetected.php');
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_levelUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_setLevel.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_close.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_switch.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_open.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenable_statusUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenClose_unblockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenClose_blockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SOpenClose_statusUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSensors_valueUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSensors_blockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSensors_unblockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSensors_alert.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBatterySensors_valueWorkVoltageUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBatterySensors_valueUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SBatterySensors_valueVoltageUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLightSensors_valueUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SLightSensors_periodMinValueUpdated.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SPowerSensors_valueUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SPowerSensors_loadStatusChanged.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STempHumSensors_valueUpdated.php'); /* end injection of {SDevices} */
Объекты класса:
$temp = gg('Sensor_temphum01.valueHumidity'); //if (gg('Sensor_temphum01.valueHumidity') <= 50 && $temp >= 16) { // cm('Relay12.turnOn'); //} if ($temp <= 1 && gg('оповещение о заморозках.Enable') == 1) { say ('На улице низкая температура '.$temp. '℃', 2); } //else { // cm('Relay12.turnOff'); //}
$v = $this -> getProperty('valueHumidity'); $m = $this -> getProperty('maxHumidityValue'); $au = gg('Relay12.auto'); $s = gg('Relay12.status'); if ($v > $m && $s == 0 && $au == 1) { SetTimeOut('say_fun','Say("Включена вытяжка в доме, влажность '.$v.'%", 0);', 5); cm('Relay12.turnOn'); ClearTimeOut('fun_off'); } elseif ($v < $m && $s == 1 && timeOutExists('fun_off') == 0 && $au == 1) { SetTimeOut('fun_off','cm("Relay12.turnOff");', 60*20); }
if ($params['OLD_VALUE'] == $params['NEW_VALUE']) return; //выполняем авторегулировку уровня звука if (gg("ASensor.noise") == 0) { //устанавливаем 70% //if (gg("terminal_TERM1.message_vol_level" > 60)) { setMessageVolume('TERM1', 70); callAPI('/api/module/yadevices','GET',array('station'=>1,'command'=>'громкость 4')); //} } if (gg("ASensor.noise") >= 1 && $params['OLD_VALUE'] == 0){ //устанавливаем 100% //if (gg("terminal_TERM1.message_vol_level" != 100)) { setMessageVolume('TERM1', 100); callAPI('/api/module/yadevices','GET',array('station'=>1,'command'=>'громкость 6')); // } } return;
Объекты класса:
//say("тест",2); $i=round((float) getGlobal('Sensor_temp02.value')); $j=gg('Sensor_temp02.maxValue'); $m=gg('Sensor_temp02.AlarmOn'); $k=gg('Sensor_temp02.minValue'); $l=gg('Sensor_temp02.direction'); $s=gg('Sensor_temp02.Say'); $c=gg('Sensor_temp02.Critical'); if ($i>=$c) { Say('Внимание!!! В бане очень высокая температура '.$i. ' градусов, срочно проверьте её', 3); } else if ($i>=$j && $m=='1' && $s=='1') { Say('Температура в бане оптимальна, '.$i. ' градусов, можно идти париться', 1); sg('Sensor_temp02.AlarmOn', 0); SetTimeOut('AlarmBaniy',"Say('Температура в бане оптимальна, ".$i. " градусов. Давайте дуйте, а то прогорит', 1);", 360); sg('Sensor_temp02.code_color', 3); } else if ($i>=$k && $l=='-1' && $m=='1' && timeBetween("18:00","22:00") && $s=='1') { say('Температура в бане падает, '.$i. ', возможно прогорели дрова, нужно подкинуть!', 1); } else if ($i<=$k && $m=='0') { //Say('Баня остывает, '.$i. ' градусов', 1); sg('Sensor_temp02.AlarmOn', 1); sg('Sensor_temp02.code_color', 2); }
$i=gg('tempKitchen.value'); $j=gg('tempKitchen.maxValue'); $m=gg('tempKitchen.AlarmOn'); $k=gg('tempKitchen.minValue'); $f=gg('tempKitchen.AlarmAuto'); $l=gg('Relay04.status'); if ($i>=$j and $m==1 and $l==0) { if(TimeOutExists('AlarmKitchenFunOff')==0) { Say('Похоже вы что-то готовите, я включаю вытяжку', 1); sg('Relay04.status', 1); sg('tempKitchen.AlarmAuto', 1); SetTimeOut('AlarmKitchenFunOn',"", 600); } } else if ($i<=$j and $f==1) { if(TimeOutExists('AlarmKitchenFunOn')==0) { Say('Выключаю вытяжку', 1); sg('Relay04.status', 0); sg('tempKitchen.AlarmAuto', 0); SetTimeOut('AlarmKitchenFunOff',"", 360); } } else if ($i<=$k and gg('Relay04.status')==1) { Say('Температура на кухне опустилась ниже критической нормы, я выключаю вытяжку', 1); sg('Relay04.status', 0); }
$i=round((float) getGlobal('TempSensorTitan.value')); $j=gg('TempSensorTitan.maxValue'); $m=gg('TempSensorTitan.AlarmOn'); $k=gg('TempSensorTitan.minValue'); $l=gg('sonoff_Titan.status'); if ($i>=$j and $m=='1') { Say('Температура титана оптимальна, '.$i. ' градусов, можно идти мыться', 2); sg('TempSensorTitan.AlarmOn', 0); sg('TempSensorTitan.code_color', 3); } else if ($i<=$k && $i>=10 && $m=='0' and $l=='1') { Say('Титан остыл, '.$i. ' градусов, подождите пока нагреется', 1); sg('TempSensorTitan.AlarmOn', 1); sg('TempSensorTitan.code_color', 2); } else if ($i<=$k and $l==0) { sg('TempSensorTitan.AlarmOn', 1); sg('TempSensorTitan.code_color', 2); } if ($i>=90) { if(TimeOutExists('AlarmTitan')==0) { Say('Температура титана, '.$i. ' градуса, скоро взорвется нахер!!!', 3); SetTimeOut('AlarmTitan',"", 360); } }
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_statusUpdated.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_alert.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_blockSensor.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_unblockSensor.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STv_switch.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STv_turnOn.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STv_turnOff.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/STv_statusUpdated.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
$terminal_name=gg($this->object_title.".name"); setMessageVolume($terminal_name, $params["volume"]);
// $params["NAME"]; - Имя Терминала // $params["MESSAGE"]; - сообщение // $params["ERROR"]; - тип ошибки // $params["IMPORTANCE"]; - важность сообщения // $params["ORIGINAL_OBJECT_TITLE"]; - привязанный обьект // $this->username; - Привязанный Пользователь // $this->linkedRoom; - привязанное помещение
Объекты класса:
Свойства класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_playNextUrl.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_urllist.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_seeknext.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_seekprevious.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_stop.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_playUrl.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_mute-unmute.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_volume.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_pause-unpause.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_next.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMediaRenderer_previous.php'); /* end injection of {SDevices} */
Объекты класса:
Свойства класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/UPNPMediaServer_getFileList.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
DebMes('Checking SSL status for ' . $this->getProperty('domain')); $port = $this->getProperty('port'); $report = checkSSL($this->getProperty('domain'), ($port != '' && $port > 0) ? $port : 443); $this->setProperty('status', ($report['status'] && $report['validDays'] > 0) ? 1 : 0); $this->setProperty('validTo', $report['validTo']); $this->setProperty('validDays', $report['validDays']); $this->setProperty('lastCheck', date('Y-m-d H:i:s')); function checkSSL ($domain, $port = 443) { $result = array('status' => false, 'validTo' => '', 'validDays' => ''); $stream = stream_context_create(array('ssl' => array('capture_peer_cert' => true))); $socket = stream_socket_client("ssl://$domain:$port", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $stream); if ($socket) { $cont = stream_context_get_params($socket); $cert_ressource = $cont['options']['ssl']['peer_certificate']; $cert = openssl_x509_parse($cert_ressource); $namepart = explode('CN=', $cert['name']); if (count($namepart) == 2) { $cert_domain = trim($namepart[1], '*. '); $check_domain = substr($domain, -strlen($cert_domain)); $result['status'] = ($cert_domain == $check_domain); $result['validTo'] = date('Y-m-d H:i:s', $cert['validTo_time_t']); $result['validDays'] = date_diff(new DateTime(), new DateTime($result['validTo']))->days; } } return $result; }
Объекты класса:
Свойства класса:
Методы класса:
SQLUpdate("objects", array("ID"=>$this->id, "DESCRIPTION"=>gg("sysdate")." ".gg("timenow")));
Объекты класса:
Свойства класса:
Методы класса:
Объекты класса:
$details=array(); $red_state=0; $yellow_state=0; if (!isOnline('Internet')) { $yellow_state=1; $details[]=LANG_GENERAL_NO_INTERNET_ACCESS; } if ($red_state) { $state='red'; $state_title=LANG_GENERAL_RED; } elseif ($yellow_state) { $state='yellow'; $state_title=LANG_GENERAL_YELLOW; } else { $state='green'; $state_title=LANG_GENERAL_GREEN; } $new_details=implode(". ",$details); if ($this->getProperty("stateDetails")!=$new_details) { $this->setProperty('stateDetails',$new_details); } if ($this->getProperty('stateColor')!=$state) { $this->setProperty('stateColor',$state); $this->setProperty('stateTitle',$state_title); if ($state!='green') { sayReply(LANG_GENERAL_COMMUNICATION_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title."."); sayReply(implode(". ",$details)); } else { sayReply(LANG_GENERAL_COMMUNICATION_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title); } $this->callMethod('stateChanged'); }
$details=array(); $red_state=0; $yellow_state=0; $cycles=array('states'=>'states','main'=>'main','execs'=>'exec','scheduler'=>'scheduler'); foreach($cycles as $k=>$v) { $tm=getGlobal('ThisComputer.cycle_'.$k.'Run'); if (time()-$tm>5*60) { $red_state=1; $details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED."."; } } $cycles=array('ping'=>'ping','webvars'=>'webvars'); foreach($cycles as $k=>$v) { $tm=getGlobal('ThisComputer.cycle_'.$k.'Run'); if (time()-$tm>10*60) { $yellow_state=1; $details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED."."; } } if ($red_state) { $state='red'; $state_title=LANG_GENERAL_RED; } elseif ($yellow_state) { $state='yellow'; $state_title=LANG_GENERAL_YELLOW; } else { $state='green'; $state_title=LANG_GENERAL_GREEN; } $new_details=implode(". ",$details); if ($this->getProperty("stateDetails")!=$new_details) { $this->setProperty('stateDetails',$new_details); } if ($this->getProperty('stateColor')!=$state) { $this->setProperty('stateColor',$state); $this->setProperty('stateTitle',$state_title); if ($state!='green') { sayReply(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title."."); sayReply(implode(". ",$details)); } else { sayReply(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title); } $this->callMethod('stateChanged'); } /* begin injection of {SDevices} */ require(DIR_MODULES.'devices/system_checkstate.php'); /* end injection of {SDevices} */
$details=array(); $red_state=0; $yellow_state=0; if ($red_state) { $state='red'; $state_title=LANG_GENERAL_RED; } elseif ($yellow_state) { $state='yellow'; $state_title=LANG_GENERAL_YELLOW; } else { $state='green'; $state_title=LANG_GENERAL_GREEN; } $new_details=implode(". ",$details); if ($this->getProperty("stateDetails")!=$new_details) { $this->setProperty('stateDetails',$new_details); } if ($this->getProperty('stateColor')!=$state) { $this->setProperty('stateColor',$state); $this->setProperty('stateTitle',$state_title); if ($state!='green') { sayReply(LANG_GENERAL_SECURITY_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title."."); sayReply(implode(". ",$details)); } else { sayReply(LANG_GENERAL_SECURITY_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title); } $this->callMethod('stateChanged'); }
Свойства класса:
Методы класса:
//дни недели $h=(int)date('G',time()); if (gg('ThisComputer.DateD')!=date("d", time())) { $day[0]="воскресенье"; $day[1]="понедельник"; $day[2]="вторник"; $day[3]="среда"; $day[4]="четверг"; $day[5]="пятница"; $day[6]="суббота"; $month[1]="января"; $monthAlt[1]="ЯНВАРЬ"; $month[2]="февраля"; $monthAlt[2]="ФЕВРАЛЬ"; $month[3]="марта"; $monthAlt[3]="МАРТ"; $month[4]="апреля"; $monthAlt[4]="АПРЕЛЬ"; $month[5]="мая"; $monthAlt[5]="МАЙ"; $month[6]="июня"; $monthAlt[6]="ИЮНЬ"; $month[7]="июля"; $monthAlt[7]="ИЮЛЬ"; $month[8]="августа"; $monthAlt[8]="АВГУСТ"; $month[9]="сентября"; $monthAlt[9]="СЕНТЯБРЬ"; $month[10]="октября"; $monthAlt[10]="ОКТЯБРЬ"; $month[11]="ноября"; $monthAlt[11]="НОЯБРЬ"; $month[12]="декабря"; $monthAlt[12]="ДЕКАБРЬ"; sg("ThisComputer.DateD",date( "d", time())); sg("ThisComputer.DateM",date( "m", time())); sg("ThisComputer.DateY",date( "Y", time())); sg("ThisComputer.Date",date( "d.m.Y", time())); sg("ThisComputer.Day",$day[date("w")]); sg("ThisComputer.Month",$month[date("n")]); sg("ThisComputer.MonthAlt",$monthAlt[date("n")]); }
Объекты класса:
$h=(int)date('G',time()); $m=date('i',time()); if (timeBetween(gg('ThisComputer.SunRiseTime'),gg('ThisComputer.SunSetTime')) && gg('DarknessMode.active')=="1") { callMethodSafe("DarknessMode.deactivate"); } elseif (!timeBetween(gg('ThisComputer.SunRiseTime'),gg('ThisComputer.SunSetTime')) && gg('DarknessMode.active')!="1") { callMethodSafe("DarknessMode.activate"); } if (($h>=9) && ($m=="00") && getGlobal('ThisComputer.clockChimeEnabled')=='1') { say(timeNow(),1); } setGlobal('ThisComputer.timeNow',date('H:i')); $homeStatus=date('H:i'); if (getGlobal('NobodyHomeMode.active')) { $homeStatus.=' Дома никого'; } else { $homeStatus.=' Дома кто-то есть'; } $homeStatus.=' '.getGlobal('Security.stateDetails'); $homeStatus.=' '.getGlobal('System.stateDetails'); $homeStatus.=' '.getGlobal('Communication.stateDetails'); setGlobal('ThisComputer.HomeStatus',$homeStatus); //if (timeIs(getGlobal('ThisComputer.SunRiseTime'))) { // say('Восходит солнце', 1); // } if (timeIs(getGlobal('ThisComputer.SunSetTime'))) { say('Солнце заходит',1); } if (timeIs("23:30") && (gg("EconomMode.active")!="1") && (gg("NobodyHomeMode.active")=="1")) { say("Похоже никого нет сегодня, можно сэкономить немного."); callMethodSafe('EconomMode.activate'); } if (timeBetween(gg('ThisComputer.NIghtModeStart'),gg('ThisComputer.NIghtModeEnd')) && gg('NightMode.active')=="0") { callMethodSafe('NightMode.activate'); } elseif (!timeBetween(gg('ThisComputer.NIghtModeStart'),gg('ThisComputer.NIghtModeEnd')) && gg('NightMode.active')=="1") { callMethodSafe('NightMode.deactivate'); } $timeH=date("H", time()); $timeM=date("i", time()); sg("ThisComputer.timeH",$timeH); sg("ThisComputer.timeM",$timeM);
Свойства класса:
Методы класса:
// МЕТОД new if (isset($params["task"])) { $todo = $this->getProperty("todo"); $mytask = "-".$params["task"]; // строка задачи $sayTodo = gg("Sets.sayTodo"); if ($sayTodo) { sayReply ("В список дел добавлена задача: ".$params["task"],($sayTodo-2)); } $todo = $todo."|".$mytask; // добавляем с разделителем $this->setProperty("todo", $todo); }
// МЕТОД view - подготовка кода для отображения $todo = $this->getProperty("todo"); // установим внутреннюю кодировку символов mb_internal_encoding("UTF-8"); $td = explode("|", $todo); $str_cod = '<div id="list"> <div class="new"> <input id="newtask" placeholder="New Item" type="text"> <button onClick="btnRunClicked();" class="fa fa-plus"></button> </div> <div class="list">'; for($i = 1; $i < sizeof($td); $i++) { // выделим и сохраним первый символ $check = mb_substr($td[$i], 0, 1); // обрежем строку, не будем отображать первый символ + или - $task = mb_substr($td[$i], 1); // начинаем формировать код hsl(196,'.(73-24*(($i-1)%2)).'%,50%) $str_cod = $str_cod.' <div class="item" id="taskbox_'.$i.'" style ="background: hsl('.(190+$i*6).',73%,50%);"> <span id="task_'.$i.'"'; // если певый символ "+" то значит задание "выполнено" if ($check == "+") { $str_cod = $str_cod.' class="checked"'; } $str_cod = $str_cod.'>'.$task.'</span>'; $str_cod = $str_cod.' <div class="rightblock"> <button id="check_'.$i.'" class="check fa fa-check" onClick="checkClicked('.$i.');"></button> <button id="delete_'.$i.'" class="delete fa fa-times" onClick="deleteClicked('.$i.');"></button> </div> </div>'; } $str_cod = $str_cod.' </div> </div>'; // записываем получившийся код $this->setProperty("StreamingCodeScene",$str_cod); $str_cod_css = "<style>".$this->getProperty("menuCSS")."</style>"; $str_cod_js = "<script type='text/javascript'>".$this->getProperty("JS")."</script>"; $str_cod = $str_cod_css.$str_cod_js.$str_cod; $this->setProperty("StreamingCodeMenu",$str_cod);
// МЕТОД delete $todo = $this->getProperty("todo"); $dt = $params["task"]; // получаем номер строки на удаление $td = explode("|", $todo); // Считываем всё в массив for($i = 0; $i < sizeof($td); $i++) { if($i == $dt) { $sayTodo = gg("Sets.sayTodo"); if ($sayTodo) { sayReply ("Из списка дел удалена задача: ".mb_substr($td[$i], 1),($sayTodo-2)); } unset($td[$i]); } } $todo = implode("|", $td); $this->setProperty("todo", $todo); // выполним подготовку для отображения // callMethod("TodoList.view");
// МЕТОД check $todo = $this->getProperty("todo"); // установим внутреннюю кодировку символов mb_internal_encoding("UTF-8"); $td = explode("|", $todo); if (isset($params["task"])) { $ct = $params["task"]; for($i = 0; ($i < sizeof($td)); $i++) { // выделим и сохраним первый символ $check = mb_substr($td[$i], 0, 1); // обрежем строку, не будем отображать первый символ + или - $task = mb_substr($td[$i], 1); // если совпадает номер строки if ($i == $ct) { // инвентируем check $check = ($check == "+") ? "-" : "+"; $tcheck = ($check == "+") ? "выполненно" : "не выполнено"; $sayTodo = gg("Sets.sayTodo"); if ($sayTodo) { sayReply ("Задача: ".$task." - отмечена как ".$tcheck,($sayTodo-2)); } } $td[$i] = $check.$task; } $todo = implode("|", $td); $this->setProperty("todo", $todo); } // выполним подготовку для отображения // callMethod("TodoList.view");
Объекты класса:
// ****************************************************************** // * TO DO app - by Vovix - 30.11.2015 г. - v 3.1 * // ****************************************************************** // создадим класс и объекты addClass('ToDo'); addClassObject('ToDo','TodoList'); addClassProperty('ToDo','StreamingCodeMenu'); // HTML для меню addClassProperty('ToDo','StreamingCodeScene'); // HTML для сцен addClassProperty('ToDo','menuCSS'); // CSS для меню addClassProperty('ToDo','sceneCSS'); // CSS для сцены addClassProperty('ToDo','JS'); // общий код javascript addClassProperty('ToDo','todo'); // сам лист to do // $this->setProperty('todo', '- to do list by Vovix -'); $menuCSS=' @import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"); #item194 { /* здесь item194 - это номер ID пункта меню в котором он размещен */ padding: 0; } #list { position: relative; /* width: calc(100% + 40px); */ /* margin: 0 -20px 0 -20px; */ width: 100%; margin: 0; } #list .new { width: 100%; height: 50px; padding: 0; margin: 0; } #list .new #newtask { float: left; width: calc(100% - 76px); height: 50px; padding: 0; margin: 0; background: #333333; text-indent: 8px; } #list .new input { font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; font-size: 14px; color: #FFF; text-align: justify; line-height: normal; outline: 0; border: 0; border-radius: 0px; text-shadow: none; } #list .new #newtask::-webkit-input-placeholder { color: rgba(255, 255, 255, 0.5); } #list .new button { cursor: pointer; float: right; width: 76px; height: 50px; padding: 0; outline: 0; border: 0; border-radius: 0px; margin: -9px 0 0 0; background: #111111; font-size: 24px; color: #FFF; } #list .list .item { clear: both; width: 100%; height: 38px; margin: 0; } #list .list .item span { cursor: default; float: left; width: calc(100% - 76px); height: 20px; padding: 9px 0 0 0; margin: 0; outline: 0; border: 0; background: transparent; text-indent: 8px; font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; font-size: 14px; color: #FFF; text-align: justify; text-shadow: none; } #list .list .item span.checked { opacity: .5; text-decoration: line-through; } #list .list .item .rightblock { float: right; width: 76px; height: 38px; padding: 0; margin: 0; } #list .list .item .rightblock button { cursor: pointer; float: left; width: 38px; height: 38px; padding: 0px; margin: 0; outline: 0; border: 0; border-radius: 0px; background: rgba(0,0,0,0.1); font-size: 20px; color: #FFF; } '; $this->setProperty('menuCSS', $menuCSS); $sceneCSS=' #list { position: relative; width: 100%; max-height: 528px; overflow: auto; margin: 0; } #list .new #newtask { float: left; width: calc(100% - 100px); height: 100px; padding: 0; margin: 0; outline: 0; border: 0; background: #333333; line-height: 50px; text-indent: 25px; } #list .new input { font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; font-size: 28px; color: #FFF; text-align: justify; line-height: normal; outline: 0; border: 0; border-radius: 0px; text-shadow: 0px; } #list .new #newtask::-webkit-input-placeholder { color: rgba(255, 255, 255, 0.5); } #list .new button { cursor: pointer; float: right; width: 100px; height: 100px; padding: 0; margin: 0; outline: 0; border: 0; border-radius: 0px; background: #111111; font-size: 84px; color: #FFF; } #list .list .item { clear: both; width: 100%; height: 50px; margin: 0; padding: 5px 0 0 0; } #list .list .item span { cursor: default; float: left; width: calc(100% - 150px); height: 50px; padding: 0; margin: 0; outline: 0; border: 0; background: transparent; text-indent: 25px; font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif; font-size: 28px; color: #FFF; text-align: justify; line-height: normal; } #list .list .item span.checked { opacity: .5; text-decoration: line-through; } #list .list .item .rightblock { float: right; padding: 0; margin: -2px 0 0 0; } #list .list .item button{ cursor: pointer; float: left; width: 50px; height: 50px; padding: 0; margin: 0; outline: 0; border: 0; box-shadow: 0 0 3px rgba(0,0,0,0.2); background: rgba(0,0,0,0.1); font-size: 32px; color: #FFF; } '; $this->setProperty('sceneCSS', $sceneCSS); $JS=' function btnRunClicked() { var newtask = $("#newtask").val(), ni = $("div.item").length + 1; $("#newtask").val(""); if (newtask) { var task1 = String(newtask); var codItem1 = \'<div class="item" id="taskbox_\' + ni + \'" style ="background: hsl(\' + (190+ni*6) + \',73%,50%);">\'; var codItem2 = \'<span id="task_\' + ni + \'">\' + task1 + \'</span>\'; var codItem3 = \'<div class="rightblock"><button id="check_\' + ni + \'" class="check fa fa-check ui-btn ui-shadow ui-corner-all" onClick="checkClicked(\' + ni +\');"></button>\'; var codItem4 = \'<button id="delete_\' + ni + \'" class="delete fa fa-times ui-btn ui-shadow ui-corner-all" onClick="deleteClicked(\' + ni + \');"></button></div></div>\'; $.get( "/objects/", { object:"TodoList", op:"m", m:"new", task:newtask } ); setTimeout(function() { $.get( "/objects/", { object:"TodoList", op:"m", m:"view" } ) }, 100); $(codItem1 + codItem2 + codItem3 + codItem4).appendTo("div.list"); return false; } } function checkClicked(ctask) { if (ctask) { $.get( "/objects/", { object:"TodoList", op:"m",m:"check", task:ctask } ); $("#task_"+ctask).toggleClass("checked"); setTimeout(function() { $.get( "/objects/", { object:"TodoList", op:"m", m:"view" } ) }, 100); return false; } } function deleteClicked(dtask) { if (dtask) { $.get( "/objects/", { object:"TodoList", op:"m", m:"delete", task:dtask } ); $("#taskbox_"+dtask).remove(); setTimeout(function() { $.get( "/objects/", { object:"TodoList", op:"m", m:"view" } ) }, 100); return false; } } '; $this->setProperty('JS', $JS); $view=' // МЕТОД view - подготовка кода для отображения $todo = $this->getProperty("todo"); // установим внутреннюю кодировку символов mb_internal_encoding("UTF-8"); $td = explode("|", $todo); $str_cod = \'<div id="list"> <div class="new"> <input id="newtask" placeholder="New Item" type="text"> <button onClick="btnRunClicked();" class="fa fa-plus"></button> </div> <div class="list">\'; for($i = 1; $i < sizeof($td); $i++) { // выделим и сохраним первый символ $check = mb_substr($td[$i], 0, 1); // обрежем строку, не будем отображать первый символ + или - $task = mb_substr($td[$i], 1); // начинаем формировать код hsl(196,\'.(73-24*(($i-1)%2)).\'%,50%) $str_cod = $str_cod.\' <div class="item" id="taskbox_\'.$i.\'" style ="background: hsl(\'.(190+$i*6).\',73%,50%);"> <span id="task_\'.$i.\'"\'; // если певый символ "+" то значит задание "выполнено" if ($check == "+") { $str_cod = $str_cod.\' class="checked"\'; } $str_cod = $str_cod.\'>\'.$task.\'</span>\'; $str_cod = $str_cod.\' <div class="rightblock"> <button id="check_\'.$i.\'" class="check fa fa-check" onClick="checkClicked(\'.$i.\');"></button> <button id="delete_\'.$i.\'" class="delete fa fa-times" onClick="deleteClicked(\'.$i.\');"></button> </div> </div>\'; } $str_cod = $str_cod.\' </div> </div>\'; // записываем получившийся код $this->setProperty("StreamingCodeScene",$str_cod); $str_cod_css = "<style>".$this->getProperty("menuCSS")."</style>"; $str_cod_js = "<script type=\'text/javascript\'>".$this->getProperty("JS")."</script>"; $str_cod = $str_cod_css.$str_cod_js.$str_cod; $this->setProperty("StreamingCodeMenu",$str_cod); '; addClassMethod('ToDo', 'view', $view); $check=' // МЕТОД check $todo = $this->getProperty("todo"); // установим внутреннюю кодировку символов mb_internal_encoding("UTF-8"); $td = explode("|", $todo); if (isset($params["task"])) { $ct = $params["task"]; for($i = 0; ($i < sizeof($td)); $i++) { // выделим и сохраним первый символ $check = mb_substr($td[$i], 0, 1); // обрежем строку, не будем отображать первый символ + или - $task = mb_substr($td[$i], 1); // если совпадает номер строки if ($i == $ct) { // инвентируем check $check = ($check == "+") ? "-" : "+"; $tcheck = ($check == "+") ? ""выполненно"" : ""не выполнено""; $sayTodo = gg("Sets.sayTodo"); if ($sayTodo) { say ("Todo задача: "".$task."" - отмечена как ".$tcheck,($sayTodo-2)); } } $td[$i] = $check.$task; } $todo = implode("|", $td); $this->setProperty("todo", $todo); } // выполним подготовку для отображения // callMethod("TodoList.view"); '; addClassMethod('ToDo', 'check', $check); $delete = ' // МЕТОД delete $todo = $this->getProperty("todo"); $dt = $params["task"]; // получаем номер строки на удаление $td = explode("|", $todo); // Считываем всё в массив for($i = 0; $i < sizeof($td); $i++) { if($i == $dt) { $sayTodo = gg("Sets.sayTodo"); if ($sayTodo) { say ("Из листа todo удалена задача: "".mb_substr($td[$i], 1).""",($sayTodo-2)); } unset($td[$i]); } } $todo = implode("|", $td); $this->setProperty("todo", $todo); // выполним подготовку для отображения // callMethod("TodoList.view"); '; addClassMethod('ToDo', 'delete', $delete); $new = ' // МЕТОД new if (isset($params["task"])) { $todo = $this->getProperty("todo"); $mytask = "-".$params["task"]; // строка задачи $sayTodo = gg("Sets.sayTodo"); if ($sayTodo) { say ("В лист todo добавлена задача: "".$params["task"].""",($sayTodo-2)); } $todo = $todo."|".$mytask; // добавляем с разделителем $this->setProperty("todo", $todo); } '; addClassMethod('ToDo', 'new', $new); callMethod("TodoList.view");
Свойства класса:
Методы класса:
Объекты класса:
brLinkCommand('TVLG42_on\off');
Методы класса:
Объекты класса:
if ($params['serial']=='' && $params['devname']!='') { $params['serial']=$params['devname']; } $device=SQLSelectOne("SELECT * FROM usbdevices WHERE SERIAL LIKE '".$params['serial']."'"); if (!$device['ID']) { // new device connected //say("Подключено новое устройство",1); $device=array(); $device['SERIAL']=$params['serial']; $device['TITLE']='устройство '.$params['devname']; $device['FIRST_FOUND']=date('Y-m-d H:i:s'); $device['LAST_FOUND']=date('Y-m-d H:i:s'); $device['LOG'].=$device['FIRST_FOUND'].' подключено (впервые)'."\n"; $device['ID']=SQLInsert('usbdevices',$device); } else { // device already in our database //say("Подключено ".$device['TITLE'],1); if ($device['USER_ID']) { $user=SQLSelectOne("SELECT * FROM users WHERE ID='".$device['USER_ID']."'"); if ($user['ID']) { //$user['NAME']; // теперь мы знаем имя пользователя, связанного с этим устройством } } $device['LAST_FOUND']=date('Y-m-d H:i:s'); $device['LOG']=$device['LAST_FOUND'].' подключено'."\n".$device['LOG']; SQLUpdate('usbdevices',$device); if ($device['SCRIPT_ID']!='') { runScript($device['SCRIPT_ID'],$params); } elseif ($device['SCRIPT']!='') { eval($device['SCRIPT']); } }
Свойства класса:
Методы класса:
//$params["LOCATION_OBJECT"], $params["LOCATION"]
//$params["LOCATION_OBJECT"], $params["LOCATION"]
Объекты класса:
Иркутск, Россия
На форуме: pash4uga
© 2023 - Site Built By SergeJey | Реквизиты: Курицын С. С. ИНН 762001394609 | Контакты | Публичный договор
SmartLiving