На шине RS485 висят 24 устройства WB, сторонних нет, все работают. Обмен со всеми есть, в вебе ошибок и красных значений не вижу, ошибок в логе тоже. Если смотреть на любое устройство, то светодиоды обмена по шине сначала моргают 3-4 с, далее 2с горят и так повторяется Такое ощущение, что опрос прерывается на какой-то таймаут. Это здорово заметно когда скриптом по долгому или двойному нажатию включаю/отключаю свет, время выполнения команды плавает: то моментально, то ждем до 5 секунд. Как выяснить в чем причина и убрать эту задержку в опросе*
Не получается: ни в вэб, ни в консоле. Появляется ошибка
Start data collecting
Traceback (most recent call last):
File “/usr/lib/python3.9/asyncio/subprocess.py”, line 135, in wait
return await self._transport._wait()
File “/usr/lib/python3.9/asyncio/base_subprocess.py”, line 235, in _wait
return await waiter
asyncio.exceptions.CancelledError
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/usr/lib/python3.9/asyncio/tasks.py”, line 492, in wait_for
fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File “/usr/bin/wb-diag-collect”, line 10, in
sys.exit(main())
File “/usr/share/wb-diag-collect/wb/diag/diag_collect.py”, line 71, in main
asyncio.get_event_loop().run_until_complete(
File “/usr/lib/python3.9/asyncio/base_events.py”, line 642, in run_until_complete
return future.result()
File “/usr/share/wb-diag-collect/wb/diag/collector.py”, line 32, in collect
await self.execute_commands(tmpdir, options[“commands”], options[“timeout”])
File “/usr/share/wb-diag-collect/wb/diag/collector.py”, line 121, in execute_commands
await asyncio.wait_for(proc.wait(), timeout=timeout)
File “/usr/lib/python3.9/asyncio/tasks.py”, line 494, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError
Проверьте не включена ли отладка?
При включённой отладке размер системного журнала будет быстро расти, поэтому не забудьте отключить отладку, когда необходимость в ней отпадет. От сюда может быть подвисание работы драйвера.
Прогоните правило через ИИ он вполне подскажет, там или таймер на задержку добавить или press_counter добавит в зависимости от того как реализовано по железу.
Скрипт уже есть. Ситуации в том, что срабатывание выходного реле может случиться через 2-3с после нажатия. В ТГ чате коллеги говорят, что так не должно быть, все срабатывает моментально. Что может быть не так?
</>
var lights = [“wb-mr6cv3_153/K1”, “wb-mr6cv3_153/K2”, “wb-mr6cv3_153/K3”,“wb-mr6cv3_153/K4”];
Это - довольно интересно.
Расскажите пожалуйста как опрашивается канал “wb-mr6cv3_144/Input 2 Long Press Counter”. С какими настройками, либо по быстрому Modbus. Ну и покажите логи.
Также - какое время проходит между началом выполнения функции правила и записью значения в топик модуля реле?
Какое время - между записью (нового) значения в топик - до отправки его в шину?
То есть вопрос скорости срабатывания слагается из нескольких задержек, вносимых каждым этапом. Ну и советую оценить их по отдельности.
Этот канал опрашивается по быстрому модбасу. Добавил в правило еще вывод сообщения в лог, когда изменился топик выхода реле. Итого от получения значения счетчика до изменения значения топика выходного реле проходит максимум 0,150 с.
К сожалению не могу по логам отследить запись в само реле, там периодически идет чтение и запись, хотя в этом время я переключений не делал. Команды на запись подаются только пользователем (через правила, и т.п.) или это системные вещи?
10-05-2026 16:57:25.223 DEBUG: [port] /dev/ttyRS485-1: Write: 99 04 00 04 00 01 6c 13
10-05-2026 16:57:25.005 DEBUG: [serial client] </dev/ttyRS485-1 115200 8 N 1>1204990: Wait until 1205000
10-05-2026 16:57:23.994 DEBUG: [modbus] Poll time for <modbus:74:input: 8756> is too long: 3 ms (sendTime=1997 us, AverageResponseTime=603 us, RequestDelay=0 us, FrameTimeout=15 ms), limit is 1 ms
Такие сообщения периодически проскакивают по разным устройствам, после них бывает несколько сообщений Wait until… и опрос начинается спустя некоторое время: иногда сразу, иногда через 1с (как выше). С чем может быть связано эти сообщения?