Modules/devices/Rooms onActivity php
Материал из MajorDoMo инфо
ᐂ В корневой раздел ᐃ В директорию расположения файла
<?php // Если отключена функциональность простых устройств тогда прекращаем выполнение. if (defined('DISABLE_SIMPLE_DEVICES') && DISABLE_SIMPLE_DEVICES==1) return; // Получаем название объекта. $ot = $this->object_title; // Устанавливаем свойство LatestActivity в текущее время. $this->setProperty('LatestActivity', time()); // Устанавливаем свойство LatestActivityTime в текущее время в формате часов и минут. $this->setProperty('LatestActivityTime', date('H:i')); // Проверяем, кто в комнате. Если никого нет, устанавливаем свойство SomebodyHere в 1 и вызываем метод updateActivityStatus. if (!$this->getProperty('SomebodyHere')) { $this->setProperty('SomebodyHere', 1); $this->callMethodSafe('updateActivityStatus'); } // Проверяем, установлено ли свойство IdleDelay. Если да, используем его значение, иначе используем значение по умолчанию 10 минут. if ($this->getProperty('IdleDelay')) { $activity_timeout = (int)$this->getProperty('IdleDelay'); } else { $activity_timeout = 10*60; } // Устанавливаем таймер на имя объекта с суффиксом _activity_timeout, который вызовет метод onIdle через установленное время. setTimeOut($ot . '_activity_timeout', "callMethod('" . $ot . ".onIdle');", $activity_timeout); // Проверяем, активен ли режим "Никого дома". Если да, деактивируем его, передавая параметры сенсора и комнаты. if (getGlobal('NobodyHomeMode.active')) { callMethod('NobodyHomeMode.deactivate', array('sensor' => $params['sensor'], 'room' => $ot)); }