Свойства класса:
Методы класса:
if (getGlobal('AlarmOne.AlarmOn') || getGlobal('AlarmWeekDay.AlarmOn') || getGlobal('AlarmWeekEnd.AlarmOn') == 1) {
sg('AlarmGlobal.AlarmOn',1);
sg('AlarmGlobal.AlarmValue','<font color=lime>Вкл</font>');
} else {
sg('AlarmGlobal.AlarmOn',0);
sg('AlarmGlobal.AlarmValue','<font color=red>Выкл</font>');
}Объекты класса:
CallMethod('AlarmGlobal.AlarmRun');
say(gg('AlarmOne.AlarmNote'));//say('Пора вставать! ',1);
//if (gg('AlarmGlobal.weather') == 'Да') {
// say('Температура в доме '.round(gg('TempSensor01.Value')).'.');
// say('Температура за окном '.gg('ow_fact.roundtemp').'. '.gg('ow_fact.weather_type'),1);
// say('Прогноз на сегодня '.gg('ow_day0.roundtemp').'. '.gg('ow_day0.weather_type'),1);
//}
say('Пора вставать! ',3);
sleep(3);
if (gg('AlarmGlobal.for_run') == '1') {
say('Температура за балконом '.round(gg('TempSensorUlica.value')).' градусов.',3);
sleep(3);
say('На улице '.gg('ow_fact.temperature').' градусов, '.gg('ow_fact.weather_type').', ветер '.gg('ow_fact.wind_speed').' метров в секунду, влажность '.gg('ow_fact.humidity').' процентов.',3);
} elseif (gg('AlarmGlobal.for_run') == '2') {
sleep(10);
playSound('bydilhik');
} elseif (gg('AlarmGlobal.for_run') == '3') {
say('Включаю радио!',3);
sleep(10);
cm('RadioSetting.Control', array('sta'=>'2', 'cmd'=>'play', 'vol'=>60));
}
//callMethod('Switch4.turnon');CallMethod('AlarmGlobal.AlarmRun');
//playSound('slipknot');CallMethod('AlarmGlobal.AlarmRun');/* begin injection of {Alarmclock} */
//callMethod('Switch4.turnon');
say("включаю свет 4", 2);
/* end injection of {Alarmclock} *//* begin injection of {Alarmclock} */
//callMethod('Switch4.turnoff');
say("выключаю свет 4", 2);
/* end injection of {Alarmclock} */Свойства класса:
Методы класса:
$this->setProperty('volumeLevel',$params['VALUE']);
if (IsWindowsOs()) {
$volume=round(65535*$params['VALUE']/100);
safe_exec('..\\apps\\nircmd\\nircmdc setsysvolume '.$volume);
} else {
safe_exec('amixer sset PCM,0 '.$params['VALUE'].'%');
}
say("Изменилась громкость до ".$params['VALUE']." процентов");Объекты класса:
$command=$params['command'];
$short_command='';
$dt=recognizeTime($command,$short_command);
if (preg_match('/скажи сколько врем/uis',$command)) {
if ($dt>0) {
addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt);
say('Задача принята',2);
return;
}
global $voicemode;
$voicemode='on';
say('Сейчас '.timeNow(),2);
} elseif (preg_match('/сколько время/uis',$command)) {
if ($dt>0) {
addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt);
say('Задача принята');
echo $short_command;
return;
}
say('Сейчас '.timeNow());
} elseif (preg_match('/повтори (.+)/uis',$command,$m) || preg_match('/скажи (.+)/uis',$command,$m)) {
if ($dt>0) {
addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt);
say('Задача принята',2);
return;
}
global $voicemode;
$voicemode='on';
say($m[1],2);
} else {
say('Неизвестная команда...',2);
}say("Отключено питание");Свойства класса:
Объекты класса:
Свойства класса:
Методы класса:
//$params["USER_OBJECT"]
//$params["USER_OBJECT"]
Объекты класса:
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/processHomebridgeMQTT.inc.php');
Объекты класса:
Объекты класса:
Свойства класса:
Методы класса:
$this->setProperty("updated",time());
$this->setProperty("updatedTime",date('H:i'));
if ($this->getProperty('active')) {
say(processTitle($this->getProperty('title'))." ".LANG_GENERAL_ACTIVATED.".");
} else {
say(processTitle($this->getProperty('title'))." ".LANG_GENERAL_DEACTIVATED.".");
}$this->setProperty('active',1);$this->setProperty('active',0);Объекты класса:
setGlobal('minMsgLevel','3');
getURL('http://192.168.0.110/matrixbr?mode=2');
getURL('http://192.168.0.111/matrixbr?mode=2');
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/nightmode_activate.php');
/* end injection of {SDevices} */setGlobal('minMsgLevel','1');
getURL('http://192.168.0.110/matrixbr?mode=10');
getURL('http://192.168.0.111/matrixbr?mode=15');
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/nightmode_deactivate.php');
/* end injection of {SDevices} */$objects=getObjectsByProperty('groupSunrise','=','1');
if (is_array($objects)) {
foreach($objects as $obj) {
callMethod($obj.'.turnOff');
}
}
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/darknessmode_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/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} */Методы класса:
Объекты класса:
/* 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} */Свойства класса:
Методы класса:
$latestActivity=$this->getProperty('LatestActivity');
$this->setProperty('LatestActivity',time());
$this->setProperty('LatestActivityTime',date('H:i'));
$this->setProperty('SomebodyHere',1);
$ot=$this->object_title;
if ($this->getProperty("IdleDelay")) {
$activity_timeout=(int)$this->getProperty("IdleDelay");
} else {
$activity_timeout=10*60;
}
clearTimeOut($ot."_activity_timeout");
setTimeOut($ot."_activity_timeout","callMethod('".$ot.".onIdle');",$activity_timeout);
$this->callMethod("updateActivityStatus");
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/Rooms_onActivity.php');
/* end injection of {SDevices} */$this->setProperty('SomebodyHere',0);
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/Rooms_onIdle.php');
/* end injection of {SDevices} */$rooms=getObjectsByClass("Rooms");
$total=count($rooms);
for($i=0;$i<$total;$i++) {
$rooms[$i]['room']=getGlobal($rooms[$i]['TITLE'].'.Title');
if (!$rooms[$i]['room']) {
$rooms[$i]['room']=$rooms[$i]['TITLE'];
}
$rooms[$i]['active']=getGlobal($rooms[$i]['TITLE'].'.SomebodyHere');
$rooms[$i]['time']=getGlobal($rooms[$i]['TITLE'].'.LatestActivity');
$rooms[$i]['diff']=time()-$rooms[$i]['time'];
}
function cmp($a, $b)
{
if ($a['diff'] == $b['diff']) {
return 0;
}
return ($a['diff'] < $b['diff']) ? -1 : 1;
}
usort($rooms,"cmp");
if (!$rooms[0]['active']) {
$somebodyHomeText="Никого нет дома. Были в ".date('H:i',$rooms[0]['time'])." (".$rooms[0]['room'].")";
} else {
$res_rooms=array();
for($i=0;$i<$total;$i++) {
if ($rooms[$i]['active']) {
$res_rooms[]=$rooms[$i]['room'];
}
}
$somebodyHomeText="Кто-то дома: ".implode(", ",$res_rooms);
}
setGlobal('somebodyHomeText',$somebodyHomeText);
//echo "Updated";
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/Rooms_updateActivityStatus.php');
/* end injection of {SDevices} */Объекты класса:
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SDevices_statusUpdated.php');
require(DIR_MODULES.'devices/SDevices_logicAction.php');
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SDevices_setUpdatedText.php');
/* end injection of {SDevices} */Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SButtons_pressed.php');
Свойства класса:
Методы класса:
/* 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} *//* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SCameras_takeSeries.php');
/* end injection of {SDevices} */Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SControllers_turnOn.php');
require(DIR_MODULES.'devices/SControllers_turnOff.php');
require(DIR_MODULES.'devices/SControllers_switch.php');
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SDimmers_levelUpdated.php');
require(DIR_MODULES.'devices/SDimmers_turnOn.php');
require(DIR_MODULES.'devices/SDimmers_turnOff.php');
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SDimmers_levelWorkUpdated.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/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_switch.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/SRGB_colorUpdated.php');
/* end injection of {SDevices} *//* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SRGB_setColor.php');
/* end injection of {SDevices} *//* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SRGB_turnOn.php');
/* end injection of {SDevices} */
$color=$this->getProperty("color");
$color=preg_replace('/^#/','',$color);
$color=hexdec($color);
$red=round(($color >> 16 & 0xFF)*4.015);
$green=round(($color >> 8 & 0xFF)*4.015);
$blue=round(($color & 0xFF)*4.015);
$cmdUrl = "http://".$this->getProperty("wanip")."/?r=".$red."&g=".$green."&b=".$blue;
//say($cmdUrl);
getURL($cmdUrl,0);/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SRGB_turnOff.php');
/* end injection of {SDevices} */
$color=$this->getProperty("color");
$color=preg_replace('/^#/','',$color);
$color=hexdec($color);
$red=round(($color >> 16 & 0xFF)*4.015);
$green=round(($color >> 8 & 0xFF)*4.015);
$blue=round(($color & 0xFF)*4.015);
$cmdUrl = "http://".$this->getProperty("wanip")."/?r=".$red."&g=".$green."&b=".$blue;
//say($cmdUrl);
getURL($cmdUrl,0);Объекты класса:
Свойства класса:
Методы класса:
/* 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/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_turnOn.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/SCounters_valueUpdated.php');
/* end injection of {SDevices} *//* 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/SLeak_statusUpdated.php');
/* end injection of {SDevices} */Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SMotions_motionDetected.php');
Объекты класса:
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SOpenClose_statusUpdated.php');
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SSensors_valueUpdated.php');
Свойства класса:
Объекты класса:
Свойства класса:
Свойства класса:
Методы класса:
/* 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/SSmoke_statusUpdated.php');
/* end injection of {SDevices} */Свойства класса:
Методы класса:
Объекты класса:
$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') {
say(LANG_GENERAL_COMMUNICATION_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title.".");
say(implode(". ",$details));
} else {
say(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 ((int)gg('ThisComputer.SpaceProblems')>0) {
$red_state=1;
$details[]=LANG_GENERAL_RUNNING_OUT_SPACE." (".gg('ThisComputer.SpaceProblems_Details').').';
}
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/system_checkstate.php');
/* end injection of {SDevices} */
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') {
say(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title.".");
say(implode(". ",$details),2);
} else {
say(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title,2);
}
$this->callMethod('stateChanged');
}
$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') {
say(LANG_GENERAL_SECURITY_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title.".");
say(implode(". ",$details));
} else {
say(LANG_GENERAL_SECURITY_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title);
}
$this->callMethod('stateChanged');
}Свойства класса:
Методы класса:
Объекты класса:
$h=(int)date('G',time());
$m=date('i',time());
if (isWeekDay()) {
}
sg('ThisComputer.DayOfMonthNum',date('d'));
sg('ThisComputer.DayOfWeekTXT',date('l'));
sg('ThisComputer.MonthTXTalt',date('F'));
if (timeBetween(getGlobal('NightModeEnd'),getGlobal('NightModeStart')) && getGlobal('clockChimeEnabled')) {
if ($m=="00") {
say(timeNow(),1);
}
}
setGlobal('timeNow',date('H:i'));
$homeStatus=date('H:i');
if (getGlobal('NobodyHomeMode.active')) {
$homeStatus.=' '.LANG_DEVICES_ROOMS_NOBODYHOME;
} else {
$homeStatus.=' '.LANG_DEVICES_ROOMS_SOMEBODYHOME;
}
$homeStatus.=' '.getGlobal('Security.stateDetails');
$homeStatus.=' '.getGlobal('System.stateDetails');
$homeStatus.=' '.getGlobal('Communication.stateDetails');
setGlobal('HomeStatus',$homeStatus);
if (timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')=="1") {
setGlobal("isDark",0);
callMethod('DarknessMode.deactivate');
} elseif (!timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('isDark')!="1") {
setGlobal("isDark",1);
callMethod('DarknessMode.activate');
}
if (timeIs("23:30") && (gg("EconomMode.active")!="1") && (gg("NobodyHomeMode.active")=="1")) {
callMethod('EconomMode.activate');
}
if (timeIs(gg('NightModeStart'))) {
callMethod('NightMode.activate');
} elseif (timeIs(gg('NightModeEnd'))) {
callMethod('NightMode.deactivate');
}
if (timeIs("03:00")) {
runScript("systemMaintenance");
}
if (gg('ThisComputer.AlarmStatus') && timeIs(gg('ThisComputer.AlarmTime'))) {
runScript('MorningAlarm');
}
runScript("Weather_max7219");
runScript("sensor_BMP180");
//runScript("sensor_DHT22");
$paths=array('/var/log/*.1','/var/log/*.2',
'/var/log/*.1.*',
'/var/log/*.2.*',
'/var/log/*.3.*',
'/var/log/*.4.*',
'/var/log/*.5.*',
'/var/log/*.6.*',
'/var/log/*.7.*'
);
foreach($paths as $p) {
safe_exec('rm '.$p);
}
runScript('Hourly');
runScript('filesClearOld');Свойства класса:
Методы класса:
//$params["LOCATION_OBJECT"], $params["LOCATION"]
//$params["LOCATION_OBJECT"], $params["LOCATION"]
$charg=$this->getProperty('Charging');
$level=$this->getProperty('BattLevel');
$this->setProperty('battPic','fa fa-battery-empty'); //здесь продумать нужно
if ($charg==1) {
$this->setProperty("battPic",'fa fa-plug');
} else {
if ($level > 88 && $level <= 100) {
$this->setProperty("battPic",'fa fa-battery-full');
} else if ($level > 62 && $level <= 88) {
$this->setProperty("battPic",'fa fa-battery-three-quarters');
} else if ($level > 37 && $level <= 62) {
$this->setProperty("battPic",'fa fa-battery-half');
} else if ($level > 12 && $level <= 37) {
$this->setProperty("battPic",'fa fa-battery-quarter');
} else if ($level < 12) {
$this->setProperty("battPic",'fa fa-battery-empty');
}
} $Coordinates=$this->getProperty("Coordinates");
$lat=substr($Coordinates,0,strpos($Coordinates,","));
$lon=substr($Coordinates,strpos($Coordinates,",")+1);
$this->setProperty('latitude',$lat);
$this->setProperty('longitude',$lon);
if($this->getProperty('HomeDistance')>100){
$data_file="http://geocode-maps.yandex.ru/1.x/?geocode=E".$lon.",N".$lat; // адрес xml файла
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
$res=$xml->{'GeoObjectCollection'}->{'featureMember'}[0]->{'GeoObject'}->{'metaDataProperty'}->{'GeocoderMetaData'}->{'AddressDetails'}->{'Country'}->{'AddressLine'};
$this->setProperty("Location",$res);
}else{
$this->setProperty("Location",'Дом');
$this->callMethod('gotHome');
} @include_once(ROOT . 'languages/devices_' . SETTINGS_SITE_LANGUAGE . '.php');
@include_once(ROOT . 'languages/devices_default' . '.php');
$ot = $this->object_title;
$updatedTime = $this->getProperty('CoordinatesUpdatedTimestamp');
$passed = time() - $updatedTime;
$newTimeout=0;
if ($passed<10) {
$newTimeout = 10;
$this->setProperty('updatedText',LANG_DEVICES_PASSED_NOW);
} elseif ($passed<60) {
$newTimeout = 10;
$this->setProperty('updatedText',$passed.' '.LANG_DEVICES_PASSED_SECONDS_AGO);
} elseif ($passed<60*60) {
$newTimeout = 60;
$this->setProperty('updatedText',round($passed/60).' '.LANG_DEVICES_PASSED_MINUTES_AGO);
/*
} elseif ($passed<12*60*60) {
$newTimeout = 60 * 60;
$this->setProperty('updatedText',round($passed/60/60).' '.LANG_DEVICES_PASSED_HOURS_AGO);
*/
} elseif ($passed<20*60*60) {
//just time
$newTimeout = 60 * 60;
$this->setProperty('updatedText',date('H:i',$updatedTime));
} else {
//time and date
$this->setProperty('updatedText',date('Y-m-d H:i',$updatedTime));//
}
if ($newTimeout > 0) {
setTimeOut($ot.'_updateTime','callMethod("'.$ot.'.setUpdatedText");',$newTimeout);
} // Установка флага и проверка на $status
$status = $this->getProperty("isHome");
if (!$status) {
$this->setProperty("isHome", 1);
}//Сброс присутствия
$ot=$this->object_title;
$alive_timeout=5*60;
setTimeOut($ot.'_isHome',"sg('".$ot.".isHome',0);",$alive_timeout);
$last=$this->getProperty('isHomeTime');
$this->setProperty('isHomeTime',time());
$this->setProperty('isHomeUpdate',date('Y-m-d H:i',time()));
//Установка флага и проверка на $status
$status=$this->getProperty('isHome');
if (!$status) {
$this->setProperty('isHome',1);
}
//Приветствовать
$GMailUnread=$this->getProperty('GMailUnread');
if ($this->getProperty('Greeting') == 1) {
if (time()-$last>=(3*60*60)) {
say('Здравствуйте '.$this->getProperty('fullName').'!');
if ($GMailUnread>0) {
say('У Вас '.myMorph($GMailUnread,' непрочитанное письмо!',' непрочитанных письма!',' непрочитанных писем!'));
}
}
}
//Сброс "nobodyHome", "простые устройства"
//ClearTimeOut('nobodyHome');$gps=$this->getProperty('atHome');
$wifi=$this->getProperty('isHome');
$WiFi = $this->getProperty('WiFiHome');
$threeG = $this->getProperty("3G");
//registerEvent('presence',$this->name,2);
if (!$gps && !$wifi) {
$this->setProperty('presence','0');
$this->setProperty('NameColor','orange');
} else {
$this->setProperty('presence','1');
$this->setProperty('NameColor','green');
}
if ($WiFi == 1) {
$this->setProperty("NetworkPic", 'wifi');
} elseif ($threeG == 1) {
$this->setProperty("NetworkPic", 'podcast');
} else {
$this->setProperty("NetworkPic", '');
}Объекты класса:
Свойства класса:
Объекты класса:
, Украина
© 2025 SJLab | Реквизиты: Курицын С. С. ИНН 762001394609 | Контакты | Публичный договор
SmartLiving