Modules/devices/darknessmode deactivate php
Материал из MajorDoMo инфо
Версия от 16:14, 30 марта 2024; Elmax (обсуждение | вклад) (Добавил страницу с файлом darknessmode_deactivate)
ᐂ В корневой раздел ᐃ В директорию расположения файла
<?php
//* darknessmode_deactivate *//
//* Этот код предназначен для деактивации устройств, связанных с группой "groupSunrise", если они активны и доступ к ним разрешен.
// Проверяет, отключены ли простые устройства. Если да, прекращает выполнение скрипта.
if (defined('DISABLE_SIMPLE_DEVICES') && DISABLE_SIMPLE_DEVICES == 1) return;
$objects = getObjectsByProperty('groupSunrise', '=', 1);
// Подсчитывает количество объектов в списке.
$total = count($objects);
for ($i = 0; $i < $total; $i++) {
// Проверяет, активен ли объект.
if (getGlobal($objects[$i] . '.status')) {
// Получает объект по его идентификатору из списка объектов.
// Проверяет, является ли полученный объект объектом, имеет ли он идентификатор устройства и разрешено ли доступ к свойству "prop_groupSunrise" для этого устройства.
$obj = getObject($objects[$i]);
// Если условие не выполняется, цикл переходит к следующей итерации.
if (is_object($obj) && $obj->device_id && !checkAccess('prop_groupSunrise', $obj->device_id)) continue;
// Вызывает метод "turnOff" для объекта, передавая в качестве параметра массив с ключом "source" и значением "DarknessMode".
callMethodSafe($objects[$i] . '.turnOff', array('source' => 'DarknessMode'));
// Приостанавливает выполнение скрипта на 50 миллисекунд.
usleep(50000);
}
}