Modules/devices/darknessmode activate php

Материал из MajorDoMo инфо
Версия от 16:06, 30 марта 2024; Elmax (обсуждение | вклад) (Стнраница файла darknessmode_activate)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)


ᐂ В корневой раздел ᐃ В директорию расположения файла

<?php
//* darknessmode_activate *//
// * Этот код предназначен для активации устройств, связанных с группой "groupSunset", если они не отключены и доступ к ним разрешен.*/
// Проверяет, отключены ли простые устройства. Если да, прекращает выполнение скрипта.
if (defined('DISABLE_SIMPLE_DEVICES') && DISABLE_SIMPLE_DEVICES==1) return;

$objects = getObjectsByProperty('groupSunset', '=', 1);
// Подсчитывает количество объектов в списке.
$total = count($objects);
// Цикл по всем объектам в списке.
for ($i = 0; $i < $total; $i++) {

    // Получает объект по его идентификатору из списка объектов.
    $obj = getObject($objects[$i]);
    // Проверяет, является ли полученный объект объектом, имеет ли он идентификатор устройства и разрешено ли доступ к свойству "prop_groupSunset" для этого устройства. Если условие не выполняется, цикл переходит к следующей итерации.
    if (is_object($obj) && $obj->device_id && !checkAccess('prop_groupSunset', $obj->device_id)) continue;

    // Вызывает метод "turnOn" для объекта, передавая в качестве параметра массив с ключом "source" и значением "DarknessMode".
    callMethodSafe($objects[$i] . '.turnOn', array('source' => 'DarknessMode'));
    // Приостанавливает выполнение скрипта на 50 миллисекунд.
    usleep(50000);