Циклически пропадает связь web ui

я устройство не отключал, только текст в шаблоне вернул как было. ШАблон не заменял.
После mqtt-delete-retained "/devices/#" глючить перестало, вроде есть коннект, но все девайсы слетели ((


теперь буду вспоминать как все настраивается. Эта команда все устройства скидывает?

Зайдите в web-интерфейс и добавьте ваше устройство с исходным шаблоном, должно все появится. Перезагрузите контроллер, если не получится. Команда только mqtt-топики удаляет из очереди сообщений, так она ничего не скидвает.

хм… Там было не только это устройство. Там еще WBIO-DO-R10R-4 был и модули расширения.
ну и этот релейный модуль по 53 адресу.
Ребутнул, как вы и сказали, и у меня все восстановилось! Очень хорошо, удалился только 53 девайс. Большое спасибо за помощь!
Можно ли теперь сделать какие-то выводы из всего этого? Не трогать шаблоны? Но мне показалось, с ними удобно… Как применять эту команду mqtt-delete-retained "/devices/#" в каких случаях?
Что это вообще было?)

Можно трогать шаблоны, в этом ничего страшного нет. Нужно только копировать существующий шаблон в новый и менять в нем имя/тип устройства на свой. У вас проблема с кодировками: предполагаю, что вы что-то где-то напечатали при редактировании шаблона в русской раскладке и сохранили не в UTF.

Про команду можно почитать здесь: https://wirenboard.com/wiki/index.php/MQTT
Коротко о том, что было: из-за испорченного шаблон при назначении его устройству в mqtt-очередь добавились сообщения с нечитаемыми символами. Они и привели к ошибкам. Я не знал, какое именно сообщение мешает, поиск мог занять длительное время, поэтому попросил вас удалить все.

Удачи!

1 лайк

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

нда, так просто не уйти с темы…
Я в имещемся шаблоне изменил одну букву со строчной на заглавную. Надеялся в вэбморде увидеть изменения. Вместо этого там появилась еще одна строка с измененной буквой. Я ребутнул контроллер - ничего не поменялось. Тогда я вернул все как было, но у меня изменилась эта вторая строка и теперь их две одинаковые.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Тогда я решил удалить устройство, чтобы заново его прописать - оно не удаляется из морды. В настройках его нет, в файле …serial его тоже нет - там все пусто

{
“debug”: false,
“ports”: [
{
“path”: “/dev/ttyAPP1”,
“devices”: [],
“port_type”: “serial”,
“parity”: “N”,
“data_bits”: 8,
“stop_bits”: 2,
“poll_interval”: 10,
“enabled”: true,
“baud_rate”: 9600
},
а в морде оно продолжает отобажаться, хоть и контроллер на него не реагируется, светодиод статуса горит непрерывно. Как его вычистить? Я, может, что-то не так делаю, есть еще мануал по шаблонам? Не может же так все глючно работать, я что-то не так делаю, а натыкаюсь на новые и новые грабли. Хотел просто добавить новые поля к устройству, чтобы обозревать его настройки.

А теперь, после удаления из настроек этого MR3 она осталась в морде, зато допмодули изчезли, хотя они есть в настройках хардвейра.
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
просто жуть какая-то…
Хочется сказать, что за контроллер такой, но столько людей работают на нем, что не может он быть глючным, но как так-то?! Может еще где-то что-то прописывается и я это не учитываю?

прошло некоторое время и девайсы из хардвэйр появились. Но и удаленный MR3 так и не исчезает… Такое впечатление, что морда живет какой-то своей жизнью)

Вы знаете, в вашем случае нет глюков и “своей жизни”, поведение во многом становится предсказуемым,если разобраться с технологиями, которые используются в основе функционирования. Проблема с которой вы столкнулись, решается с помощью того же mqtt_delete_retained, но уже для сообщений от конкретного устройства.
Теоретическая часть: “Очистка очереди сообщений” в статье https://wirenboard.com/wiki/index.php/MQTT
Практическая часть: посмотрите в Settings, какой mqtt-топик отвечает за “неправильный” контрол и удалите его. После этого он должен исчезнуть из веб-интерфейса. Перезагрузите страницу, если не исчез. Имя контрола должно быть таким: “/devices/wb-mr3_53/controls/Safety TImer”, с заглавной “I” в слове “Timer”.

2 лайка

Хотелось бы еще уточнить, получить инструкцию.
Если я вношу изменения в шаблон через файл, или удаляю устройство (реальное, виртуальное)
кроме ребута, можно ли рестартом отдельных служб обновить конфигурацию морды, бриджа и все привести в порядок?
Пока что я очищаю очередь
MQTT mqtt-delete-retained “/devices/#”;
рестартую последовательные устройства
service wb-mqtt-serial restart,
но все-равно нужен ребут, чтобы все восстановилось нормально. Может, что-то еще надо рестартануть? Долго ждать ребутов, потом восстанавливать соединения и т.д.((

Проще всего вам удалять не все устройства, а “лишние”, указывая их имя после /devices, например, /devices/wb-mr3_42/#, в этом случае можно не перезагружать контроллер.

а я думал это я очередь MQTT очищаю и ничего не удаляю. Я перепутал?
mqtt-delete-retained “/devices/#”;

Да, если устройство удалено из конфигурации, to wb-mqtt-serial о нем больше не знает, и после очистки очереди оно пропадет и из web-морды. wb-mqtt-serial после удаления обычно перезагружается сам.

но у меня после этих двух команд вообще морда идет в расход, и чтобы все стало как должно быть, мне требуется ребут(
Я так понял, что очистив очередь я удаляю упоминания обо всех контроллах, которые были/есть. рестартую serial, и по идее (как я думаю) после рестарта доллжна образоваться новая картина топиков и морда восстановится. но этого не происходит и требуется ребут.

Удалять информацию обо всех устройства – достаточно жестко, есть еще устройства, которые создаются специальными сервисами: wb-homa-adc, wb-homa-ism-radio, wb-hwconf-manager, wb-homa-w1, возможно, что-то упустил. Их перезагрузка поможет наполнить очередь нужными топиками, но лучше удалять топики из очереди “прицельно”, для конкретного устройства.

понял, очередь значит буду удалять адрессно. А как рестартануть без ребута считывание бриджа? Чтобы я, например, добавил топик, прописал его в бридже, потом без ребута всего WB увидел, что топики пошли в mosquitto?

service mosquitto restart

1 лайк

Спасибо! У меня не работала эта команда(( оказалось, надо быть внимательнее к написанию)