Програмное отключение/включение опроса устройства

Добрый день, хочется иметь возможность отключать и включать обратно опрос устройства на шине rs-485. Для чего это надо, есть устройство Single Phase Power Regulation на 3.5КВт, которое используется в качестве дополнительного. Держать его включенным безнагрузки очень не хочется, поэтому оно включается (падается питание) по требованию, перед включением на нем нагрузки. И все работает нормально, за исключением флуда ошибок на шине,когда оно выключено. Заранее спасибо.

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

В настройках wb-mqtt-serial можно отключить опрос конкретного устройства:

или в конфигурационном файле у устройства добавить строку:

 "enabled" : false,

Это описано в документации здесь.

Добрый день, я это понимаю, только эти изменения не цепляются на лету. Они требуют перезагрузки wb-mqtt-serial которое занимает кучу времени и в этот момент ничего не работает, что не допустимо. Или я что то путаю и есть способ остановить / включить опрос устройства в real time?

К сожалению, нет.
Без перезагрузки драйвера настройки не применятся.

соотвественно такой возможности нет. И этот вопрос уже возникает не перввый раз. И это серьезное ограничение. Пожалуйста, помогите понять почему не был реализован reload для данного демона? С кем можно поговорить на эту тему?

root@dr-wb:/mnt/data# systemctl reload wb-mqtt-serial
Failed to reload wb-mqtt-serial.service: Job type reload is not applicable for unit wb-mqtt-serial.service.

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

Я вам не смогу сразу ответить почему, но могу обсудить это с разработчиками 12-го числа.

А в чем вы заметили критичность кратковременной перезагрузки драйвера? Что в этом случае престает работать, кроме опроса?

Критичность в том что в этот момент опрос не работает -))) у меня три шины rs-485, 2е критичные, нельзя терять, очень не хочется терять опрос, а на третьей висят устройства которые не критичны. Есть ли возможность перегрузить только одну шину?

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

Заранее огромное спасибо!

так вот это очень странно. Оно же после третьей ошибки просто помечает устройство как неотвечающее и больше ничего в лог не пишет. У вас не так?

Покажите пожалуйста тогда версии, логи и т.п., чтобы мы могли воспроизвести.

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

настройки же редко надо менять - если мы говорим о добавлении / удалении устройства, то вы правы, это редкая операция. Но разговор то идет о програмном выключении / включении опроса устройства. Этот запрос возникает регулярно, и затихает на отделе поддержки с ответом такой возможности нет.

Я изначально описал сценарий, держать на 3.5Квт Phase Power Regulation без нагрузки очень не хочется. Включается он как дополнительный, чтобы поддержать температуру в помещениях и в зависимости от погоды потребность в нем может возникать и не раз в сутки, а может и не возникнуть ))

Да и сервис обычно перезагружается довольно быстро. - для меня это звучит как давайте перегрузим все светофоры в городе, они же быстро перегружаются ) В моем случае ничего не будет работать примерно 42 сек. в непредсказуемый интервал времени.

date +“%H:%M:%S:%N” && systemctl restart wb-mqtt-serial && date +“%H:%M:%S:%N”
09:35:55:067506780
09:36:36:949752664

Я понимаю, что реализация перезагрузки всего конфига в реалтайме это серьезная разработка и еще больше тестирование поведения сервиса после перезачитывания параметров. Поэтому изначальный вопрос и стоял только о флаге Enabled \ Disabled, что, с моей колокольни, выглядит как менее сложно реализуемый и легче тестируемый вариант, который позволит на лету отключать опросы не нужных устройств и включать нужных. Я готов помочь в этом направлении, скажите чем.
Заранее спасибо

Давайте лучше в эту сторону подумаем. Сценарий с не отвечающим устройством мы прорабатывали, у вас оно явно работает не так, как мы задумывали. Помогите нам пожалуйста отладить и исправить.

Подскажите а у вас много регистров в устройстве используется? Может есть смысл перейти на чтение с помощью правила, которое будет использовать modbus_client_rpc?

Добрый день!

Ожидаем от вас логи в момент отключения Single Phase Power Regulation.

Лучше сформировать диагархив.

Создание архива описано в документации.

Дико извиняюсь за паузу. Подскажите что собрать, я соберу руками, так как wb-diag-collect diag в принципе не работает )) чтобы не флудить, детали тут

Возможно полезная информация

Wiren Board 6.7.2 (s/n AEH7VGI), release wb-2507 (as stable)

apt policy wb-mqtt-serial
wb-mqtt-serial:
  Installed: 2.180.2-wb100
  Candidate: 2.180.2-wb105
  Version table:
    2.180.2-wb105 990
    990 http://deb.wirenboard.com/wb6/bullseye stable/main armhf Packages
   *** 2.180.2-wb100 100
    100 /var/lib/dpkg/status

Использую данную версию из-за проблем с “большим” кол-вом правил

apt policy wb-rules
wb-rules:
  Installed: 2.35.1~exp~feature+SOFT+5434~1~gd0333b1
  Candidate: 2.35.1~exp~feature+SOFT+5434~1~gd0333b1
  Version table:
 *** 2.35.1~exp~feature+SOFT+5434~1~gd0333b1 991
        991 http://deb.wirenboard.com/all experimental.rules-token-wait-timeout/main armhf Packages
        100 /var/lib/dpkg/status
     2.35.1~exp~feature+SOFT+5434~1~g7103082 991
        991 http://deb.wirenboard.com/all experimental.rules-token-wait-timeout/main armhf Packages
     2.34.0 990
        990 http://deb.wirenboard.com/wb6/bullseye stable/main armhf Packages

7ь регистров

Нужен лог wb-mqtt-serial после отключения, где будет виден “флуд ошибок”, который вам мешает.

journalctl -u wb-mqtt-serial -n 200 -f --no-pager >> wb-mqtt-serial-log.txt

Увеличивали таймаут?

Добрый день, ожидаю от вас логи.