Крашится wb-rules без правил

Добрый день.

Aug 02 12:42:03 wirenboard-AH4I445Z wb-rules[21159]: INFO: [rule info] wb-engine init
Aug 02 12:42:03 wirenboard-AH4I445Z wb-rules[21159]: INFO: all rule files are loaded
Aug 02 12:42:07 wirenboard-AH4I445Z wb-rules[21159]: INFO: [rule info] Traceback (most recent call last):
                                                       File "/usr/bin/wb-engine-helper", line 877, in <module>
                                                         main()
                                                       File "/usr/bin/wb-engine-helper", line 872, in main
                                                         return args[sys.argv[1]]()
                                                       File "/usr/bin/wb-engine-helper", line 860, in start
                                                         if ('devices_config' in config): initHass()
                                                       File "/usr/bin/wb-engine-helper", line 579, in initHass
                                                         hassAdd(device)
                                                       File "/usr/bin/wb-engine-helper", line 423, in hassAdd
                                                         if (control['id'] not in device_live['controls']): continue
                                                     KeyError: 'controls'

Для начала - исключите все стороннее ПО. В частности модуль - wb-engine. Ну и проверьте как работает.

результат тот же.
diag_output_AH4I445Z_2024-08-02-18.49.09.zip (446,1 КБ)

$SYS/broker/load/messages/received/1min	8931.99
$SYS/broker/load/messages/sent/1min	183182.79
$SYS/broker/load/publish/sent/1min	174260.36

Подозреваю что и iops на раздел зашкаливают.
Во-первых отключите persistence в mosquitto.conf
Ну и - подпишитесь на весь брокер, такое количество публикаций будет, пожалуй, видно сразу. Нужно установить источник, 3К публикаций/секунду - такое впечатление что есть зацикленный скрипт.
Если wb-rules остановить - количество падает?
И не включайте wb-engine.

Cделал. wb-engine выключен.
результат до отключения wb-rules:

$SYS/broker/load/messages/received/1min 7963.36
$SYS/broker/load/messages/sent/1min 25528.26
$SYS/broker/load/publish/received/1min 15.22
$SYS/broker/load/publish/sent/1min 17557.72
$SYS/broker/load/bytes/received/1min 606352.57
$SYS/broker/load/bytes/sent/1min 920370.39
$SYS/broker/load/sockets/1min 0.94
$SYS/broker/load/connections/1min 1.06

результат после отключения wb-rules:

$SYS/broker/load/messages/received/1min 7878.61
$SYS/broker/load/messages/sent/1min 22889.07
$SYS/broker/load/publish/received/1min 5.54
$SYS/broker/load/publish/sent/1min 15004.31
$SYS/broker/load/bytes/received/1min 600341.02
$SYS/broker/load/bytes/sent/1min 789878.71
$SYS/broker/load/sockets/1min 0.22
$SYS/broker/load/connections/1min 0.24

уже делал тест с удалением всех правил wb-rules - не помогло

Кстати, забыл ещё указать, после перехода на testing контроллер стал ещё перезагружаться пару раз в сутки. Вот пример последних строчек перед перезагрузкой (судя по логам перезагрузка произошла в 04-08-2024 00:38:56

приложен диагностический архив, доступен только сотрудникам поддержки
(458,0 КБ)
:

04-08-2024 00:38:56.761	Movable zone start for each node
04-08-2024 00:38:56.761	Movable zone start for each node
04-08-2024 00:38:56.761	  Normal   [mem 0x0000000100000000-0x000000013fffffff]
04-08-2024 00:38:56.761	  DMA32    empty
04-08-2024 00:38:56.761	  DMA      [mem 0x0000000040000000-0x00000000ffffffff]
04-08-2024 00:38:56.761	Zone ranges:
04-08-2024 00:38:56.761	NUMA: NODE_DATA [mem 0x13f7b89c0-0x13f7bafff]
04-08-2024 00:38:56.761	NUMA: Faking a node at [mem 0x0000000040000000-0x000000013fffffff]
04-08-2024 00:38:56.761	NUMA: No NUMA configuration found
04-08-2024 00:38:56.761	OF: reserved mem: 0x0000000040000000..0x000000004003ffff (256 KiB) nomap non-reusable secmon@40000000
04-08-2024 00:38:56.761	efi: UEFI not found.
04-08-2024 00:38:56.761	efi: UEFI not found.
04-08-2024 00:38:56.761	Machine model: Wiren Board rev. 8.4.3 (T507)
04-08-2024 00:38:56.761	KASLR disabled due to lack of seed
04-08-2024 00:38:56.761	Linux version 6.8.0-wb17 (root@wbdevenv) (aarch64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Thu Jul 25 08:49:29 UTC 2024
04-08-2024 00:38:56.760	Booting Linux on physical CPU 0x0000000000 [0x410fd034]
04-08-2024 00:28:55.110 [wb-cloud-agent-telegraf]	2024-08-03T21:28:55Z E! [agent] Error writing to outputs.influxdb_v2::influx-wbc: failed to send metrics to any configured server(s)
04-08-2024 00:28:55.106 [wb-cloud-agent-telegraf]	2024-08-03T21:28:55Z E! [outputs.influxdb_v2::influx-wbc] When writing to [https://influx.wirenboard.cloud]: 520 : 520
04-08-2024 00:28:36.867 [wb-mqtt-serial]	WARNING: [modbus] failed to read 6 coil(s) @ 0 of device modbus:19: Serial protocol error: request timed out
04-08-2024 00:27:29.730 [wb-mqtt-serial]	WARNING: [modbus] failed to read 7 coil(s) @ 5100 of device modbus:102: Serial protocol error: malformed response: invalid crc
04-08-2024 00:27:09.794 [wb-cloud-agent-telegraf]	2024-08-03T21:27:09Z E! [agent] Error writing to outputs.influxdb_v2::influx-wbc: failed to send metrics to any configured server(s)
04-08-2024 00:27:09.794 [wb-cloud-agent-telegraf]	2024-08-03T21:27:09Z E! [agent] Error writing to outputs.influxdb_v2::influx-wbc: failed to send metrics to any configured server(s)
04-08-2024 00:27:09.782 [wb-cloud-agent-telegraf]	2024-08-03T21:27:09Z E! [outputs.influxdb_v2::influx-wbc] When writing to [https://influx.wirenboard.cloud]: Post "https://influx.wirenboard.cloud/api/v2/write?bucket=mqtt-data-81f272b3&org=poohvlzgmailcom-b2ef26b4": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
04-08-2024 00:25:06.765 [wb-cloud-agent-telegraf]	2024-08-03T21:25:06Z E! [agent] Error writing to outputs.influxdb_v2::influx-wbc: failed to send metrics to any configured server(s)
04-08-2024 00:25:06.760 [wb-cloud-agent-telegraf]	2024-08-03T21:25:06Z E! [outputs.influxdb_v2::influx-wbc] When writing to [https://influx.wirenboard.cloud]: Post "https://influx.wirenboard.cloud/api/v2/write?bucket=mqtt-data-81f272b3&org=poohvlzgmailcom-b2ef26b4": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
04-08-2024 00:24:08.026 [wb-mqtt-serial]	WARNING: [modbus] failed to read 1 holding(s) @ 91 of device modbus:82: Serial protocol error: request timed out
04-08-2024 00:21:38.946 [wb-mqtt-serial]	WARNING: [modbus] failed to read 10 coil(s) @ 5100 of device modbus:153: Serial protocol error: request timed out

прикладываю видео, помогите в нём разобраться: MQTT Explorer 2024-08-04 01-07-12.mp4 — Яндекс Диск
Если смотреть по $SYS/broker/load/messages/sent/1min , то средняя нагрузка 25000 сообщений в минуту, если смотреть по MQTT exporer, то в среднем за 10 секунд 400-450 сообщений отправляется, а это ~2500, что ровно в 10 раз меньше, что пишется в $SYS/broker/load/messages/sent/1min
Как видно в видео, самые обновляемые топики это датчик движения и звука MSW, я увеличил вручную их опрос до 500мс, но это не помогло.

А вот смог как-то дождаться нагрузки в 250к сообщений в минуту, но если посмотреть все через MQTT Explorer, то не видно такой нагрузки

Это возможно, testing довольно активно меняется.
Вернитесь на staable, нам будет так проще.

Как следует из документации брокера топик показывает количество отправленных. В том числе и подписчикам.
Добился у себя синтетически похожего:

$SYS/broker/load/messages/sent/1min 249286.95

И да, при этом обмен, как ни странно с nginx.
Попробуйте, ради теста остановить сам вебсервер - посмотрим. Но кажется причина более-менее понятна.

Боюсь не смогу ничего посоветовать по “MQTT Explorer”, не пользовался.

Остановил nginx, наблюдаю. Если нужен доступ к контроллеру, готов предоставить.

Не помогло, отключение nginx смогло ещё немного уменьшить отправку сообщений, но перед падением был явный всплеск отправки сообщений

$SYS/broker/load/messages/sent/1min 10316.12
$SYS/broker/load/publish/sent/1min 7075.25
$SYS/broker/load/bytes/sent/1min 382436.07
$SYS/broker/load/bytes/sent/1min 394109.09
$SYS/broker/load/messages/sent/1min 10732.14
$SYS/broker/load/publish/sent/1min 7343.47
$SYS/broker/load/bytes/sent/1min 396721.93
$SYS/broker/load/publish/sent/1min 7356.90
$SYS/broker/load/bytes/sent/1min 397466.26
$SYS/broker/load/messages/sent/1min 20974.04  -- предположительно упал тут.
$SYS/broker/load/publish/sent/1min 15461.52
$SYS/broker/load/bytes/sent/1min 942873.04
$SYS/broker/load/messages/sent/1min 19330.10
$SYS/broker/load/publish/sent/1min 14153.48
$SYS/broker/load/bytes/sent/1min 854280.92
$SYS/broker/load/messages/sent/1min 17885.69
$SYS/broker/load/publish/sent/1min 13015.20
$SYS/broker/load/bytes/sent/1min 778093.85
$SYS/broker/load/messages/sent/1min 16620.20
$SYS/broker/load/publish/sent/1min 12024.65
$SYS/broker/load/bytes/sent/1min 712437.59
SYS/broker/load/messages/sent/1min 10660.32
$SYS/broker/load/publish/sent/1min 7294.42

Попробую выключить правила и повторить тест

Результата всё ещё нет :frowning: Знатно я намучался и жена уже грозится из неработающего дома выгнать…
В общем, входящие данные такие: nginx выключен, все правила (кроме одного, отвечающего за нажатия выключателей и включение реле) выключены, нагрузка сообщениями низкая, но контроллер в 2024-08-05 19:12:17 ушёл в перезагрузку. В системной журнале пусто.
diag_output_AH4I445Z_2024-08-05-20.16.53.zip (577,7 КБ)

2024-08-05T19:04:24+0300 $SYS/broker/load/messages/sent/1min 10273.55
2024-08-05T19:04:35+0300 $SYS/broker/load/messages/sent/1min 8776.49
2024-08-05T19:04:46+0300 $SYS/broker/load/messages/sent/1min 7387.66
2024-08-05T19:04:57+0300 $SYS/broker/load/messages/sent/1min 6254.32
2024-08-05T19:05:08+0300 $SYS/broker/load/messages/sent/1min 5294.38
2024-08-05T19:05:19+0300 $SYS/broker/load/messages/sent/1min 4508.02
2024-08-05T19:05:30+0300 $SYS/broker/load/messages/sent/1min 3843.34
2024-08-05T19:05:41+0300 $SYS/broker/load/messages/sent/1min 3289.09
2024-08-05T19:05:52+0300 $SYS/broker/load/messages/sent/1min 2820.37
2024-08-05T19:06:03+0300 $SYS/broker/load/messages/sent/1min 2420.11
2024-08-05T19:06:14+0300 $SYS/broker/load/messages/sent/1min 2077.76
2024-08-05T19:06:25+0300 $SYS/broker/load/messages/sent/1min 1832.05
2024-08-05T19:06:36+0300 $SYS/broker/load/messages/sent/1min 1595.52
2024-08-05T19:06:47+0300 $SYS/broker/load/messages/sent/1min 1408.66
2024-08-05T19:06:58+0300 $SYS/broker/load/messages/sent/1min 1259.50
2024-08-05T19:07:09+0300 $SYS/broker/load/messages/sent/1min 1118.87
2024-08-05T19:07:20+0300 $SYS/broker/load/messages/sent/1min 999.06
2024-08-05T19:07:31+0300 $SYS/broker/load/messages/sent/1min 932.22
2024-08-05T19:07:42+0300 $SYS/broker/load/messages/sent/1min 868.34
2024-08-05T19:07:53+0300 $SYS/broker/load/messages/sent/1min 807.86
2024-08-05T19:08:04+0300 $SYS/broker/load/messages/sent/1min 764.82
2024-08-05T19:08:15+0300 $SYS/broker/load/messages/sent/1min 723.51
2024-08-05T19:08:26+0300 $SYS/broker/load/messages/sent/1min 690.03
2024-08-05T19:08:37+0300 $SYS/broker/load/messages/sent/1min 677.69
2024-08-05T19:08:48+0300 $SYS/broker/load/messages/sent/1min 647.31
2024-08-05T19:08:59+0300 $SYS/broker/load/messages/sent/1min 626.60
2024-08-05T19:09:10+0300 $SYS/broker/load/messages/sent/1min 591.08
2024-08-05T19:09:21+0300 $SYS/broker/load/messages/sent/1min 577.04
2024-08-05T19:09:32+0300 $SYS/broker/load/messages/sent/1min 552.56
2024-08-05T19:09:43+0300 $SYS/broker/load/messages/sent/1min 544.97
2024-08-05T19:09:54+0300 $SYS/broker/load/messages/sent/1min 526.78
2024-08-05T19:10:05+0300 $SYS/broker/load/messages/sent/1min 505.24
2024-08-05T19:10:16+0300 $SYS/broker/load/messages/sent/1min 495.53
2024-08-05T19:10:27+0300 $SYS/broker/load/messages/sent/1min 486.53
2024-08-05T19:10:38+0300 $SYS/broker/load/messages/sent/1min 492.75
2024-08-05T19:10:49+0300 $SYS/broker/load/messages/sent/1min 510.71
2024-08-05T19:11:00+0300 $SYS/broker/load/messages/sent/1min 505.57
2024-08-05T19:11:11+0300 $SYS/broker/load/messages/sent/1min 493.06
2024-08-05T19:11:22+0300 $SYS/broker/load/messages/sent/1min 486.31
2024-08-05T19:11:33+0300 $SYS/broker/load/messages/sent/1min 484.34
2024-08-05T19:11:44+0300 $SYS/broker/load/messages/sent/1min 496.40
2024-08-05T19:11:55+0300 $SYS/broker/load/messages/sent/1min 502.79
2024-08-05T19:12:06+0300 $SYS/broker/load/messages/sent/1min 498.06
2024-08-05T19:12:17+0300 $SYS/broker/load/messages/sent/1min 484.07

Позвал разработчиков, смотрят на тему. у меня идеи кончились.
Пришлите в облаке приглашение на доступ к организации на адрес support@wirenboard.com

Создан багрепорт, разбираемся.

2 лайка

Файл временно перенесен:

mv /etc/wb-rules/button.js /root/

Как я понимаю контроллер перезапустился.
Причем дважды.
Предлагаю заменить его.

Что для этого нужно?

Давайте мы бесплатно поменяем вам оборудование. Курьер привезёт новое оборудование и заберёт старое:

WB8.4 - 1 шт.

Для возврата напишите, пожалуйста, письмо на info@wirenboard.com.
В письме укажите:

  • ссылку на эту тему,
  • серийный номер AH4I445Z,
  • (для курьера) ваш действующий телефон, адрес доставки, ФИО получателя.

@Aleksandr.vlz Помогла ли замена оборудования? Не воспроизводится проблема?

Да, помогла