Сергей. Вопрос до сих пор актуален. В связанный метод передается два параметра: сработавший порт и его значение. Катострофически не хватает переданного параметра m (отпустили кнопку или держим свыше 1,5 сек).sergejey писал(а):Так вы поставьте в свойствах входа тип R&D (если не ошибаюсь) и событие будет приходить дважды -- как на нажатие так и на отпускание. При этом в метод передаётся парметр value, который говорит как раз о том, какое действие было произведено.AHgpeu писал(а):и категорически необходима галочка для входов "обрабатывать отпускание кнопки"
Хочу сделать простую логику работы "железной" кнопки:
m=0. Кликнул - свет включился на Х минут; Кликнул еще - свет выключился;
m=1. На отжатие не реагируем, т.к. у нас кнопка
m=0, m=2. При выключенном свете нажал и подержал - свет сразу включится как бы на Х минут и через полторы секунды второй параметр скажет, что таймер Х минут нужно очистить (свет будет продолжать гореть до активации режима "Никого нет дома" или пока его не выключат).
Если два параметра уже передаются, то передать третий - не должно быть проблемой. Или кто может подсказать что нужно править что бы передавать параметр m?
Заранее большое спасибо участниками конференции.
UPD:
На удивление сам разобрался: примерно в середине файла megad.class.php есть код:
Код: Выделить всё
if ($prop['LINKED_OBJECT'] && $prop['LINKED_METHOD']) { // && $old_value!=$prop['CURRENT_VALUE_STRING']
$params=array();
$params['TITLE']=$rec['TITLE'];
$params['VALUE']=$prop['CURRENT_VALUE_STRING'];
$params['value']=$params['VALUE'];
$params['port']=$prop['NUM'];
$methodRes=callMethod($prop['LINKED_OBJECT'].'.'.$prop['LINKED_METHOD'], $params);
Код: Выделить всё
$params['port']=$prop['NUM'];
Код: Выделить всё
$params['m']=$m;