Wb-engine.conf изменился после отключения света

Добрый день!
Подскажите пожалуйста, вчера впервые столкнулся с тем, что в результате внепланового отключения электричества, пострадал wb-engine.conf, в нем пропала часть конфигураций для НА, часть реле и их объектов - home assistant id и custom name.
Пропали mr6c-lv/s и одно из wb-mdm3, остались mr6c-Hv/s и одно wb-mdm3.

С чем это может быть связано?

Добрый день,

Прошу уточнить: проблема наблюдалась в самом wb-engine или речь идёт о некорректной работе отдельных устройств, зарегистрированных в конфигах Wiren board?

Добрый День!

Пропала интеграция в НА, выяснил, что в самом файле wb-engine пропали данные у некоторых устройств.

Добрый день.

Если вы имеете в виду интеграwию с HA расположенную GitHub - 4mr/wb-engine - то это ПО не разрабатывалось нами, соответственно не умеем его настраивать и диагностировать.
Подсказать - могу попробовать.
Итак, что за файл в котором “пропали данные”?

Добрый день!

wb-engine.conf

К вам никаких претензий, просто впервые с этим сталкиваюсь. Электричество у нас отключают примерно раз в две недели, но всё само запускалось.

Добрый день,

Рекомендую ознакомиться с данным топиком автора WB-Engine.

Остались ли еще вопросы?

Добрый день. Очень странно, в обычном режиме файл только читается, записи не происходит. Записывает редактор, в schema.json есть настройка:

"configFile": {
"path": "/etc/wb-rules/wb-engine.conf",
"service": "wb-rules",
"toJSON": ["/usr/bin/wb-engine-helper", "--json"],
"fromJSON": ["/usr/bin/wb-engine-helper", "--conf"]
},

Скрипт только формирует вывод данных на stdout в необходимом формате, запись в файл происходит где-то внутри сервисов WirenBoard.

Возможно как-то связано с этим фактором еще: Проблема с порядком запуска wb-rules и wb-mqtt-serial

Если часто перезагружается, то скрипт может не успевать инициализировать устройства, т.к. их еще нет в MQTT. Можно включить persistence в mosquitto, как обход этой особенности.

1 лайк

Добрый день!
Напишите пожалуйста подробнее, где это нужно прописать.

В файле /etc/mosquitto/mosquitto.conf прописать persistence = true (там скорее всего запись есть, нужно поменять на true), после этого перезапустить сервис systemctl restart mosquitto.

Добрый день, удалось ли решить вопрос?

Добрый день!
“persistence = true” немного поломал mosquitto.
Удалением параметра и перезагрузкой брокера исправить не удалось, проще было откатить контроллер к заводским настройкам.

Надо было лог глянуть, возможно не указана была папка где хранить данные или прав туда не хватило.

Добрый день!

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

Спасибо большое, тему можно закрыть.

Добрый день!

Очень рекомендую установить внутренний модуль резервного питания — он помогает избежать множества мелких проблем, возникающих при кратковременных перебоях питания (например, когда «моргнул» свет).

Такое решение значительно повышает стабильность работы системы.

Внутренний модуль в контроллере есть, у нас Мособлэнерго отключает свет обычно часа на 2-4, на это внутреннего аккумулятора уже не хватает. У меня в хозяйстве припасена коробка свинцовых 12v батарей и accordtec ББП-20 к ним.

Добрый день!

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

Не вам в пику, но было бы удобно: “persistence” поменяли → в том-то файле добавилось-> тот файл появился-> права на файл тут записались(или нет)
Откатить по следующему алгоритму:“…”

Это работа сторонней службы MQTT, у нее есть своя документация, надо смотреть что ей мешало запуститься. Я лишь автор wb-engine (и не имею отношение к WB), проблему максимально изложил в топике про порядок запуска. Многим включение persistence помогает, т.к. на момент старта брокер помнит все, что было до выключения, и скрипт может найти устройства и “прокинуть” их.

1 лайк