Какими способами можно "вытащить" из модуля записанную в него ранее конфигурацию

После обновлений контроллера WB7 в разделе конфигурационных файлов - /etc/wb-mqtt-serial.conf
на вкладках каждого подключенного модуля в пункте “Режим работы” отображается состояние - “неизвестно”. Отсутствуют и все остальные параметры настройки, которые раньше были сделаны и сохранены в эти модули. Понятно что они целы, потому что все модули работают по прежнему нормально.
Вопрос: как можно “вытащить” из модуля записанную в него ранее конфигурацию, иначе существует ли синхронизация данных из модуля в файл конфигурации?
Скорее всего, к сожалению, это невозможно сделать через веб-интерфейс. Но может быть это можно сделать через терминал таким образом, чтобы конфигурация все таки появилась потом и в веб-интерфейсе.
Просто ситуация когда множество сконфигурированных модулей имеется в наличии, а информация об их конфигурации недоступна простыми средствами, очень усложняет обслуживание системы.
И еще не понятны правила по которым происходит запись конфигурации как в сам модуль так и в системный файл на контроллере, который хранит эту конфигурацию. И все это из-за того, что если не менять ранее записанные в модуль поля, то они будут отображаться в веб-интерфейсе /etc/wb-mqtt-serial.conf этого модуля как “неизвестно”, и только поту что нет обратной синхронизации.
Мне кажется, что это чрезвычайно неудобно.

Добрый день.
Пришлите диагностический архив. Укажите ревизию контроллера и версию ПО.

К сожалению, не понимаю о чем речь. Покажите скрином.

При настройке (конфигурировании) через веб-интерфейс все настройки сохранятся в /mnt/data/etc/wb-mqtt-serial.conf, а не в /etc/wb-mqtt-serial.conf. Если настройки произведены в /etc/wb-mqtt-serial.conf, то при обновлении они вернутся к дефолтным.

Подобной функции нет.

Это возможно. Можно сделать скрипт, который опрашивает регистры устройства и формирует файл конфигурации.

Тоже покажите это скрином.

Здравствуйте. Никак.

Конфигуратор разбирает файл /mnt/data/etc/wb-mqtt-serial.conf и строит интерфейс, который вы видите. После ваших изменений и нажатие на кнопку «Записать» он сохраняет установленные настройки в файл.

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

В данном случае (состояние “неизвестно”), насколько я понимаю, это говорит о том, что данный параметр дополнительно не настраивался и он установлен по дефолту.
В целом, если вам необходимо много устройств сконфигурировать одинаковым способом, то вы можете для них сделать свой шаблон взяв за основу оригинальный, и использовать данный шаблон, тогда и настроек по минимуму.

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

Александр, я посмотрел файл wb-mqtt-serial.conf, но вообще не увидел в нем ничего похожего на настройки модуля реле и диммера. А вот в файле wb-mqtt-mbgate, который в 8 раз больше по размеру как раз есть и упоминания модулей и типы нажатий и состояния выходов. НО в любом случае пока абсолютно не понятно как этим можно воспользоваться для того чтобы сохранить настройки большого количества разных модулей, которые находятся в работе, чтобы потом иметь возможно их оперативно не просто восстановить, а сначала уведить и проанализировать.

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

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

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

Она есть в планах.

Описание структуры файла есть тут: GitHub - wirenboard/wb-mqtt-serial: Wiren Board MQTT serial protocol driver

Александр, спасибо. Но я пока не в состоянии разобраться в этой информации, потому что просто не могу связать очевидных для себя вещей, наверное потому что не хватает знаний. Жалко, я надеелся, что уровень входа в простую автоматизацию на WB не потребует столько усилий даже не для их создания а, главное, для обслуживания в будущем.

В общем случае всё работает так:

  1. Вы настраиваете всё в веб-интерфейсе, он сам раскидает всё по файлам настроек.
  2. Сохраняете файлы конфигурации, которые хранятся в папке /mnt/data/etc. Про это есть раздел в инструкции по обновлению прошивки.
  3. Если что-то случится, меняете контроллер и восстанавливаете файлы из резервной копии в папку /mnt/data/etc.

Все сервисы при запуске читают файлы настроек и выполняют, что там настроено. Например, wb-mqtt-serial запишет параметры в modbus-модули при старте.

1 Like

Александр, большое спасибо. Постараюсь найти время и смоделировать все на щите перед тем как отдавать его товарищу. Буду очень признателен, вам если вдруг решите что то еще уточнить по этому поводу. Пока просто нет возможности купить полный комплект WB себе на испытательный стен, но уже очень хочу это сделать несмотря на некоторые разочарования :slight_smile:
Стенды ждут WB, а пока на них простенький, но верный ЛОГО.