Подключаю только ваше оборудование реле, эл счетчик итд, если подключить его к WB-MGE v.2 то реле просто нереально тормозит, показания со счетчика тоже не так быстро отображаются, я хотел бы получить такую же скорость потому что WB-MGE v.2 и WB-MIO-E v.2 у меня намного больше.
Тестирую все в HA, я думаю раз тоже самое оборудование на той же самой системе умного дома работает быстрее на USR-DR302 значит дело или в том что ваш шлюз хуже по аппаратной части или просто я не правильно его настроил что более вероятно.
Если какие то настройки забыл показать дайте знать.
Добрый день.
Пример задержки (выполняю 100 запросов, оцениваю время) через шлюз WB-MGE.
За шлюзом шина 9600.
time for i in {0..100}; do modbus_client -mtcp 10.0.0.71 -o 50 -a113 -t3 -r 128 -c1; done
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
SUCCESS: read 1 of elements:
Data: 0x0071
real 0m3.730s
user 0m0.108s
sys 0m0.405s
видно что один запрос занимает 37,3мс
На скорости 115200 - один запрос будет занимать ~5мс.
Время лимитируется скоростью RS-485 шины. Используемый вами щлюз работает быстрее?
Если да - то я не представляю как это возможно. Если не сложно - покажите пожалуйста сколько времени занимает один запрос.
я же написал что проблема когда я на один шлюз сажу реле и датчики, тогда время выполнения команды посланной на реле сильно увеличивается. Вы это проверяли ? опросить датчики это понятно, а вот что с командами под нагрузкой ? и проверять надо когда шлюз загружен как минимум WB-MAP12E я считываю по 3 показателя с каждого канала (Ток, мощность, счетчик) раз в секунду, а лучше еще посадить WB-MSW v.4 с полным набором сенсоров и обновлять их тоже не реже чем раз в секунду и вот тогда проверять команды.
И вопрос был по настройкам, я хотел бы получить полностью аналогичные настройки как на USR-DR302, по скринам на WB-MGE v.2 мне есть что поменять чтобы было так же ?
к примеру такая мелочь как макс количество клиентов на WB-MGE v.28, а на USR-DR302 4 может еще что то ?
перетыкать провода чтобы потестить мне не очень удобно и хотелось бы сначала сделать полностью аналогичные настройки
к примеру настройка на USR-DR302 TCP Server-kick off old connection: где такая же на WB-MGE v.2 ?
У меня к этому шлюзу подключены как реле (2шт) так и датчики. В любой момент времени обмен происходит между мастером и одним устройством, так что время не зависит от количества устройств.
А смысл? Если я проверяю обмен когда штатный опрос остановлен - то прочие slave не опрашиваются.
Если запускаю опрос - то драйвер выполняет ззапись вставляя ее приоритетно в очередь планировщика. И перестраивает порядок следующих запросов, сдвигая ввниз неприоритетные.
Да, можно получить задержку инициировав условно одновременно десяток записей в разные модуля, соответственно задержка будет (врямя цикла * количество записей).
ну то есть у вашего шлюза какие то аппаратные проблемы ? если он не может работать в Home Assistant так же как шлюз который в три раза дешевле
у меня столько же инфы сколько и у вас, админка очень похожа на вашу
ваших шлюзов у меня 5 штук разных ревизий и самые последние тоже есть и ни один нормально не работает, зачем столько денег потратил непонятно
Покажите пожалуйста, продемонстрируйте что именно не работает. Вот например логи опроса.
Если оборудование не устраивает - то у нас есть схема возврата.
Напомню - WB-MGE это просто шлюз. Он никак не модифицирует то что принято от мастера и от устройств.
Да. Вот сейчас.
Пример:
time for i in {0..50}; do modbus_client_rpc -mtcp 10.0.0.71 -o 250 -a11 -t0x05 -r 1500 1; modbus_client_rpc -mtcp 10.0.0.71 -o 250 -a11 -t0x05 -r 1500 0; done
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
SUCCESS: written 1 element
real 2m47.544s
user 0m50.719s
sys 0m6.366s
Видно что одна запись, даже неприоритетная на полностью занятой драйвером шине занимает ~1,6 секунды.
Если работать через драйвер, когда запись приоритизируется то ~45мс на один обмен. Да, это больше расчетнгого - но так как запись вызывается асинхронно - то драйвер дожидается завершения текущего в очереди, уже запущенного обмены и запускает запись.