Приветствую
в квартире много выключателей и часть пришлось подключить через WB-MIO-E и WBIO-DI-DR-14 блоки.
при нажатии кнопок подключенных таким образом вижу задержку около 0.5с.
что многовато для меня.
Можно ли как-то увеличить скорость срабатывания?
1 лайк
А какое количество MIO-E подключено?
И внутри MIO какая скорость шины настроена?
WB-MIO-E одно и соединено напрямую с WB6 eth кабелем
к WB-MIO-E сбоку 4 модуля ввода WBIO DR-14, разве у них настраивается скорость?
На сколько помню сбоку к WB6 только 4 таких модуля можно подключить? иначе бы все к WB-6 подключил
Есть какие либо мысли?
Хочется реализовать в правилах отдельную логику для долгих нажатий и отдельно для коротких, а с такими задержками это не реально
Да, 4 модуля входов, 4 -выходов максимум.
Скорость - конечно настраивается, не для подключаемых модулей а для интерфейса внутри MIO https://wirenboard.com/wiki/WB-MIO
читаю документацию модуля WM-MIO-E и не могу понять какую скорость надо увеличить и где в моем случае.
У меня соединение с модулем по ethernet, modbus не подключен.
Можете подсказать что делать с этим модулем?
Напомните пожалуйста как из консоли вирена слать команды по 2 порту RS-485?
Поменяйте адрес на свой:
export DEV_PORT=/dev/ttyRS485-2
export DEV_ADDR=88
modbus_client -mrtu -pnone -s2 $DEV_PORT -a$DEV_ADDR -t0x06 -r110 1152
Полное описание: https://wirenboard.com/wiki/index.php/Modbus-client
Сделал. вроде стало побыстрее но не то чтобы сильно. теперь максимальная задержка ~200ms
что все равно много. может как-то можно вынести в отдельную очередь запросы к WB-MIO-E?
в /var/log/messages никаких ошибок не вижу.
Для каждого порта своя очередь. А как оцениваете задержку?
запустил на контроллере mosquitto_sub -t ‘/devices/wb-mio-gpio_37:1/#’ -v
нажал на кнопку и таймером на телефоне засек когда увидел сообщение о изменении статуса.
В реальности часто успеваю дважды нажать на кнопку а получить сообщение о изменении счетчика нажатий а не изменение значения DR#
у меня не на реле надо а в WBIO. хотя основная причина почему я брал WBIO именно в том что на реле нет таких алгоритмов…
Так понимаю возможности ускорить приход данных от WB-MIO-E нет?
Как вариант - переписать шаблон, оставив только “нужное”. Но кардинально - нет.
Сдается мне что проблема где-то в коде который опрашивает устройство.
Если в настройках оставляю одно или два устройства с WB-MIO-E ( при этом физически ничего не отключаю)
Настройка:
Сводка
{
“address”: “192.168.0.7”,
“port”: 20108,
“devices”: [
{
“slave_id”: “37:1”,
“device_type”: “WBIO-DI-DR-14”,
“poll_interval”: 0
},
{
“slave_id”: “37:2”,
“device_type”: “WBIO-DI-DR-14”,
“poll_interval”: 0
}
],
“port_type”: “tcp”,
“poll_interval”: 0,
“type”: null
}
То все работает мгновенно, нет задержек и прочее.
но стоит добавить третье устройство:
Сводка
{
“address”: “192.168.0.7”,
“port”: 20108,
“devices”: [
{
“slave_id”: “37:1”,
“device_type”: “WBIO-DI-DR-14”,
“poll_interval”: 0
},
{
“slave_id”: “37:2”,
“device_type”: “WBIO-DI-DR-14”,
“poll_interval”: 0
},
{
“slave_id”: “37:3”,
“device_type”: “WBIO-DI-DR-14”,
“poll_interval”: 0
}
],
“port_type”: “tcp”,
“poll_interval”: 0,
“type”: null
}
То все начинает тормозить вплоть до 1.5с задержек время от времени.
Попробуйте поставить свежий пакет из
Мы обновили wb-mqtt-serial для Wiren Board 6.
Изменения версии 2.2.1
Проведена работа по ускорению опроса устройств:
уменьшены задержки между запросами;
для всех поддерживаемых устройств установлены значения максимального времени ответа и задержек между фреймами;
задержки между фреймами вычисляются в зависимости от скорости шины, если это предусмотрено протоколом устройства.
Появилась логика определения неподдерживаемых регистров для протокола Modbus. При получении ошибки чтения wb-mqtt-seri…
wb-mqtt-serial не работает с WB-MIO-E начиная с версии 2.1.0
Ошибки чтения регистров.
в /var/log/messages только такие строки встречал
Failed to accept ‘/meta/order’ on control ‘wb-mio-gpio_37:1/IN12’: strconv.Atoi: parsing “”: invalid syntax, ignored
др ошибок нет
В общем БЕЗ параметра “guard_interval_us”: 0 (значение любое) - порт в опрос не включается в нестабильной крйнев ерсии 2.1 Вообще никак и в любых комбинациях.
Именно для tcp порта.
То есть надо:
{
"address": "10.0.0.72",
"port": 20108,
"devices": [
{
"slave_id": "157:1",
"device_type": "WBIO-DO-R1G-16"
}
],
"port_type": "tcp",
"type": null,
"enabled": true,
"guard_interval_us": 0
}
Можно включить-прописать через вебморду кнопкой “Properties”