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); } }