Свойства класса:
Методы класса:
$volume=round(65535*$params['VALUE']/100); $this->setProperty('volumeLevel',$params['VALUE']); //safe_exec('..\\apps\\nircmd\\nircmdc setsysvolume '.$volume); $volume=exec("amixer -c 0 set Master ". $params['VALUE']. "%"); say("Изменилась громкость до ".$params['VALUE']." процентов");
Объекты класса:
say("УД в работе",2); $objects=getObjectsByClass("SControllers"); foreach($objects as $obj) callMethod($obj['TITLE'].'.syncModeAuto'); runScriptSafe('sun');
$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); say('Задача принята',2); return; } global $voicemode; $voicemode='on'; say('Сейчас '.timeNow(),2); } elseif (preg_match('/сколько время/is',$command)) { if ($dt>0) { addScheduledJob("command".$dt,"processCommand('".$short_command."');",$dt); say('Задача принята'); echo $short_command; return; } say('Сейчас '.timeNow()); } elseif (preg_match('/повтори (.+)/is',$command,$m) || preg_match('/скажи (.+)/is',$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');
Объекты класса:
Свойства класса:
Методы класса:
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; } setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout);
Объекты класса:
SetGlobal('LightHallway.status', $this->getProperty('status'));
if($this->getProperty('status')) { callMethod('LightParking.changedModeAuto', array('VALUE'=>'1')); callMethod('LightOutside.changedModeAuto', array('VALUE'=>'1')); callMethod('LightOutsideRight.changedModeAuto', array('VALUE'=>'1')); } else { callMethod('LightParking.syncModeAuto'); if(gg('LightParking.modeAuto') != 1 && timeOutExists('Parking_activity_timeout') == 0) callMethod('LightParking.turnOff'); callMethod('LightOutside.syncModeAuto'); if(gg('LightOutside.modeAuto') != 1 && timeOutExists('Outside_activity_timeout') == 0) callMethod('LightOutside.turnOff'); callMethod('LightOutsideRight.syncModeAuto'); if(gg('LightOutsideRight.modeAuto') != 1 && timeOutExists('OutsideRight_activity_timeout') == 0) callMethod('LightOutsideRight.turnOff'); }
Свойства класса:
Методы класса:
/*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=24*60*60; } setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout); $status = $this->getProperty("status"); if(!$status) { $this->setProperty('motionDetected',1); setTimeOut($this->object_title.'_detected',"setGlobal('".$this->object_title.".motionDetected',0);",30); $linked_room=$this->getProperty('LinkedRoom'); if ($linked_room!='') { callMethod($linked_room.'.onActivity'); } /* 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(gg('NightMode.active') && gg('DarknessMode.active') && !gg('GuestsMode.active')) callMethod("Toilet.onActivity");
if(gg('NightMode.active') && gg('DarknessMode.active') && !gg('GuestsMode.active')) if(gg('OuterDoor.status')) callMethod("Hallway.onActivity"); else callMethod("Porch.onActivity");
Свойства класса:
Методы класса:
//$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; } setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout); $status = $this->getProperty("status"); if(!$status) { $this->setProperty('motionDetected',1); 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->getProperty('active') != 0) $this->setProperty('active',0);
if($this->getProperty('active') != 1) $this->setProperty('active',1);
$this->setProperty("updated",time()); $this->setProperty("updatedTime",date('H:i')); if ($this->getProperty('active')) { say("Режим ".$this->getProperty('title')." активирован."); } else { say("Режим ".$this->getProperty('title')." деактивирован."); } // Полы в автоматический режим /* $WarmFloors = getObjectsByClass("WarmFloors"); foreach($WarmFloors as $obj) callMethod($obj['TITLE'].'.changedModeAuto', array('VALUE'=>'-1')); */ // Регулируем простые реле $SControllers = getObjectsByClass("SControllers"); foreach($SControllers as $obj) callMethodSafe($obj['TITLE'].'.syncModeAuto');
Объекты класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nightmode_deactivate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nightmode_activate.php'); /* end injection of {SDevices} */
if($this->getProperty('active')) setGlobal('minMsgLevel', 3); else setGlobal('minMsgLevel', 1);
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/nobodyhomemode_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/econommode_deactivate.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/econommode_activate.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
$status=$this->getProperty("status"); if ($status) { $this->callMethod('turnOff'); } else { $this->callMethod('turnOn'); }
$this->setProperty("status", 0); $this->setProperty("ControlColor", "#ff0000"); if($this->getProperty('modeAuto') >= 0) $this->setProperty('modeAuto', 0);
$this->setProperty("updated",time()); $this->setProperty("updatedTime",date('H:i')); if($this->getProperty("status") == 1) $this->setProperty("ControlColor", ""); else $this->setProperty("ControlColor", "#ff0000");
$status=$this->getProperty("status"); if ($status) { $this->callMethod('turnOn'); } else { $this->callMethod('turnOff'); }
if(isset($params['VALUE'])) { $modeAuto = $params['VALUE']; $this->setProperty('modeAuto', $modeAuto); } else $modeAuto = $this->getProperty('modeAuto'); // если параметром устанавливаем свойство иначе берем из объекта if($modeAuto == $params['OLD_VALUE'] && $modeAuto == -1) { // Если повторно авто то переключаем состояние $this->callMethod('switch'); } // Если нужно принудительно включаем/выключаем if($modeAuto == 0 && $this->getProperty('status') == 1) $this->callMethod('turnOff'); elseif($modeAuto == 1 && $this->getProperty('status') == 0) $this->callMethod('turnOn');
$this->setProperty("status", 1); $this->setProperty("ControlColor", ""); if($this->getProperty('modeAuto') >= 0) $this->setProperty('modeAuto', 1);
Методы класса:
// Находим где распологается этот пол $room = str_replace('WarmFloor', '', $this->object_title); // Находим уставку комфортной температуры $tempComfort = getGlobal('tempComfort'); // Если пол в автоматическом режиме if($this->getProperty('modeAuto') == -1) { // Проверяем живой ли датчик температуры if(getGlobal('TempSensor'.$room.'.alive')) { // Узнаем текущую температуру $temp = getGlobal('TempSensor'.$room.'.value'); // Сравниваем и при необходимости переключаем if($temp <= $tempComfort && !$this->getProperty('status')) $this->callMethod('turnOn'); elseif($temp > $tempComfort && $this->getProperty('status')) $this->callMethod('turnOff'); } else // Если датчик температуры недоступен, сообщаем say('Датчик температуры в '.$room.' не доступен'); } // Если пол в детском режиме elseif($this->getProperty('modeAuto') == -2){ // Проверяем живой ли датчик температуры пола if(getGlobal('TempSensorWarmFloor'.$room.'.alive')) { // Узнаем текущую температуру $temp = getGlobal('TempSensorWarmFloor'.$room.'.value'); // Сравниваем и при необходимости переключаем if($temp <= $tempComfort+5 && !$this->getProperty('status')) $this->callMethod('turnOn'); elseif($temp > $tempComfort+5 && $this->getProperty('status')) $this->callMethod('turnOff'); } else // Если датчик температуры недоступен, сообщаем say('Датчик температуры пола в '.$room.' не доступен'); }
Объекты класса:
Свойства класса:
Методы класса:
// управляем светом (выключаем) $ot=$this->object_title; $light=getObject('Light'.$ot); if($light) if($light->getProperty('modeAuto') == -1 && $light->getProperty('status') != 0) $light->callMethod('turnOff'); $this->setProperty('SomebodyHere',0); $this->callMethod("updateActivityStatus");
// управляем светом (включаем) $ot=$this->object_title; $light=getObject('Light'.$ot); if($light) if($light->getProperty('modeAuto') == -1 || $light->getProperty('modeAuto') == 1) $light->callMethod('turnOn'); /* 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_setUpdatedText.php'); /* end injection of {SDevices} */
require(DIR_MODULES.'devices/SDevices_statusUpdated.php');
require(DIR_MODULES.'devices/SDevices_logicAction.php');
Методы класса:
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_takeSnapshot.php'); /* end injection of {SDevices} */
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SCameras_updatePreview.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
if(isset($params['VALUE'])) { $modeAuto = $params['VALUE']; $this->setProperty('modeAuto', $modeAuto); } else $modeAuto = $this->getProperty('modeAuto'); // если параметром устанавливаем свойство иначе берем из объекта if($modeAuto == $params['OLD_VALUE'] && $modeAuto == -1) { // Если повторно авто то переключаем состояние $this->callMethod('switch'); } // Если нужно принудительно включаем/выключаем if($modeAuto == 0 && $this->getProperty('status') == 1) $this->callMethod('turnOff'); elseif($modeAuto == 1 && $this->getProperty('status') == 0) $this->callMethod('turnOn');
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SControllers_turnOff.php'); /* end injection of {SDevices} */ if($this->getProperty('modeAuto') >= 0) $this->setProperty('modeAuto', 0);
require(DIR_MODULES.'devices/SControllers_switch.php');
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SControllers_turnOn.php'); /* end injection of {SDevices} */ if($this->getProperty('modeAuto') >= 0) $this->setProperty('modeAuto', 1);
// Выставляем режим авто(-1) или выкл(0) для света if(getGlobal('DarknessMode.active')) $modeAuto = -1; else $modeAuto = 0; if($this->getProperty('modeAuto') != $modeAuto) $this->callMethodSafe('changedModeAuto', array('VALUE' => $modeAuto));
Свойства класса:
Методы класса:
require(DIR_MODULES.'devices/SDimmers_turnOn.php');
require(DIR_MODULES.'devices/SDimmers_turnOff.php');
require(DIR_MODULES.'devices/SDimmers_levelUpdated.php');
Объекты класса:
if(gg('GuestsMode.active') != 1) if($this->getProperty('status')) if(gg('NightMode.active') = 1) callMethod('LightKitchen.changedModeAuto', array('VALUE'=>'-1')); else callMethod('LightKitchen.changedModeAuto', array('VALUE'=>'1')); else callMethod('LightKitchen.syncModeAuto');
$Users = getObjectsByClass("Users"); foreach($Users as $user) if(gg($user['TITLE'].'.atHome')) $atHome = 1; if(getGlobal('DarknessMode.active') && !getGlobal('EconomMode.active') && $atHome) $modeAuto = 1; elseif(!getGlobal('DarknessMode.active')) $modeAuto = 0; else $modeAuto = -1; $this->callMethod('changedModeAuto', array('VALUE' => $modeAuto));
// Выставляем режим авто(-1) или выкл(0) для света if(getGlobal('NightMode.active')) $modeAuto = 0; elseif(getGlobal('GuestsMode.active')) $modeAuto = 1; else $modeAuto = -1; if($this->getProperty('modeAuto') != $modeAuto) $this->callMethod('changedModeAuto', array('VALUE' => $modeAuto));
// Выставляем режим авто(-1) или выкл(0) для света if(getGlobal('DarknessMode.active') && !getGlobal('NightMode.active')) $modeAuto = -1; else $modeAuto = 0; if($this->getProperty('modeAuto') != $modeAuto) $this->callMethodSafe('changedModeAuto', array('VALUE' => $modeAuto));
$modeAuto = -1; if($this->getProperty('modeAuto') != $modeAuto) $this->callMethod('changedModeAuto', array('VALUE' => $modeAuto));
Свойства класса:
Методы класса:
/* 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/SRGB_setColor.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/SCounters_valueUpdated.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');
Свойства класса:
Объекты класса:
$valueProc = round($this->getProperty('value') / 1024 * 100); $this->setProperty('valueProc', $valueProc);
Объекты класса:
Методы класса:
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SSmoke_statusUpdated.php'); /* end injection of {SDevices} */
Свойства класса:
Методы класса:
Объекты класса:
$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>15*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>15*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') { say(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title."."); say(implode(". ",$details)); } else { say(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 (!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; 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'); }
Свойства класса:
Методы класса:
Объекты класса:
$warmFloors = getObjectsByClass("WarmFloors"); // Для каждого реле управляющего теплым полом foreach($warmFloors as $warmFloor) // выполняем метод контроля климата callMethod($warmFloor['TITLE'].'.climateControl');
if(!getGlobal('zelevova.atHome')) runScriptSafe('status'); // оптимизируем историю GPS getURL(BASE_URL . '/admin.php?md=app_gpstrack&inst=adm&optimize_log=1', 0); //getURL(BASE_URL . '/scripts/optimize_gps.php', 0);
$h=(int)date('G',time()); $m=date('i',time()); if($m == 0 && !getGlobal('NightMode.active') && getGlobal('clockChimeEnabled')) say(timeNow(),1); setGlobal('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('HomeStatus',$homeStatus); /* if (timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && getGlobal('DarknessMode.active')) { callMethod('DarknessMode.deactivate'); } elseif (!timeBetween(getGlobal('SunRiseTime'),getGlobal('SunSetTime')) && !getGlobal('DarknessMode.active')) { callMethod('DarknessMode.activate'); } */ if (timeIs(getGlobal('SunRiseTime'))) say('Всходит солнце'); if (timeIs(getGlobal('SunSetTime'))) say('Солнце заходит'); /*if (timeIs("23:30") && (gg("EconomMode.active")!="1") && (gg("NobodyHomeMode.active")=="1")) { say("Похоже никого нет сегодня, можно сэкономить немного."); callMethod('EconomMode.activate'); }*/ if (timeIs('08:00')) callMethod('NightMode.deactivate'); // Выходим из ночного режима if (timeIs('21:00')) if (!getGlobal('GuestMode.active')) runScript('mayBeNight'); // начинаем пытаться перейти в ночной режим if (timeIs('23:00')) if (getGlobal('GuestMode.active')) runScript('mayBeNight'); // начинаем пытаться перейти в ночной режим else callMethod('NightMode.activate'); // Переходим в ночной режим /*if (gg('ThisComputer.AlarmStatus') && timeIs(gg('ThisComputer.AlarmTime'))) { runScript('MorningAlarm'); }*/
, Россия
На форуме: zelevova
© 2024 - Site Built By SergeJey | Реквизиты: Курицын С. С. ИНН 762001394609 | Контакты | Публичный договор
SmartLiving