camImagesProcess
|
Сортировка изображений с веб-камеры
$src='/var/www/media/webcam'; // откуда брать фотографии
clearTimeout('camImagesTimer');
$base_path='/var/www/dvr/unsorted';
$dst='/var/www/dvr/sorted';
safe_exec('chown pi:pi -Rf '.$base_path.'/*');
safe_exec('chmod 0777 -f '.$base_path.'/*');
setTimeout('camImagesTimer','runScript("camImagesProcess");',10*60);
if (is_dir($base_path)) {
if ($dir = @opendir($base_path)) {
while (($file = readdir($dir)) !== false) {
if ($file!='.' && $file!='..' && is_dir($base_path.'/'.$file)) {
$src=$base_path.'/'.$file;
echo $src.'<br/>';
processLine($src." -> ".$dst."/%Y/%m - %F/%d/".$file);
}
}
closedir($dir);
}
} else {
echo "Cannot open $base_path";
}
processLine("CLEAR ".$dst." 30 DAYS OLD");
|
checkFreeSpace
|
Проверка свободного места на диске
$max_usage=90; //%
$output=array();
exec('df',$output);
//var_dump($output);
$problems=0;
$problems_details='';
foreach($output as $line) {
if (preg_match('/(\d+)% (\/.+)/',$line,$m))
$proc=$m[1];
$path=$m[2];
if ($proc>$max_usage) {
$problems++;
$problems_details.="$path: $proc; ";
}
//echo "$path: $proc%<br/>";
}
sg("ThisComputer.SpaceProblems",$problems);
sg("ThisComputer.SpaceProblems_Details",$problems_details);
setTimeOut('checkFreeSpace','runScript("checkFreeSpace");',5*60);
|
rebootSystem
|
Перезапуск системы
$filename = ROOT . '/database_backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
say("Подготовка к перезагрузке",2);
setTimeout("shutdownTimer","safe_exec('shutdown -r now');",15);
|
shutDown
|
Выключение системы
$filename = ROOT . '/database_backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
say("Подготовка к выключению",2);
setTimeout("shutdownTimer","safe_exec('shutdown -h now');",15);
|
Ванная | Режим восстановления освещения
|
|
Детская | Мануальный режим
|
|
Детская | Режим восстановления освещения
|
|
Зал | Мануальный режим
|
|
Зал | Режим восстановления освещения
|
|
Перезагрузка системы
|
Перезапуск системы
$filename = ROOT . '/database_backup/db.sql';
$mysqlDumpPath = "/usr/bin/mysqldump";
$mysqlDumpParam = " --user=" . DB_USER . " --password=" . DB_PASSWORD;
$mysqlDumpParam .= " --no-create-db --add-drop-table --databases " . DB_NAME;
if (file_exists($filename)) rename($filename, $filename . '.prev');
exec($mysqlDumpPath . $mysqlDumpParam . " > " . $filename);
//say("Подготовка к перезагрузке системы",2);
setTimeout("shutdownTimer","safe_exec('shutdown -r now');",15);
|
Прихожая | Мануальный режим
|
|
Прихожая | Режим восстановления освещения Вкл.
|
say('Включен режим восстановления освещения', 2);
setGlobal('Hallway'.'.'.'RegMode', '1'); // режим восстановления. Прихожая.
callMethod("miioRelayLamp_01.turnOn"); // Рэле L1
callMethod("miioRelayLamp_02.turnOn"); // Рэле L2
setGlobal("miioDimmerCCT_01.level", 60); // Температура CCT L1
setGlobal("miioDimmerCCT_02.level", 60); // Температура CCT L2
setGlobal("miioDimmerBright_01.level", 100);// Яркеость L1
setGlobal("miioDimmerBright_02.level", 100);// Яркеость L2
|
Режимы восстановления освещения
|
if (getGlobal('Hallway'.'.'.'RegMode') == 'On') {
say('Включен режим восстановления освещения. Прихожая', 2);
callMethod("Lamp_Relay_L1_00.turnOn");
callMethod("Lamp_Relay_L2_10.turnOn");
setGlobal('Lamp_CCT_L1_00'.'.'.'status', '80');
setGlobal('Lamp_Bright_L1_00'.'.'.'status', '100');
setGlobal('Lamp_CCT_L2_00'.'.'.'status', '80');
setGlobal('Lamp_Bright_L2_00'.'.'.'status', '100');
} else if (getGlobal('BathRoom'.'.'.'RegMode') == 'On') {
say('Включен режим восстановления освещения. Ванная', 2);
callMethod("Lamp_Relay_L1_10.turnOn");
callMethod("Lamp_Relay_L2_10.turnOn");
callMethod("Lamp_Relay_L3_10.turnOn");
callMethod("Lamp_Relay_L4_10.turnOn");
callMethod("Lamp_Relay_L5_10.turnOn");
callMethod("Lamp_Relay_L6_10.turnOn");
setGlobal('Lamp_CCT_L1_10'.'.'.'status', '80');
setGlobal('Lamp_Bright_L1_10'.'.'.'status', '100');
setGlobal('Lamp_CCT_L2_10'.'.'.'status', '80');
setGlobal('Lamp_Bright_L2_10'.'.'.'status', '100');
setGlobal('Lamp_CCT_L3_10'.'.'.'status', '80');
setGlobal('Lamp_Bright_L3_10'.'.'.'status', '100');
setGlobal('Lamp_CCT_L4_10'.'.'.'status', '80');
setGlobal('Lamp_Bright_L4_10'.'.'.'status', '100');
setGlobal('Lamp_CCT_L5_10'.'.'.'status', '80');
setGlobal('Lamp_Bright_L5_10'.'.'.'status', '100');
setGlobal('Lamp_CCT_L6_10'.'.'.'status', '80');
setGlobal('Lamp_Bright_L6_10'.'.'.'status', '100');
} else if (getGlobal('Hall'.'.'.'RegMode') == 'On') {
say('Включен режим восстановления освещения. Зал', 2);
callMethod("Lamp_Relay_L1_20.turnOn");
callMethod("Lamp_Relay_L2_20.turnOn");
callMethod("Lamp_Relay_L3_20.turnOn");
setGlobal('Lamp_CCT_L1_20'.'.'.'status', '80');
setGlobal('Lamp_Bright_L1_20'.'.'.'status', '100');
setGlobal('Lamp_CCT_L2_20'.'.'.'status', '80');
setGlobal('Lamp_Bright_L2_20'.'.'.'status', '100');
setGlobal('Lamp_CCT_L3_20'.'.'.'status', '80');
setGlobal('Lamp_Bright_L3_20'.'.'.'status', '100');
} else if (getGlobal('Kitchen'.'.'.'RegMode') == 'On') {
say('Включен режим восстановления освещения. Кухня', 2);
} else {
callMethod("Lamp_Relay_L1_30.turnOn");
callMethod("Lamp_Relay_L2_30.turnOn");
setGlobal('Lamp_CCT_L1_30'.'.'.'status', '1000');
setGlobal('Lamp_Bright_L1_30'.'.'.'status', '1000');
setGlobal('Lamp_CCT_L2_30'.'.'.'status', '1000');
setGlobal('Lamp_Bright_L2_30'.'.'.'status', '1000');
}
|
ASS Полное выключение источников питания
|
Автоматический сценарий принудительного отключения питания (розетки, лампы, подсветка шлюза, датчики).
// Прихожая
callMethod("Lamp_Relay_L1_00.turnOff");
callMethod("Lamp_Relay_L2_00.turnOff");
callMethod("Power_Relay_P1_00.turnOff");
callMethod("XiRg00.turnOff");
// Ванная
callMethod("Lamp_Relay_L1_10.turnOff");
callMethod("Lamp_Relay_L2_10.turnOff");
callMethod("Lamp_Relay_L3_10.turnOff");
callMethod("Lamp_Relay_L4_10.turnOff");
callMethod("Lamp_Relay_L5_10.turnOff");
callMethod("Lamp_Relay_L6_10.turnOff");
callMethod("RelayVentilation_RV1_10.turnOff");
// Зал
callMethod("Lamp_Relay_L1_20.turnOff");
callMethod("Lamp_Relay_L2_20.turnOff");
callMethod("Lamp_Relay_L3_20.turnOff");
callMethod("Power_Relay_P1_20.turnOff");
callMethod("Power_Relay_P2_20.turnOff");
callMethod("PowerSwitcher_Relay_PS1_20.turnOff");
// Кухня
callMethod("Lamp_Relay_L1_30.turnOff");
callMethod("Lamp_Relay_L2_30.turnOff");
callMethod("Power_Relay_P1_30.turnOff");
callMethod("Relay_R1_30.turnOff");
// Детская
callMethod("Lamp_Relay_L1_40.turnOff");
callMethod("Lamp_Relay_L2_40.turnOff");
callMethod("Lamp_Relay_L3_40.turnOff");
callMethod("Lamp_Relay_L4_40.turnOff");
callMethod("CeilingLamp_Relay_CL1_40.turnOff");
callMethod("LaserProjectorStars_Relay.turnOff");
callMethod("LedStrip_Relay_LS1_40.turnOff");
// Спальня
callMethod("Power_Relay_P1_50.turnOff");
callMethod("PowerSwitcher_Relay1_PS1_50.turnOff");
callMethod("PowerSwitcher_Relay2_PS1_50.turnOff");
// Кладовка
callMethod("Lamp_Relay_L1_60.turnOff");
callMethod("Lamp_Relay_L2_60.turnOff");
// Туалет
callMethod("Lamp_Relay_L1_70.turnOff");
callMethod("Lamp_Relay_L2_70.turnOff");
callMethod("RelayVentilation_RV1_70.turnOff");
|
Ванная | Вентиляция (Авто Вкл-Выкл)
|
Автоматическое управление вентиляцией в ванной комнате.
При увеличении влажности автоматически включается вентилятор, при достижении нормальных значений вентилятор автоматически выключается.
if (getGlobal("SensorClimate_Humidity_SC1_10.value") <= 56) {
callMethod("RelayVentilation_RV1_10.turnOff");
}
if (getGlobal("SensorClimate_Humidity_SC1_10.value") >= 60) {
callMethod("RelayVentilation_RV1_10.turnOn");
}
|
Ванная | Вентиляция (ручное включение)
|
Автоматическое управление вентиляцией в ванной комнате.
При увеличении влажности автоматически включается вентилятор, при достижении нормальных значений вентилятор автоматически выключается.
if (getGlobal("RelayVentilation_RV1_10.status")) {
callMethod("RelayVentilation_RV1_10.turnOff");
clearTimeOut('Ventilation');
} else {
callMethod("RelayVentilation_RV1_10.turnOn");
$timerCode=<<<EOT
callMethod("RelayVentilation_RV1_10.turnOff");
clearTimeOut('Ventilation');
EOT;
setTimeOut('Ventilation', $timerCode, (int)('120'));
}
|
Ванная | Освещение (Авто Вкл-Выкл)
|
Автоматическое включение света в ванной по обнаружению движения.
Включение ламп L1-11 и L1-12 с заданной цветовой температурой. Управление температуры цвета осуществляется за счет заранее установленного расписания по диапазонам времени:
Утро >> теплый притемненный -> плавно переходящий в теплый яркий.
День >> холодный яркий.
Вечер >> теплый яркий -> плавно переходящий в теплый притемненный.
Ночь >> теплый притемненный.
if (getGlobal('BathRoom'.'.'.'ManualMode') == 'Off') {
if (getGlobal('SensorMotion_Motion_D1_10'.'.'.'status') + getGlobal('SensorMotion_Motion_D2_10'.'.'.'status') == 1) {
clearTimeOut('B');
if (getGlobal('BathRoom'.'.'.'RegMode') == 'Off') {
if (timeBetween('7:20', '8:00')) {
setGlobal('Lamp_CCT_L1_10'.'.'.'status ', '50');
setGlobal('Lamp_CCT_L2_10'.'.'.'status ', '50');
setGlobal('Lamp_Bright_L1_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L2_10'.'.'.'status ', '100');
} else if (timeBetween('8:00', '19:30')) {
setGlobal('Lamp_CCT_L1_10'.'.'.'status', '80');
setGlobal('Lamp_CCT_L2_10'.'.'.'status ', '80');
setGlobal('Lamp_CCT_L3_10'.'.'.'status ', '70');
setGlobal('Lamp_CCT_L4_10'.'.'.'status ', '70');
setGlobal('Lamp_CCT_L5_10'.'.'.'status ', '70');
setGlobal('Lamp_CCT_L6_10'.'.'.'status ', '70');
setGlobal('Lamp_Bright_L1_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L2_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L3_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L4_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L5_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L6_10'.'.'.'status ', '100');
callMethod("Lamp_Relay_L3_10.turnOn");
callMethod("Lamp_Relay_L4_10.turnOn");
callMethod("Lamp_Relay_L5_10.turnOn");
callMethod("Lamp_Relay_L6_10.turnOn");
} else if (timeBetween('19:30', '22:00')) {
setGlobal('Lamp_CCT_L1_10'.'.'.'status ', '60');
setGlobal('Lamp_CCT_L2_10'.'.'.'status ', '60');
setGlobal('Lamp_CCT_L3_10'.'.'.'status ', '50');
setGlobal('Lamp_CCT_L4_10'.'.'.'status ', '50');
setGlobal('Lamp_CCT_L5_10'.'.'.'status ', '50');
setGlobal('Lamp_CCT_L6_10'.'.'.'status ', '50');
setGlobal('Lamp_Bright_L1_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L2_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L3_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L4_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L5_10'.'.'.'status ', '100');
setGlobal('Lamp_Bright_L6_10'.'.'.'status ', '100');
callMethod("Lamp_Relay_L3_10.turnOn");
callMethod("Lamp_Relay_L4_10.turnOn");
callMethod("Lamp_Relay_L5_10.turnOn");
callMethod("Lamp_Relay_L6_10.turnOn");
} else if (timeBetween('22:00', '7:20')) {
setGlobal('Lamp_CCT_L1_10'.'.'.'status ', '30');
setGlobal('Lamp_CCT_L2_10'.'.'.'status ', '30');
setGlobal('Lamp_Bright_L1_10'.'.'.'status ', '5');
setGlobal('Lamp_Bright_L2_10'.'.'.'status ', '5');
}
callMethod("Lamp_Relay_L1_10.turnOn");
callMethod("Lamp_Relay_L2_10.turnOn");
}
} else {
$timerCode=<<<EOT
callMethod("Lamp_Relay_L1_10.turnOff");
callMethod("Lamp_Relay_L2_10.turnOff");
callMethod("Lamp_Relay_L3_10.turnOff");
callMethod("Lamp_Relay_L4_10.turnOff");
callMethod("Lamp_Relay_L5_10.turnOff");
callMethod("Lamp_Relay_L6_10.turnOff");
setGlobal('BathRoom'.'.'.'RegMode', 'Off');
clearTimeOut('B');
EOT;
setTimeOut('B', $timerCode, (int)('220'));
}
}
|
Ванная | Протечка
|
if (getGlobal('XiLeak_21'.'.'.'status') == 1) {
say('Внимание! Утечка воды в ванной.', 2);
} else {
say('Протечка в ванной устранена', 2);
}
|
Детская | Освещение Кроватная подсветка (Авто Вкл-Выкл)
|
Автоматическое управление освещением кроватной подсветки в детской.
Задействовано устройства - LS1_40 и D2_40:
- включение.в промежутке времени
- выключение по таймеру
if (getGlobal('SensorMotion_Motion_D2_40'.'.'.'status') == '1') {
if (timeBetween('17:00', '08:30')) {
callMethod("LedStrip_Relay_LS1_40.turnOn");
}
clearTimeOut('D');
} else {
$timerCode=<<<EOT
callMethod("LedStrip_Relay_LS1_40.turnOff");
clearTimeOut('P');
EOT;
setTimeOut('D', $timerCode, (int)('70'));
}
|
Детская | Освещение Люстра (Авто Вкл-Выкл)
|
|
Детская | Освещение Потолочный светильник (Авто Выкл)
|
Автоматическое управление освещением кроватной подсветки в детской.
Задействовано устройства - CL1_40 и D1_40, D2_40:
- выключение по таймеру бездействия
if (getGlobal('SensorMotion_Motion_D1_40'.'.'.'status') == 0 && getGlobal('SensorMotion_Motion_D2_40'.'.'.'status') == 0) {
$timerCode=<<<EOT
clearTimeOut('T');
callMethod("CeilingLamp_Relay_CL1_40.turnOff");
EOT;
setTimeOut('T', $timerCode, (int)('600'));
} else {
clearTimeOut('T');
}
|
Детская Гардеробная | Освещение (Авто Вкл-Выкл)
|
Автоматическое выключение света в детской гардеробной.
Выключение ламп L4-44, L5-45 по заранее установленному таймеру. По истечении времени таймер удаляется. Сценарий приостанавливает свою работу.
|
Зал | Освещение (Авто Вкл-Выкл)
|
if (getGlobal("SensorMotion_Motion_D3_20.status")) {
callMethod("PowerSwitcher_Relay_PS1_20.turnOn");
}
if (getGlobal('Hall'.'.'.'ManualMode') == 'Off') {
if (getGlobal('SensorMotion_Motion_D1_20'.'.'.'status') + getGlobal('SensorMotion_Motion_D2_20'.'.'.'status') + getGlobal('SensorMotion_Motion_D3_20'.'.'.'status') == 1) {
callMethod("Lamp_Relay_L1_20.turnOn");
callMethod("Lamp_Relay_L2_20.turnOn");
callMethod("Lamp_Relay_L3_20.turnOn");
clearTimeOut('H');
if (getGlobal('Hall'.'.'.'RegMode') == 'Off') {
if (timeBetween('17:00', '20:00')) {
}
}
} else {
// таймер
$timerCode=<<<EOT
callMethod("Lamp_Relay_L1_20.turnOff");
callMethod("Lamp_Relay_L2_20.turnOff");
callMethod("Lamp_Relay_L3_20.turnOff");
setGlobal('Hall'.'.'.'RegMode', 'Off');
clearTimeOut('H');
EOT;
setTimeOut('H', $timerCode, (int)('2000'));
}
}
|
Кладовая | Датчик двери Освещение (Авто Вкл-Выкл)
|
Открытие закрытие двери при помощи геркона G1-61.
При открытии - свет включается (L1-61 и Д1-62), а при закрытии - выключается.
if (getGlobal("SensorDoor_OpenClose_G1_60.status")) {
callMethod("Lamp_Relay_L1_60.turnOff");
callMethod("Lamp_Relay_L2_60.turnOff");
clearTimeOut('K');
} else {
callMethod("Lamp_Relay_L1_60.turnOn");
callMethod("Lamp_Relay_L2_60.turnOn");
if (getGlobal('SensorMotion_Motion_D3_00'.'.'.'status') + getGlobal('SensorMotion_Motion_D1_00'.'.'.'status') + 0 == 0) {
$timerCode=<<<EOT
callMethod("Lamp_Relay_L1_60.turnOff");
callMethod("Lamp_Relay_L2_60.turnOff");
clearTimeOut('K');
EOT;
setTimeOut('K', $timerCode, (int)('100'));
}
}
|
Кухня | Освещение Кухонный светильник (Авто выкл)
|
Автоматическое выключение света на кухне. Выключение ламп L1-31, L2-32 по заранее установленному таймеру. По истечении времени таймер удаляется. Сценарий приостанавливает свою работу.
if (getGlobal('SensorMotion_Motion_D1_30'.'.'.'status ') + getGlobal('SensorMotion_Motion_D2_30'.'.'.'status ') + getGlobal('SensorMotion_Motion_D3_30'.'.'.'status ') == 0) {
$timerCode=<<<EOT
callMethod("Relay_R1-30.turnOff");
clearTimeOut('K1');
EOT;
setTimeOut('K1', $timerCode, (int)('800'));
} else {
clearTimeOut('K1');
}
|
Кухня | Освещение Люстра (Авто Вкл-Выкл)
|
Автоматическое выключение света на кухне. Выключение ламп L1-31, L2-32 по заранее установленному таймеру. По истечении времени таймер удаляется. Сценарий приостанавливает свою работу.
if (getGlobal('Kitchen'.'.'.'ManualMode') == 'Off') {
if (getGlobal('SensorMotion_Motion_D1_30'.'.'.'status') + getGlobal('SensorMotion_Motion_D2_30'.'.'.'status') + getGlobal('SensorMotion_Motion_D3_30'.'.'.'status') == 1) {
clearTimeOut('K');
if (getGlobal('Kitchen'.'.'.'RegMode') == 'Off') {
if ((getGlobal("SensorMotion_Light_D1_30.value") == 0 || getGlobal("SensorMotion_Light_D3_30.value") == 0) && timeBetween('19:00', '20:30')) {
callMethod("Lamp_Relay_L1_30.turnOn");
callMethod("Lamp_Relay_L2_30.turnOn");
setGlobal('Lamp_Bright_L1_30'.'.'.'status', '1000');
setGlobal('Lamp_CCT_L1_30'.'.'.'status', '600');
setGlobal('Lamp_Bright_L2_30'.'.'.'status', '1000');
setGlobal('Lamp_CCT_L2_30'.'.'.'status', '600');
}
}
} else {
$timerCode=<<<EOT
callMethod("Lamp_Relay_L1_30.turnOff");
callMethod("Lamp_Relay_L2_30.turnOff");
setGlobal('Kitchen'.'.'.'RegMode', 'Off');
clearTimeOut('K');
EOT;
setTimeOut('K', $timerCode, (int)('400'));
}
}
|
Кухня | Освещение Подсветка (Авто Вкл-Выкл)
|
Автоматическое включение света на кухне.
Включение подсветки P1-31 по обнаружению движения.
if (getGlobal('SensorMotion_Motion_D1_30'.'.'.'status') + getGlobal('SensorMotion_Motion_D2_30'.'.'.'status') + 0 == 1) {
clearTimeOut('P');
if (timeBetween('16:00', '09:00')) {
callMethod("Power_Relay_P1_30.turnOn");
} else if ((getGlobal("SensorMotion_Light_D1_30.value") <= 2 || getGlobal("SensorMotion_Light_D3_30.value") <= 1) && timeBetween('09:00', '16:00')) {
callMethod("Power_Relay_P1_30.turnOn");
}
} else {
$timerCode=<<<EOT
callMethod("Power_Relay_P1_30.turnOff");
clearTimeOut('P');
EOT;
setTimeOut('P', $timerCode, (int)('250'));
}
|
Прихожая | Освещение Лампа 1 (Авто Вкл-Выкл)
|
Автоматическое выключение света в прихожей. Выключение лампы L2-02 по заранее установленному таймеру. По истечении времени таймер удаляется. Сценарий приостанавливает свою работу.
if (getGlobal('Hallway'.'.'.'ManualMode') == 'Off') {
if (getGlobal('SensorMotion_Motion_D1_00'.'.'.'status ') + 0 + getGlobal('SensorMotion_Motion_D3_00'.'.'.'status ') == 1) {
clearTimeOut('H1');
if (getGlobal('Hallway'.'.'.'RegMode') == 'Off') {
if (timeBetween('07:00', '07:30')) {
callMethod("Lamp_Relay_L1_00.turnOn");
setGlobal('Lamp_CCT_L1_00'.'.'.'status ', '20');
setGlobal('Lamp_Bright_L1_00'.'.'.'status ', '10');
} else if (timeBetween('07:30', '09:20')) {
callMethod("Lamp_Relay_L1_00.turnOn");
setGlobal('Lamp_CCT_L1_00'.'.'.'status ', '80');
setGlobal('Lamp_Bright_L1_00'.'.'.'status ', '80');
} else if (timeBetween('16:40', '20:00')) {
callMethod("Lamp_Relay_L1_00.turnOn");
setGlobal('Lamp_CCT_L1_00'.'.'.'status ', '80');
setGlobal('Lamp_Bright_L1_00'.'.'.'status ', '100');
} else if (timeBetween('20:00', '21:30')) {
callMethod("Lamp_Relay_L1_00.turnOn");
setGlobal('Lamp_CCT_L1_00'.'.'.'status ', '60');
setGlobal('Lamp_Bright_L1_00'.'.'.'status ', '50');
} else if (timeBetween('21:30', '23:00')) {
callMethod("Lamp_Relay_L1_00.turnOn");
setGlobal('Lamp_CCT_L1_00'.'.'.'status ', '70');
setGlobal('Lamp_Bright_L1_00'.'.'.'status ', '1');
}
}
} else {
$timerCode=<<<EOT
callMethod("Lamp_Relay_L1_00.turnOff");
setGlobal('Lamp_Relay_L1_00'.'.'.'status ', '0');
setGlobal('Hallway'.'.'.'RegMode', 'Off');
clearTimeOut('H1');
EOT;
setTimeOut('H1', $timerCode, (int)('120'));
}
}
|
Прихожая | Освещение Лампа 2 (Авто Вкл-Выкл)
|
Автоматическое выключение света в прихожей. Выключение лампы L2-02 по заранее установленному таймеру. По истечении времени таймер удаляется. Сценарий приостанавливает свою работу.
if (getGlobal('Hallway'.'.'.'ManualMode') == 'Off') {
if (getGlobal('SensorMotion_Motion_D2_00'.'.'.'status') == 1) {
clearTimeOut('H');
if (getGlobal('Hallway'.'.'.'RegMode') == 'Off') {
if (timeBetween('17:00', '20:00')) {
callMethod("Lamp_Relay_L2_00.turnOn");
setGlobal('Lamp_CCT_L2_00'.'.'.'status ', '90');
setGlobal('Lamp_Bright_L2_00'.'.'.'status ', '100');
} else if (timeBetween('20:00', '21:00')) {
callMethod("Lamp_Relay_L2_00.turnOn");
setGlobal('Lamp_CCT_L2_00'.'.'.'status ', '60');
setGlobal('Lamp_Bright_L2_00'.'.'.'status ', '80');
} else if (timeBetween('21:00', '21:30')) {
callMethod("Lamp_Relay_L2_00.turnOn");
setGlobal('Lamp_CCT_L2_00'.'.'.'status ', '30');
setGlobal('Lamp_Bright_L2_00'.'.'.'status ', '10');
}
}
} else {
$timerCode=<<<EOT
callMethod("Lamp_Relay_L2_00.turnOff");
setGlobal('Hallway'.'.'.'RegMode', 'Off');
clearTimeOut('H');
EOT;
setTimeOut('H', $timerCode, (int)('60'));
}
}
|
Прихожая | Освещение Подсветка шлюза (Авто Вкл-Выкл)
|
Xiaomi Gateway
if (getGlobal('SensorMotion_Motion_D1_00'.'.'.'status') + getGlobal('SensorMotion_Motion_D2_00'.'.'.'status') + getGlobal('SensorMotion_Motion_D3_00'.'.'.'status') == 1) {
clearTimeOut('T');
if (timeBetween('17:00', '05:30')) {
callMethod("XGateway_ColorRGB_XG1_00.setColor",array("color"=>'#ff6600'));}
} else {
$timerCode=<<<EOT
callMethod("XGateway_ColorRGB_XG1_00.setColor",array("color"=>'#000000'));clearTimeOut('T');
EOT;
setTimeOut('T', $timerCode, (int)('60'));
}
|
Спальня | Освещение Подсветка кровати (Авто Вкл-Выкл)
|
Автоматическое включение подсветки кровати в спальне.
Включение светодиодной ленты P1-51 по обнаружению движения. Подсветка работает строго в установленное расписание.
if (getGlobal("SensorMotion_Motion_D1_50.status")) {
if (timeBetween('16:00', '5:30')) {
clearTimeOut('Bed');
callMethod("Power_Relay_P1_50.turnOn");
}
} else {
$timerCode=<<<EOT
callMethod("Power_Relay_P1_50.turnOff");
clearTimeOut('Bed');
EOT;
setTimeOut('Bed', $timerCode, (int)('60'));
}
|
Туалет | Движение в туалете Свет (Авто Вкл-Выкл)
|
if (getGlobal("SensorMotion_Motion_D1_70.status")) {
callMethod("Lamp_Relay_L1_70.turnOn");
callMethod("Lamp_Relay_L2_70.turnOn");
clearTimeOut('T');
} else {
$timerCode=<<<EOT
callMethod("Lamp_Relay_L1_70.turnOff");
callMethod("Lamp_Relay_L2_70.turnOff");
clearTimeOut('T');
EOT;
setTimeOut('T', $timerCode, (int)('150'));
}
|