Ограничение для READ poll interval for Devices для KNX

Добрый день!
Подскажите, почему для READ poll interval for Devices ограничение 100000мс? для опроса шины эти мало. Можно ли увеличить это значение?

Здравствуйте.

Прежде не требовалось значение параметра READ poll interval for Devices более 100000 мс.

Можете подробнее рассказать о задаче и какое количество групповых адресов требуется опрашивать?

Есть устройство KNX, в настройках которого нет возможности установить циклической отправки статусов (только по изменению). А требуется, чтобы раз в 20-30 минут была отправка, даже если значение не менялось. Статусов около 100.

Действительно, установить значение опроса реже чем раз в 100 с нельзя.
Куда именно требуется отправка статуса раз в 20-30 минут? Почему не оставить значение частоты опроса раз в 100 с?

В качестве решения можно отключить опрос с помощью сервиса wb-mqtt-knx и опрашивать групповые адреса с любой частотой с помощью wb-rules.

А как с помощью wb-rules сделать запрос к шине KNX GroupValueRead? знаю, что можно по запросу к шине KNX GroupValueRead посылать значение из WB, но мне то надо, чтобы из шины KNX отвечало устройство KNX. Посылать последнее значение, сохранённое в mqtt, это не то

Здравствуйте.

Чтобы формировать запросы самостоятельно нужно:

  • Сконфигурировать wb-mqtt устройство. В настройках указать групповой адрес фидбека и установить READ poll interval for Devices отличную от 0.
  • В wb-rules создать правило, которое отправляет запрос на чтение значения группового адреса с требуемым интервалом. Запрос выглядит так.
    Пример правила c таким запросом:
// Настраиваем интервал (в миллисекундах)
var interval = 30 * 60 * 1000; // 30 минут

// Определяем функцию для отправки команды
function sendKNXCommand() {
  publish('/devices/knx/controls/data/on', 'g:9/7/55 GroupValueRead');
  log('KNX GroupValueRead command sent to 9/7/55');
}

// Устанавливаем таймер для вызова функции каждые 30 минут
setInterval(function () {
  sendKNXCommand();
}, interval);

// Отправляем команду при старте контроллера
sendKNXCommand();

Скрипт формирует запрос:

$ mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:9/7/55 GroupValueRead"

На который приходит ответ, записывающий в /devices/knx/controls/data актуальное значение группового адреса 9/7/55. Подробнее здесь.

Для работы с wb-rules пользуйтесь документацией.

Также накануне вышло интересное и познавательное видео о работе с wb-rules.

Остались ли у вас какие-либо вопросы?

1 лайк

О, супер, выглядит как то, что надо. Позже буду пробовать. Спасибо.

Хорошо, по возникновению вопросов не стесняйтесь обращаться.

1 лайк