0
Answered

Блокировка кнопок

Александр Бойко 11 months ago • updated by Vladimir Ovchinnikov 1 week ago 6

Есть три кнопки управления жалюзи(вверх, стоп, вниз), имеется ли возможность блокировать одну из кнопок при нажатии другой? Например если нажал вверх, то можно нажать только паузу в этот момент?

Under review

Добрый день.

Можно скриптом отслеживать изменения в в канале и в зависимости от того, какая нажата кнопка, - убирать с панели другую. В приложенном примере при нажатии кнопки Up кнопка Down исчезает с экрана. Соответственно, если нажата кнопка Down, то кнопка Up скрывается. Нажатие на кнопку Stop сбрасывает (обнуляет) значения в фидбэках и все кнопки становятся снова видны и доступны для нажатия.


Если нужно, чтоб блокируемая кнопка отображалась на экране, но не реагировала на нажатие, то вместо Visible можно использовать Enable.


Block.irpz

Block.sirpz

У меня возник такой же вопрос, но только при условии использования сервера и нескольких панелей. То есть блокировать нужно кнопки и уровни на других панелях. Я думала использовать для этого SSID, имя устройства или его IP. Но боюсь, что обработка будет занимать больше времени, чем выполнение команды. Пока не проверялось.

Добрый день.

Приложенные примеры будут работать при одновременном использовании панелей, т. к. значения нажатий хранятся и проверяются на сервере.

Да, это верно. А если речь идет не о кнопках, а о слайдерах, то блокировать нужно элементы только на других панелях.

Каждая панель своим скриптом читает/записывает значение виртуального фидбэка. Поэтому нет принципиальной разницы, Level (слайдер) или Button. Понадобится только доработка скрипта.