как сделать мгновенную реакцию на изменение статуса?

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

chip
Сообщения: 158
Зарегистрирован: Пн ноя 09, 2015 11:03 pm
Благодарил (а): 43 раза
Поблагодарили: 7 раз

Re: как сделать мгновенную реакцию на изменение статуса?

Сообщение chip » Пн июн 27, 2016 2:03 pm

ipz писал(а):В конструкторе этого класса для свойства задать функцию которая будет вызываться при изменении. (Поле 'Запускать метод при изменении'). Например 'OnChange'.

В конкретном экземпляре объекта эту функцию переопределить, например так

Код: Выделить всё

    //$prop=$params['PROPERTY'];
    //$t   = time(); 
    //     $old = $params['OLD_VALUE'];
         $new = $params['NEW_VALUE'];
    //     $obj = $params['ORIGINAL_OBJECT_TITLE'];
 
     if ($new == 1) {
            getURL('http://192.168.2.40/?livolo=13601&key=16'); // включили свет
         clearTimeOut("Hall_main_lights"); // очистили таймаут
        setTimeOut("Hall_main_lights","getURL('http://192.168.2.40/?livolo=13601&key=42');",3*60); // задали новый

    }

Переделал под себя и прописал в шаблонах поведения с вызовом метода, но не заводится таймер не ставится (если оставлять строчку с таймером то и весь шаблон не отрабатывает):

callmethod("NooLite_bedroom_lamp.turnOn"); // включили свет
setTimeOut("Hall_main_lights","callmethod("NooLite_bedroom_lamp.turnOff");",3*60); // задали новый
chip
Сообщения: 158
Зарегистрирован: Пн ноя 09, 2015 11:03 pm
Благодарил (а): 43 раза
Поблагодарили: 7 раз

Re: как сделать мгновенную реакцию на изменение статуса?

Сообщение chip » Пн июн 27, 2016 3:14 pm

ошибка в синтаксисе, забыл поставть внутри \ для "
chip
Сообщения: 158
Зарегистрирован: Пн ноя 09, 2015 11:03 pm
Благодарил (а): 43 раза
Поблагодарили: 7 раз

Re: как сделать мгновенную реакцию на изменение статуса?

Сообщение chip » Пн июн 27, 2016 5:30 pm

кто подскажет, можно ли вызывать в данном случае (и включение и таймер выключения) по 2-а метода без создания отдельных сценариев?
Ответить