Modules/devices/nightmode activate php
Материал из MajorDoMo инфо
ᐂ В корневой раздел ᐃ В директорию расположения файла
<?php
// Проверяет, отключены ли простые устройства. Если да, прекращает выполнение скрипта.
if (defined('DISABLE_SIMPLE_DEVICES') && DISABLE_SIMPLE_DEVICES == 1) return;
// Получаем список объектов, у которых свойство groupNight равно 1.
$objects = getObjectsByProperty('groupNight', '=', 1);
// Считаем количество объектов в списке.
$total = count($objects);
// Начинаем цикл по всем объектам.
for ($i = 0; $i < $total; $i++) {
// Получаем текущее состояние объекта.
$currentStatus = gg($objects[$i] . '.status');
// Проверяем, активно ли текущее состояние объекта.
if ($currentStatus) {
// Получаем объект по его идентификатору.
$obj = getObject($objects[$i]);
// Проверяем, является ли объект объектом, имеет ли он идентификатор устройства и не имеет ли доступа к свойству groupNight.
if (is_object($obj) && $obj->device_id && !checkAccess('prop_groupNight', $obj->device_id)) continue;
// Вызываем метод turnOff для объекта, передавая параметр source со значением NightMode.
callMethodSafe($objects[$i] . '.turnOff', array('source' => 'NightMode'));
// Приостанавливаем выполнение скрипта на 50 миллисекунд.
usleep(50000);
}
}