Виртуальные устройства и графики


#21

Есть ли обработчик для нажатия кнопки “SAVE”, сохраняющей конфигурационный файл?
Имеется ввиду такой обработчик, который был бы доступен из wb-rules?


#22

а это уже через spawn() или runShellCommand()


#23

Смотрите, действия по save указываются в схеме в начале.

Вы там можете например целиком рестартовать движок правил, или сделать touch на отдельный скрипт с правилами (движок его перезапустит), или, например, выполнить mosquitto_pub в канал виртуального устройства, как уважаемый @Demix выше советовал.


#24

Помогла команда рестарт, добавленная в раздел ConfigFile схемы

  "configFile": {
    "path": "/etc/wb-mqtt-setpoints.conf",
    "restartDelayMS": 4000,
    "service": "wb-mqtt-setpoints"
  },

Теперь изменения вступают в силу после нажатия “SAVE”


#25

Остался вопрос, где находится описание таких возможностей и синтаксис их использования.
Ни Google, ни поиск в форуме и на сайте не дают на это ответа.
Может это все надо искать в Duktape?


#26

Конкретно схемами заведует https://github.com/contactless/wb-mqtt-confed

Лучший способ - смотреть примеры, соседние схемы в /usr/share/wb-mqtt-confed/schemas.

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


#27

Ошибся - не помогла команда
"restartDelayMS": 4000,
Укажите пожалуйста какой командой можно перезагрузить правила.


#28

#29

Добрый день, движок правил перезагружается командой service wb-rules restart


#30

Подставил различные варианты предложенной команды, но ни одна не перезагружает правила

  "configFile": {
    "path": "/etc/wb-mqtt-setpoints.conf",
    "service": "wb-rules" restart,
    "service": "wb-rules restart",
	service wb-rules restart
  },

Как все-таки будет правильно?


#31

Для конфига просто укажите:
"service": "wb-rules"

Без restart.
Должно сработать.


#32

Спасибо! Помогло.


#33

Отлично! Удачи!