Автоматическое обновление виджетов

Сделал красивое виртуальное устройство, которое динамически меняется с помощью addControl/removeControl.
Вытащил нужные мне свойства в виджет (целиком же нельзя устройство, как виджет использовать), а виджет не подхватывает изменения в основном устройстве. Т.е. удаление контрола не приводит к изменению виджета.

Судя по документации API для управления виджетами у вас нет.

Если я правильно понял, то настройки виджетов лежат в wb-webui.conf. Если я буду этот файл программно менять, то webUi автоматически затащит эти изменения? И можно ли этот файл как-то поделить, чтобы не одной большой портянкой были настройки?

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

Также прошу уточнить, почему не используется wb-rules для управления виджетом?

Настройки виджетов лежат в wb-webui.conf, да, всё так, и менять его тоже можно, но будет требоваться перезапуск службы.

А как через wb-rules виджетом управлять?

Смотря что вы хотите реализовать. По сути все как в конфиге только в другой оболочке.

Дайте, пожалуйста, ссылку на документацию.

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

Ок, именно эту информацию я и привёл в исходном вопросе.
Возвращаемся к началу.

Мои вопросы:

  1. Как сделать так, чтобы WebUI затащил изменения сделанные в webui.conf. Сейчас для того, чтобы обновился виджет нужно целиком перезагрузиться страницу, что для HMI панели очень неудобно.
  2. Как разделить webui.conf на несколько файлов, чтобы не одно большую портянку редактировать, а кусочками (по аналогии с *.d (sshd_config.d, например)

Добрый день

  1. Насколько мне известно, решения “из коробки” нет, но так как там используется обычный Nginx, технически можно реализовать автообновление страницы с помощью AJAX-запросов.

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

  3. Если по простому идти, то рекомендовал бы использовать “Home assistant”
    Там достаточно просто и гибко можно все визуализировать.

1 лайк