Есть ли обработчик для нажатия кнопки “SAVE”, сохраняющей конфигурационный файл?
Имеется ввиду такой обработчик, который был бы доступен из wb-rules?
а это уже через spawn() или runShellCommand()
Смотрите, действия по save указываются в схеме в начале.
Вы там можете например целиком рестартовать движок правил, или сделать touch на отдельный скрипт с правилами (движок его перезапустит), или, например, выполнить mosquitto_pub в канал виртуального устройства, как уважаемый @Demix выше советовал.
Помогла команда рестарт, добавленная в раздел ConfigFile схемы
"configFile": {
"path": "/etc/wb-mqtt-setpoints.conf",
"restartDelayMS": 4000,
"service": "wb-mqtt-setpoints"
},
Теперь изменения вступают в силу после нажатия “SAVE”
Остался вопрос, где находится описание таких возможностей и синтаксис их использования.
Ни Google, ни поиск в форуме и на сайте не дают на это ответа.
Может это все надо искать в Duktape?
Конкретно схемами заведует https://github.com/contactless/wb-mqtt-confed
Лучший способ - смотреть примеры, соседние схемы в /usr/share/wb-mqtt-confed/schemas.
Там не так уж и много возможностей, боюсь больше ничего принципиально нового вы для себя не откроете.
Ошибся - не помогла команда
"restartDelayMS": 4000,
Укажите пожалуйста какой командой можно перезагрузить правила.
Добрый день, движок правил перезагружается командой service wb-rules restart
Подставил различные варианты предложенной команды, но ни одна не перезагружает правила
"configFile": {
"path": "/etc/wb-mqtt-setpoints.conf",
"service": "wb-rules" restart,
"service": "wb-rules restart",
service wb-rules restart
},
Как все-таки будет правильно?
Для конфига просто укажите:
"service": "wb-rules"
Без restart
.
Должно сработать.
Спасибо! Помогло.
Отлично! Удачи!