Ошибки и предложения

В этом разделе вы можете проголосовать за идеи по открытым проектам. Вы всегда можете предложить свою идею, перейдя на страницу проекта.

Спасибо!

Мы очень рады, что Вам нравится данный проект и вы проголосовали за его развитие.

Работа над задачами по проекту отнимает у его разработчика самое ценное — время, так что небольшая компенсация в виде материальной поддержки поднимет интерес к разработке и позволит сделать больше задач для общей пользы :)

Перейти к проекту Нет, спасибо

<<< Назад

Простые устройства. Связанные устройства. action_delay.

Добавлено: 2020-02-21 19:00:50 SergeJey / Статус: Готово / Проект: Разработка ядра системы MajorDoMo

https://github.com/sergejey/majordomo/issues/696

Возникла потребность, быстрым и простым способом, включать связанное устройство из ПУ, через интерфейс ПУ, с использованием условия "Только в тёмное время". Такое возможно через "Включить на время". Использование этого пункта приводит к установке не нужного в дальнейшем таймера. Конечно можно использовать, (Спасибо Сергею за подсказку), пункт "Включить/Выключить"/"Контроль доступа", но это достаточно трудоемкий процесс, особенно, когда устройств много. (у меня более 350).
У себя применил решение :
В devices_links_actions.inc.php, сделал инъекцию

if((int)$settings['action_delay'] > 0)

перед строкой :

$action_string .= 'setTimeout(\'' . $timer_name . '\',\'' . 'callMethod("' . $object . '.turnOff' . '",array("link_source"=>"'.$device1['LINKED_OBJECT'].'"));' . '\',' . (int)$settings['action_delay'] . ');';

Получилось, что если время установлено в ноль, то таймер не запускается и есть зависимость от DarknessMode. За одно вылечилось некорректная работа системы, в случае установки нулевого времени или не установки вообще никакого.

Предлагаю, внести в основной код.

Комментарии:

Добавлено в альфа-версию.

+3
 
Обсуждение (0)