0
Beantwoord

Mute для KNX

Сергей Штирбу 10 jaar geleden in Tips and Tricks bijgewerkt door Aleksandr Romanov (CTO) 7 jaar geleden 1
Mute для KNX как можно реализовать на 1 байте кнопку триггер:
1) нажатие выключили (свет, звук.),
2) нажатие включили в тоже значение из которого выключили

Antwoord

-1
Antwoord
Beantwoord
Здравствуйте, Сергей

Для создания триггера, который переключается из нуля в последнее принятое состояние, используйте скрипт, приведенный в проекте-примере:

KNX_SmartTrigger.irpz

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

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

Далее, откройте редактор скриптов -  [JS], и создайте в нижней части файла скрипта описание всех "умных" триггеров так же, как это сделано в примере.

Для каждого триггера описывается:
  • имя драйвера, с которым связан триггер
  • имя команды, куда триггер отправляет данные (оно должно быть таким же, как имя канала обратной связи, откуда триггер получает инофрмацию о текущем состоянии управляемого адреса)
  • путь к элементу-триггеру (страница, имя элемента)
  • значение триггера по умолчанию. После запуска проекта, если начальное значение адреса было равно нулю, при нажатии на триггер он установит это значение. 
Экземпляр триггера в файле скрипта выглядит так:
trigger(IR.GetDevice("KNX Router (KNXnet/IP)"),    // драйвер
         "Address 1",                              // адрес KNX (Command = Feedback)
         IR.GetItem("Page 1").GetItem("Item 2"),   // кнопка-триггер
         50)                                      // значение триггера по-умолчанию
чтобы создать другой триггер, вам нужно скопировать только этот блок данных и заменить необходимые параметры - адрес элемента, адрес KNX, имя драйвера.
GOED, IK BEN TEVREDEN
Satisfaction mark by Сергей Штирбу 10 jaar geleden
-1
Antwoord
Beantwoord
Здравствуйте, Сергей

Для создания триггера, который переключается из нуля в последнее принятое состояние, используйте скрипт, приведенный в проекте-примере:

KNX_SmartTrigger.irpz

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

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

Далее, откройте редактор скриптов -  [JS], и создайте в нижней части файла скрипта описание всех "умных" триггеров так же, как это сделано в примере.

Для каждого триггера описывается:
  • имя драйвера, с которым связан триггер
  • имя команды, куда триггер отправляет данные (оно должно быть таким же, как имя канала обратной связи, откуда триггер получает инофрмацию о текущем состоянии управляемого адреса)
  • путь к элементу-триггеру (страница, имя элемента)
  • значение триггера по умолчанию. После запуска проекта, если начальное значение адреса было равно нулю, при нажатии на триггер он установит это значение. 
Экземпляр триггера в файле скрипта выглядит так:
trigger(IR.GetDevice("KNX Router (KNXnet/IP)"),    // драйвер
         "Address 1",                              // адрес KNX (Command = Feedback)
         IR.GetItem("Page 1").GetItem("Item 2"),   // кнопка-триггер
         50)                                      // значение триггера по-умолчанию
чтобы создать другой триггер, вам нужно скопировать только этот блок данных и заменить необходимые параметры - адрес элемента, адрес KNX, имя драйвера.