Свойства класса:
Методы класса:
$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("Отключено питание");Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/processHomebridgeMQTT.inc.php');
Объекты класса:
Свойства класса:
Методы класса:
$level=$this->getProperty("Level");
if ($level>0) {
$this->callMethod('setLevel',array('level'=>$level));
} else {
$this->callMethod('turnOff');
}/*
$colors=array(
'#ff0000',
'#00ff00',
'#0000ff');
$color=$colors[rand(0,count($colors)-1)];
*/
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color = '#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
$this->callMethod('setColor',array('color'=>$color));$this->setProperty('status',1);
$this->setProperty('Mode','C');
if ($params['color']) {
$this->setProperty('Color',$params['color']);
} else {
$params['color']=$this->getProperty('Color');
}
$this->callMethod('sendCommand',array('command'=>'color','value'=>$params['color']));
if ($params['level']>0) {
$this->setProperty('status',1);
} else {
$this->setProperty('status',0);
}
$this->setProperty('Level',$params['level']);
$this->callMethod('sendCommand',array('command'=>'level','value'=>$params['level']));$this->setProperty('status',1);
$this->setProperty('Mode','W');
$this->callMethod('sendCommand',array('command'=>'white'));$this->setProperty('status',0);
$this->callMethod('sendCommand',array('command'=>'off'));$this->setProperty('status',1);
$this->callMethod('sendCommand',array('command'=>'on'));$status=$this->getProperty("status");
if ($status) {
$this->callMethod('turnOn');
}
else {
$this->callMethod('turnOff');
}$this->setProperty('updated',time());
$this->setProperty('updatedTime',date('H:i'));
include_once(ROOT.'lib/hardware/milight.php');
if (is_array($params)) {
$command=$params['command'];
$value=$params['value'];
} else {
$command=$params;
}
$host=$this->getProperty('Host');
$type=(int)$this->getProperty('LampType');
$zone=(int)$this->getProperty('Zone');
$milight = new Milight($host);
$commands='';
if ($type==0) {
$milight->setWhiteActiveGroup($zone);
if ($command=='leveldown') {
$milight->command('whiteBrightnessDown');
}
if ($command=='levelup') {
$milight->command('whiteBrightnessUp');
}
if ($command=='level' && $value>=90) {
$command='levelmax';
}
if ($command=='level' && $value<=90) {
$command='levelmin';
}
if ($command=='levelmax') {
$milight->command('whiteGroup'.$zone.'BrightnessMax');
}
if ($command=='levelmin') {
$milight->command('whiteGroup'.$zone.'BrightnessMin');
}
if ($command=='nightmode') {
$milight->command('whiteGroup'.$zone.'NightMode');
}
if ($zone==1) {
if ($command=='on') {
$milight->whiteGroup1On();
}
if ($command=='off') {
$milight->whiteGroup1Off();
}
}
if ($zone==2) {
if ($command=='on') {
$milight->whiteGroup2On();
}
if ($command=='off') {
$milight->whiteGroup2Off();
}
}
if ($zone==3) {
if ($command=='on') {
$milight->whiteGroup3On();
}
if ($command=='off') {
$milight->whiteGroup3Off();
}
}
if ($zone==4) {
if ($command=='on') {
$milight->whiteGroup4On();
}
if ($command=='off') {
$milight->whiteGroup4Off();
}
}
}
if ($type==1) {
if ($command=='disco') {
$milight->setRgbwActiveGroup($zone);
$milight->rgbwSendOnToActiveGroup();
$milight->command('rgbwDiscoMode');
}
if ($command=='discofaster') {
$milight->setRgbwActiveGroup($zone);
$milight->rgbwSendOnToActiveGroup();
$milight->command('rgbwDiscoFaster');
}
if ($command=='discoslower') {
$milight->setRgbwActiveGroup($zone);
$milight->rgbwSendOnToActiveGroup();
$milight->command('rgbwDiscoSlower');
}
if ($command=='level') {
$milight->setRgbwActiveGroup($zone);
$milight->rgbwBrightnessPercent($value);
}
if ($command=='color') {
$milight->setRgbwActiveGroup($zone);
$milight->rgbwSetColorHexString($value);
}
if ($zone==1) {
if ($command=='on') {
$milight->rgbwGroup1On();
}
if ($command=='off') {
$milight->rgbwGroup1Off();
}
if ($command=='white') {
$milight->rgbwGroup1SetToWhite();
}
}
if ($zone==2) {
if ($command=='on') {
$milight->rgbwGroup2On();
}
if ($command=='off') {
$milight->rgbwGroup2Off();
}
if ($command=='white') {
$milight->rgbwGroup2SetToWhite();
}
}
if ($zone==3) {
if ($command=='on') {
$milight->rgbwGroup3On();
}
if ($command=='off') {
$milight->rgbwGroup3Off();
}
if ($command=='white') {
$milight->rgbwGroup3SetToWhite();
}
}
if ($zone==4) {
if ($command=='on') {
$milight->rgbwGroup4On();
}
if ($command=='off') {
$milight->rgbwGroup4Off();
}
if ($command=='white') {
$milight->rgbwGroup4SetToWhite();
}
}
}
sleep(1);$this->setProperty('status',1);
$this->callMethod('sendCommand',array('command'=>'discoslower'));$this->setProperty('status',1);
$this->callMethod('sendCommand',array('command'=>'disco'));$this->setProperty('status',1);
$this->callMethod('sendCommand',array('command'=>'discofaster'));Объекты класса:
Свойства класса:
Методы класса:
$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SWITCH_ON)]);
$this->setProperty('Status',1);$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SWITCH_OFF)]);
$this->setProperty('Status',0);$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
$brightness = (int)$this->getProperty('Brightness');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SET_BRIGHTNESS,$brightness)]);$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
$color = (int)$this->getProperty('Color');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SET_COLOR,$color)]);
$this->setProperty('Mode','Color');$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SWITCH_ON_WHITE,0)]);
$this->setProperty('Mode','White');$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SWITCH_ON_NIGHT,0)]);
$this->setProperty('Mode','Night');function validate_hex($hex) {
if(preg_match("/^#([0-9a-fA-F]{6})$/", $hex) || preg_match("/^#([0-9a-fA-F]{3})$/", $hex)) {
$hex = substr($hex, 1);
}
if(preg_match("/^([0-9a-fA-F]{6})$/", $hex)) {
return $hex;
}
if(preg_match("/^([0-9a-f]{3})$/", $hex)) {
return substr($hex, 0, 1) . substr($hex, 0, 1) . substr($hex, 1, 1) . substr($hex, 1, 1) . substr($hex, 2, 1) . substr($hex, 2, 1);
}
return "000000";
}
function hex2hsl($hex) {
$hex = validate_hex($hex);
$hex = str_split($hex, 2);
$r = (hexdec($hex[0])) / 255;
$g = (hexdec($hex[1])) / 255;
$b = (hexdec($hex[2])) / 255;
return rgbToHsl($r,$g,$b);
}
function rgbToHsl( $r, $g, $b ) {
$oldR = $r;
$oldG = $g;
$oldB = $b;
$r /= 255;
$g /= 255;
$b /= 255;
$max = max( $r, $g, $b );
$min = min( $r, $g, $b );
$h;
$s;
$l = ( $max + $min ) / 2;
$d = $max - $min;
if( $d == 0 ){
$h = $s = 0; // achromatic
} else {
$s = $d / ( 1 - abs( 2 * $l - 1 ) );
switch( $max ){
case $r:
$h = 60 * fmod( ( ( $g - $b ) / $d ), 6 );
if ($b > $g) {
$h += 360;
}
break;
case $g:
$h = 60 * ( ( $b - $r ) / $d + 2 );
break;
case $b:
$h = 60 * ( ( $r - $g ) / $d + 4 );
break;
}
}
return round( $h, 2 );
}
$this->setProperty('Color',hex2hsl($this->getProperty('ColorHEX')));
$this->CallMethod('SetColor');$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
$disco = (int)$this->getProperty('DiscoProgram');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SET_DISCO_PROGRAM,$disco)]);
$this->setProperty('Mode','Disco');$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
$saturation = (int)$this->getProperty('Saturation');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SET_SATURATION,$saturation)]);$status = (int)$this->getProperty('Status');
if ($status==0) $this->CallMethod('PowerOn');
else $this->CallMethod('PowerOff');$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_DEC_DISCO_SPEED,0)]);$type = (int)$this->getProperty('Type');
$zone = (int)$this->getProperty('Zone');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_INC_DISCO_SPEED,0)]);$type = (int)$this->getProperty('Type');
$temp = (int)$this->getProperty('WhiteTemp');
$brightness = (int)$this->getProperty('Brightness');
include_once(ROOT.'lib/hardware/milight2.php');
$MiLight2 = new MiLight2();
$MiLight2->IP=$this->getProperty('Host');
$MiLight2->sendCmds([$MiLight2->getCmd($type,$zone,$MiLight2::CMD_SET_TEMPERATURE,$temp)]);
$this->setProperty('Mode','White');Объекты класса:
Объекты класса:
Свойства класса:
Методы класса:
$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','2');
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/nightmode_activate.php');
/* end injection of {SDevices} */setGlobal('minMsgLevel','1');
/* 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 {SDevices} */
require(DIR_MODULES.'devices/Rooms_onActivity.php');
/* end injection of {SDevices} *//* begin injection of {SDevices} */
require(DIR_MODULES.'devices/Rooms_onIdle.php');
/* end injection of {SDevices} *//* 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/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} *//* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SRGB_turnOff.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/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');
}$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');, Беларусь
© 2025 SJLab | Реквизиты: Курицын С. С. ИНН 762001394609 | Контакты | Публичный договор
SmartLiving