Страница 7 из 10

Re: Новый интерфейс

Добавлено: Вс янв 07, 2018 11:53 am
nick7zmail
Создайте терминалы с соответствующими IP. А при старте в мажордроиде пропишите нужную сцену.

Re: [Модуль] Сцены (scenes)

Добавлено: Вт июл 30, 2019 3:11 pm
zh_serzh
Добрый день!
При попытке добавить состояние для индикатора режима в поле Advanced condition прописываю:

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

if ($timeOutExists('far-KV9-off') = 0) {
        $display=1;
} else {
        $display=0;
}
Но код не сохраняется...
Задача скрывать индикатор/кнопку пока работает таймер far-KV9-off
Подскажите куда копать...?

Re: [Модуль] Сцены (scenes)

Добавлено: Вт июл 30, 2019 3:22 pm
Chainik
zh_serzh писал(а): Вт июл 30, 2019 3:11 pm ...
Но код не сохраняется...
Задача скрывать индикатор/кнопку пока работает таймер far-KV9-off
Подскажите куда копать...?
Поставьте радиоточку в пункте "Расширенная настройка" в положение "Да".

Ну и по коду. Правильный синтаксис будет таким (с точки зрения того, что не "=", а "=="):

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

if ($timeOutExists('far-KV9-off') == 0)
А что это у вас за $timeOutExists('far-KV9-off')? $timeOutExists -- это же не глобальная переменная?
Предполагаю, что 'far-KV9-off' -- это некое свойство. В таком случае его значение надо запрашивать как

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

gg('ИМЯ_ВАШЕГО_ОБЪЕКТА.far-KV9-off')
zh_serzh писал(а): Вт июл 30, 2019 3:11 pm При попытке добавить состояние для индикатора режима в поле Advanced condition...
Для точности формулировок: в поле "Advanced condition" прописывается не состояние, а дополнительное условие отображения.

Re: [Модуль] Сцены (scenes)

Добавлено: Вт июл 30, 2019 4:23 pm
zh_serzh
Радиоточка стояла, проблема:
Правильный синтаксис будет таким (с точки зрения того, что не "=", а "=="):
:shock:
Спасибо!

Re: [Модуль] Сцены (scenes)

Добавлено: Вт июл 30, 2019 4:36 pm
zh_serzh
В базе знаний - встроенные в MajorDoMo функции:
timeOutExists('title'); -- возвращает идентификатор запланированной задачи (или 0, в случае отсутствия)
По идее код правильный, но не работает... :?:

Re: [Модуль] Сцены (scenes)

Добавлено: Вт июл 30, 2019 4:47 pm
Chainik
Спасибо за пояснение. Раньше не пользовался timeOutExists.
Теперь понятно, "откуда дровишки".
Тогда timeOutExists у нас функция, а не переменная. А это значит, что перед ней знак "$" надо убрать. Т.е.

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

if (timeOutExists('far-KV9-off') == 0)
Можно еще ноль в кавычки взять (== "0").

А "спасибо" говорится путем нажатия на соответствующую кнопку с изображением жеста, выражающего одобрение, расположенную над текстом сообщения справа.

Re: [Модуль] Сцены (scenes)

Добавлено: Вт июл 30, 2019 6:02 pm
zh_serzh
Сама функция работает! Не работает автообновление индикатора режима/кнопки...
После нажатия кнопка исчезает, но через 15 сек (время таймера far-KV9-off) не появляется, если обновить страницу то кнопка появляется (как и должна)...

Задача:
Исключить повторное нажатие на кнопку (скрыть ее) во время работы скрипта на 15сек.
xxx1.png
xxx1.png (10.11 КБ) 5046 просмотров
1. создал на сцене элемент- индикатор режима
2. установил два состояния on/off
3. on при клике выполнять сценарий на закрытие
off при клике выполнять сценарий на открытие
4. условия отображения расширенное:
при on

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

if (gg('me3_xp1_in1.status') ==1 && timeOutExists('far-KV9-off') == 0) {
        $display=1;
} else {
        $display=0;
}
при off

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

if (gg('me3_xp1_in1.status') ==0 && timeOutExists('far-KV9-off') == 0) {
        $display=1;
} else {
        $display=0;
}

Re: [Модуль] Сцены (scenes)

Добавлено: Вт июл 30, 2019 6:49 pm
xor
zh_serzh писал(а):Сама функция работает! Не работает автообновление индикатора режима/кнопки...
После нажатия кнопка исчезает, но через 15 сек (время таймера far-KV9-off) не появляется, если обновить страницу то кнопка появляется (как и должна)...

Задача:
Исключить повторное нажатие на кнопку (скрыть ее) во время работы скрипта на 15сек.
xxx1.png
1. создал на сцене элемент- индикатор режима
2. установил два состояния on/off
3. on при клике выполнять сценарий на закрытие
off при клике выполнять сценарий на открытие
4. условия отображения расширенное:
при on

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

if (gg('me3_xp1_in1.status') ==1 && timeOutExists('far-KV9-off') == 0) {
        $display=1;
} else {
        $display=0;
}
при off

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

if (gg('me3_xp1_in1.status') ==0 && timeOutExists('far-KV9-off') == 0) {
        $display=1;
} else {
        $display=0;
}
Может, третий режим сделать, когда на кнопку нельзя нажимать?

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


Re: [Модуль] Сцены (scenes)

Добавлено: Вт июл 30, 2019 7:08 pm
zh_serzh
Может, третий режим сделать, когда на кнопку нельзя нажимать?
Пробовал, не получается.
Предполагаю проблема в том, что концевик крана (me3_xp1_in1) меняет свой статус раньше чем заканчивается время таймера (15сек), а обновления происходят только по изменению свойства в объекте.

Re: [Модуль] Сцены (scenes)

Добавлено: Вт июл 30, 2019 7:43 pm
Chainik
zh_serzh писал(а): Вт июл 30, 2019 7:08 pm
Может, третий режим сделать, когда на кнопку нельзя нажимать?
Пробовал, не получается.
...
Ув.xor предлагает абсолютно рабочий вариант. Т.е. вообще не использовать доп.условие отображения, а добавить 3-е состояние, аля "изменяется". Этому состоянию будет соответствовать отдельный статус, например, "2". Т.е. в методах на открытие и закрытие надо будет в течение 15 секунд выставлять этот статус, а по окончании изменения состояния крана выставлять "0" или "1". Например [в методах],

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

sg('me3_xp1_in1.status', 2);
setTimeOut('far-KV9-off','sg("me3_xp1_in1.status",0);',15);
Ну и, соответственно, этому 3-му состянию будет соответствовать статус "2", а картинка (изображение) для состояния будет отсутствовать, либо выглядеть как "черный квадрат".