Проблема с правилом

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

Нет ли в сети устройств с одинаковыми адресами? Предлагаю пока отключить остальные устройства и решить проблему с диммером.

Вот это довольно странно, не должно быть связано. Ошибка возникает только один раз или каждый раз при срабатывании правила?

Отключите для теста физически остальные Modbus-модули и их опрос в конфигурации, оставьте только диммер.
Обновите ПО контроллера. Затем постарайтесь определить минимальный состав правил и функций в них, которые вызывают ошибку. Лишние правила и функции удалите, сделав резервную копию. Оставьте только те правила, которые участвуют в управлении диммером.

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

У меня только 5 modBUS устройств: 4 MR6LV и 1 WB-MRGBW
У них у всех точно разные адреса

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

Что это за информация, как ее собрать?
И есть инструкция по обновлению ПО контроллера? Она не затронет версию движка правил? (не хотелось бы его обновлять)

Попробую подключить диммер отдельно

Для примера:

dev["buzzer/enabled"] = true;
var timerLongPress = 0;



//в правиле делаем так
if (timerLongPress != 0) {
  clearTimeout(timerLongPress); 
}
timerLongPress = setTimeout(function () {
				dev["buzzer/enabled"] = false;
				timerLongPress = 0;
                }, 500);

Описано здесь: Веб-интерфейс контроллеров Wiren Board — Wiren Board

Если у вас такого меню нет, то ПО контроллера довольно старое. В таком случае выполните команду в консоли:

dpkg -l

Весь вывод (он довольно длинный) команды пришлите в виде отдельного файла.

И есть инструкция по обновлению ПО контроллера? Она не затронет версию движка правил? (не хотелось бы его обновлять)
Да, инструкция здесь:
Обновление прошивки контроллера Wiren Board — Wiren Board

При обновлении будут обновляться все компоненты, даже ядро. Если очень не хотите обновлять ПО - пришлите архив с диагностикой или версиями пакетов, чтобы посмотреть, не очень ли старые версии пакетов у вас установлены. Но если они старые, то, вероятно, что многие ошибки уже были исправлены.

Попробовал подключить диммер ко второму порту RS-485 (на нем ничего больше не висит).
Ошибка выскакивать перестала, но реле (подключенные к первому порту RS-485) все равно хаотично переключаются после отработки правила.

dpkg.txt (67.3 КБ)

Довольно странно. Возможно, стоит попробовать запитать сам диммер и ленту от одного источника, если конечно питание ленты не превышает 28 В (V+ соединить с “+”, GND и “-” уже соединены внутри модуля).

При этом случайно не открыта страница Devices в веб-интерфейсе? Попробуйте закрыть браузер и проверить работу правил.

У вас очень старые версии ПО. Понимаю, что не хочется ничего менять и обновлять. Но, думаю, пытаться что-либо диагностировать и решать проблемы, которые уже вероятно решены в новых версиях, будет пустой тратой времени…

Какая у вас аппаратная версия контроллера?

WB6

Попробую закрыть браузер.
И, действительно, нужно выделить время на обновление версий…

это не помогло

Добрый день!
Обновил версии и у меня возникло несколько проблем, которые пока не понимаю как победить:

  1. возникает ошибка с обновлением mariadb
Спойлер
dpkg: error processing package mariadb-server-10.1 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mariadb-server:
 mariadb-server depends on mariadb-server-10.1 (>= 10.1.48-0+deb9u2); however:
  Package mariadb-server-10.1 is not configured yet.

dpkg: error processing package mariadb-server (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 mariadb-server-10.1
 mariadb-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
  1. в Настройках/Система пишет на кнопке “Сервис диагностики не доступен”
  2. у меня есть кнопка, подключенная ко входу W1. Раньше нажатие с нее обрабатывалось скриптом https://support.wirenboard.com/t/odnokratnoe-i-dlitelnoe-nazhatie-knopki-dlya-upravleniya-svetom/6939/22
    Сейчас получается так, что даже для срабатывания кнопки при одинарном нажатии требуется подержать ее дольше обычного (порядка секунды), а двойное нажатие вообще не распознается. Вроде как на входах модуля WBIO-DI-WD-14 все продолжает работать как и раньше.

Радует, что первоначальная проблема вроде как ушла - буду еще мониторить.

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

Какая аппаратная версия вашего контроллера Wirenboard? Какая версия ПО была установлена перед обновлением? Каким способом обновляли ПО?

Этот пакет не предустанавливается на контроллер, для работы штатного ПО он не нужен. Вы используете стороннее ПО? Если нет, то можно удалить этот пакет.

Перезагрузите контроллер, затем проверьте работает ли соответствующий сервис командой:

systemctl status wb-diag-collect

Если нет, то выполните команды:

systemctl enable wb-diag-collect
systemctl start wb-diag-collect

Пришлите архив с диагностической информацией контроллера после запуска сервиса.

То есть до обновления все работало, после обновления перестало? Не может ли быть проблема в чрезмерной загрузке процессора? Пришлите скриншот команды top.

WB6, Не обновлялся после покупки несколько лет назад.
Перед обновлением была вот такая конфигурация Проблема с правилом - #19 от пользователя bocman
А обновлялся через консоль

получается вот так:

# systemctl enable wb-diag-collect
Failed to enable unit: File wb-diag-collect.service: No such file or directory

Да, именно так. Время срабатывания остальных кнопок также увеличилось…
Скриншот Top:

Вполне нормально. Релиз

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

что-то дообновилось, но результат остался таким же…

Сейчас вот такая ситуация:

~# apt list --upgradable
Listing... Done
linux-image-wb6/stable 5.10.35-wb111 armhf [upgradable from: 4.9+wb20210309093830]
wb-configs/stable 2.3.4 all [upgradable from: 2.0~~transitional]
wb-dt-overlays/stable 1.5.0 all [upgradable from: 1.3]
wb-hwconf-manager/stable 1.50.0 all [upgradable from: 1.38.3]
wb-utils/stable 3.5.1 all [upgradable from: 2.1.5]
root@wirenboard-AKVWZOQY:~# apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  galera-3 libatomic1 libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl
  libhttp-date-perl libhttp-message-perl libio-html-perl libjsoncpp1 liblwp-mediatypes-perl liburi-perl libwbmqtt libwbmqtt0 libwbmqtt1 lsof python-cffi-backend
  python-chardet python-cryptography python-enum34 python-gspread python-httplib2 python-idna python-ipaddress python-oauth2client python-openssl
  python-pkg-resources python-pyasn1 python-pyasn1-modules python-requests python-rsa python-setuptools python-uritemplate python-urllib3 rsync socat wb-homa-gpio
  wb-homa-w1
Use 'apt autoremove' to remove them.
The following packages have been kept back:
  linux-image-wb6 wb-configs wb-dt-overlays wb-hwconf-manager wb-utils
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

не понятно почему пишет, что часть пакетов можно обновить, но не обновляет

Команда apt list --upgradable выводит список доступных для обновления пакетов.

ПО контроллера, вероятно, было довольно старым. Выполните, пожалуйста, обновление по этой инструкции:
https://wirenboard.com/wiki/New_repository_April_2021

Спасибо!
Получилось!
Диагностическая информация: diag_output_AKVWZOQY_2022-06-22-22.19.42.zip (100.9 КБ)
На текущий момент основная проблема в, что и кнопки, подключенные к входам W1/W2 и кнопки, подключенные к WBIO-DI-WD-14 стали “тупить” - срабатывать только при заметно более долгом нажатии.

Команду

apt update && apt dist-upgrade

выполняли два раза?

Как я понимаю пакеты обновились, но сейчас еще работает ядро 4.9.22. При обновлении ядра контроллер после обновления нужно перезагрузить. Перезагрузите контроллер, чтобы загрузилось новое ядро 5.10. Проверьте работу входов.
Если проблема останется, то пришлите диагностический архив еще раз. Также пришлите скриншот вывода команды top, чтобы проверить загрузку процессора.

да

перезагрузил, вот диагностика diag_output_AKVWZOQY_2022-06-23-21.54.54.zip (103.6 КБ)
и top

WBIO-DI-WD-14 вроде заработал нормально, но W1/W2 продолжают “тупить”

Пока не вижу никаких ошибок и проблем в диагностической информации. То есть входы срабатывают с задержкой?
Остановите на всякий случай сервис wb-mqtt-w1 командой:

systemctl stop wb-mqtt-w1

Затем подпишитесь на топик входа W1 командой с выдачей отметки времени и понажимайте на кнопку с разной скоростью:

mosquitto_sub -v -t /devices/wb-gpio/controls/W1_IN | ts '%H:%M:%.S'

Вывод команды пришлите. Должно быть примерно так:

root@wirenboard-ATHXPBSP-PLC1:~$mosquitto_sub -v -t /devices/wb-gpio/controls/W1_IN | ts '%H:%M:%.S'
09:37:12.231159 /devices/wb-gpio/controls/W1_IN 0
09:37:12.983151 /devices/wb-gpio/controls/W1_IN 1
09:37:13.125311 /devices/wb-gpio/controls/W1_IN 0
09:37:13.265894 /devices/wb-gpio/controls/W1_IN 1
09:37:13.400110 /devices/wb-gpio/controls/W1_IN 0
09:37:13.781190 /devices/wb-gpio/controls/W1_IN 1
09:37:13.912104 /devices/wb-gpio/controls/W1_IN 0
1 лайк