Modules/devices/econommode deactivate php

Материал из MajorDoMo инфо
Версия от 18:27, 6 апреля 2024; Elmax (обсуждение | вклад) (+ файл econommode_deactivate.php)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

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

<?php
// Если определено и равно 1, отключаем функциональность простых устройств и прекращаем выполнение.
if (defined('DISABLE_SIMPLE_DEVICES') && DISABLE_SIMPLE_DEVICES == 1) return;

// Получаем список объектов, у которых свойство groupEcoOn равно 1.
$objects = getObjectsByProperty('groupEcoOn', '=', 1);
// Считаем количество объектов в списке.
$total = count($objects);

// Начинаем цикл по всем объектам.
for ($i = 0; $i < $total; $i++) {
    // Получаем объект по его идентификатору.
    $obj = getObject($objects[$i]);
    // Проверяем, является ли объект объектом, имеет ли он идентификатор устройства и не имеет ли доступа к свойству groupEcoOn.
    if (is_object($obj) && $obj->device_id && !checkAccess('prop_groupEcoOn', $obj->device_id)) continue;
    // Вызываем метод turnOn для объекта, передавая параметр source со значением EconomMode.
    callMethodSafe($objects[$i] . '.turnOn', array('source' => 'EconomMode'));
    // Приостанавливаем выполнение скрипта на 50 миллисекунд.
    usleep(50000);
}