8 980 590-57-10
Ваш город — Помона?
Заявка

Резервная копия объекта в AbromSoft


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

Где AbromSoft хранит настройки объекта

Все данные лежат в одной папке на контроллере: /mnt/data/abromSoftware/abromLogic. Раздел /mnt/data на Wirenboard переживает обновление прошивки, поэтому при штатном обновлении контроллера настройки не теряются. Резервная копия нужна на случай, когда пропадает сам контроллер.

Внутри папки нам важны пять мест:

  • config.yaml — все правила объекта: отопление, свет, кнопки, сцены, кондиционеры, оповещения, настройки часового пояса. Это главный файл, без него объекта нет.
  • uiData.yaml — то, что видит пользователь в интерфейсе: названия устройств, комнаты, категории, скрытые и переупорядоченные элементы.
  • scripts — папка со скриптами, если на объекте есть логика, написанная на JS.
  • plugins и pluginData — установленные плагины и их правила, например для панелей OpenHASP.
  • state — накопленные данные: например, показания счётчиков электроэнергии. Без этой папки объект заработает, но счётчики начнут с нуля.

Остальные папки рядом — история MQTT, служебные копии и диагностические дампы — для восстановления не нужны: AbromSoft создаст их заново.

Почему это удобнее, чем бэкап закрытой системы

Все файлы — обычный текст. Резервную копию можно открыть в любом редакторе и сразу увидеть, что настроено на объекте: какие датчики управляют какими реле, какая уставка у тёплого пола в ванной, какие каналы включает сцена «Уходим». Если резервных копий несколько, их можно сравнить построчно и найти, что поменялось между ними. Также вы можете загрузить файлы в чат любого ИИ и внести правки.

Быстрая копия правил из интерфейса

Для повседневной страховки хватает копии config.yaml, а её можно сделать прямо из браузера, без доступа к файлам контроллера:

  1. Откройте раздел «Правила».
  2. В меню страницы выберите «Редактор .yaml».
  3. Выделите весь текст в редакторе, скопируйте и сохраните в текстовый файл на компьютере или в облаке. В имя файла удобно добавить название объекта и дату.

Мы делаем такую копию перед каждой серьёзной правкой на объекте и при сдаче объекта клиенту. Это занимает полминуты, а откатиться к рабочей версии потом можно за минуту.

Полная копия объекта

Чтобы сохранить объект целиком, вместе с названиями, комнатами, плагинами и счётчиками, скопируйте всю папку /mnt/data/abromSoftware/abromLogic на компьютер. С Windows это удобно делать через WinSCP: подключитесь к контроллеру по SFTP с теми же логином и паролем, что и по SSH, перейдите в папку и перетащите её на свой диск.

Полную копию стоит сделать в трёх случаях: при сдаче объекта, перед обновлением ПО и перед большой переделкой, когда меняется много правил сразу.

Восстановление после сбоя

Если контроллер заменили или карту памяти пришлось перезаписать, порядок такой:

  1. Установите AbromSoft на контроллер обычным установочным скриптом.
  2. Скопируйте сохранённые файлы обратно в папку /mnt/data/abromSoftware/abromLogic с заменой.
  3. Перезапустите службу AbromSoft или перезагрузите контроллер.

После запуска AbromSoft прочитает config.yaml, создаст все виртуальные устройства и подпишется на датчики. Если на новом контроллере те же модули с теми же адресами, объект заработает сразу, вместе с названиями и комнатами в интерфейсе.

Если сохранена только копия правил из редактора, файлы трогать не нужно: откройте «Редактор .yaml» на свежей установке, вставьте сохранённый текст и нажмите «Сохранить». Правила применятся без перезапуска контроллера.

Если в файл закралась ошибка

Редактор проверяет текст ещё до сохранения: если сломан отступ или потерялось двоеточие, строка с ошибкой подсвечивается, а кнопка «Сохранить» становится неактивной. Если ошибка в самих данных, например текст вместо числа, AbromSoft отклонит файл и покажет номер строки и позицию.

В обоих случаях объект продолжает работать на прежних правилах: битый файл не применяется и не записывается на диск. Поэтому вставлять резервную копию в работающий объект безопасно — либо применится вся копия, либо ничего не изменится.

Перенос на другой контроллер

Самый выгодный сценарий — типовые объекты. Например, мы собрали и отладили щит для квартиры в новом ЖК, а через месяц заказали второй такой же. Вместо того чтобы заново настраивать отопление, свет и сцены, мы переносим файлы с первого объекта и меняем в них только то, что отличается.

Обычно отличаются адреса модулей. В правилах каналы записаны как устройство/канал, например wb-mr6c_23/K1, где 23 — Modbus-адрес модуля. Если на новом объекте у того же модуля адрес 45, в редакторе достаточно заменить wb-mr6c_23 на wb-mr6c_45 во всём файле. Узнать адреса модулей на новом контроллере проще всего по подсказкам в полях топиков или способом из статьи «Как найти неизвестный MQTT-топик за минуту».

Порядок переноса:

  1. Сохраните config.yaml со старого объекта.
  2. Откройте его в текстовом редакторе на компьютере и замените адреса модулей, если они отличаются. Заодно поправьте то, что относится к конкретному клиенту: токены Telegram-бота, адреса почты для оповещений, город в прогнозе погоды.
  3. На новом контроллере откройте «Редактор .yaml», вставьте исправленный текст и нажмите «Сохранить».
  4. Если на старом объекте были плагины, установите их на новом. Скрипты перенесите копированием папки scripts.
  5. Проверьте раздел «Правила»: правила, которые не нашли свои датчики, будут видны по статусу.

Файл uiData.yaml тоже можно перенести, если модули на новом объекте с теми же адресами. Если адреса поменялись, названия и комнаты привязаны к старым каналам, поэтому их проще расставить заново в интерфейсе.

Перенос части правил

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

Есть и второй способ — окно «Спросить ИИ» в шапке интерфейса. На втором шаге в него вставляется готовый YAML, и по кнопке «Применить» правила добавляются к текущим, а не заменяют весь файл. Правило с новым именем добавится, правило с тем же именем обновится, остальные правила объекта не изменятся. Этот же способ подходит, когда фрагмент конфига прислал коллега или собрал ИИ-чат.


    Еще никто не написал комментариев.

    Написать комментарий

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