Страница 1 из 1

Как кодом изменить свойство объекта в классе Relays при изменении статуса объекта

Добавлено: Чт апр 05, 2018 5:27 am
yden
Здравствуйте.
Подскажите пожалуйста.
Как кодом изменить свойство объекта в классе Relays при изменении статуса объекта? Пробовал в методе turnOff этого объекта вставить код: sg('RelesvetKux.off', 1);. Не отрабатывает.
Это выключатель. Турнофф срабатывает:
https://photos.app.goo.gl/xIClD8Xxq666K9K12

Это топик мктт, который двигает есп. Турн офф не срабатывает:
https://photos.app.goo.gl/ePaxZvo9MEiRnWIq1

Телегой срабатывание проверяю:
https://photos.app.goo.gl/HXloqc4Ra5G0fMrh1

благодарю

Re: Как кодом изменить свойство объекта в классе Relays при изменении статуса объекта

Добавлено: Чт апр 05, 2018 5:57 am
Jilber
Т.е. при изменении свойства "status" надо изменить ещё и другое свойство ?
1. Шаблон поведения - На основе значей свойств:
СпойлерПоказать
Шаблон.jpg
Шаблон.jpg (82.85 КБ) 4826 просмотров
2. Модуль PropTransfer.

Re: Как кодом изменить свойство объекта в классе Relays при изменении статуса объекта

Добавлено: Чт апр 05, 2018 6:48 am
yden
Чтобы не плодить темы, спрошу здесь.
Нужно сделать задержку изменения статуса объекта.
Код:
if (gg('ReleSvetBanya.status'))
{
/*setTimeOut("timer_zabor","sg('ReleSvetBanya.status', 0)", 60*15);*/

sg('ReleSvetBanya.status', 0);
sg('banya_cs.need_on', 0);
}

Нужно чтобы минут 15 ReleSvetBanya.status был 1, потом стал 0.
С setTimeOut не могу разобраться.

благодарю

Re: Как кодом изменить свойство объекта в классе Relays при изменении статуса объекта

Добавлено: Чт апр 05, 2018 9:21 am
Chainik
yden писал(а):
Чт апр 05, 2018 6:48 am
Нужно чтобы минут 15 ReleSvetBanya.status был 1, потом стал 0.
С setTimeOut не могу разобраться.
Попробуйте заменить двойные кавычки на одинарные. Ну т.е.

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

setTimeOut('timer_zabor','sg('ReleSvetBanya.status',0)',60*15);

Re: Как кодом изменить свойство объекта в классе Relays при изменении статуса объекта

Добавлено: Чт апр 05, 2018 9:49 am
nick7zmail
Эт точно не сработает))) апострафы внутри других апострафов (собственно как и кавычки внутри кавычек) как минимум экранировать надо.

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

setTimeOut('timer_zabor','sg(\'ReleSvetBanya.status\',0)', 60*15);
А их сочетание - как раз без экранирующих слэшей вполне обходится.
А так у человека всё правильно было...таймер в xray появляется хотя бы?

Кстати не вам ли я как раз свет на заборе настраивал по условиям?)) timer_zabor - прост че то вспоминается такое)
Имена таймеров тоже не должны конфликтовать. Так что назовите хотя бы timer_banya)...иначе у вас timer_zabor (если он активен) просто будет перезаписывать команду, и она так и не выполнится.

Re: Как кодом изменить свойство объекта в классе Relays при изменении статуса объекта

Добавлено: Чт апр 05, 2018 6:39 pm
xor
Уникальное имя таймера 'zabor_'.time()
И, по моему, сет глобал в таймере внутри кавычек должен заканчиваться ;
как любая строка пхп
Отправлено с моего Redmi 4X через Tapatalk




Re: Как кодом изменить свойство объекта в классе Relays при изменении статуса объекта

Добавлено: Чт апр 05, 2018 7:12 pm
xor
xor писал(а):Уникальное имя таймера 'zabor_'.time()
И, по моему, сет глобал в таймере внутри кавычек должен заканчиваться ;
как любая строка пхп
Отправлено с моего Redmi 4X через Tapatalk
https://kb.smartliving.ru/planirovanie-zadach/

Да, в примерах ; стоит

Отправлено с моего Redmi 4X через Tapatalk


Re: Как кодом изменить свойство объекта в классе Relays при изменении статуса объекта

Добавлено: Чт апр 05, 2018 7:35 pm
Chainik
xor писал(а): Уникальное имя таймера 'zabor_'.time()
И, по моему, сет глобал в таймере внутри кавычек должен заканчиваться ;
как любая строка пхп
Точно! Тогда должно сработать так

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

setTimeOut("timer_zabor","sg('ReleSvetBanya.status',0);",60*15);

Re: Как кодом изменить свойство объекта в классе Relays при изменении статуса объекта

Добавлено: Чт апр 05, 2018 7:59 pm
nick7zmail
Ну раньше и без ; работало. Хотя согласен, не лишним будет)