Не сохраняются изменения Widgets, Rooms, Dashboards

При попытке добавить отображение времени в веб интерфейс контроллеров обнаружилась очередная неполадка с одним из них.
Контроллер WB 5 версия прошивки 201906131405
Создал правило

defineVirtualDevice("System_date", { 
    title: "Системное время",
    cells: {
       sys_date: {
            type: "text",
            value: "",
            readonly: true
        },
    }
});


setInterval(function(){

   dev["System_date"]["sys_date"] = (new Date()).toLocaleString();
}, 10000);

В девайсах появилось текущее время, дата.
Добавил виджет с часами и всё стало отлично на всех контроллерах, кроме одного.
На нем виджет исчезает после перезагрузки, также как и изменения в дашборде и комнате по умолчанию… Хотя раньше все изменения сохранялись. Куда копать?
Добавленный виджет


После перезагрузки ни его, ни дашборда нет

Здравствуйте!
То есть правило создано, но окошко в веб-интерфейсе на странице устройств не появляется?
Запускается ли сервис wb-rules при старте контроллера?

Здравствуйте! Правило создано и работает. Часы появились во вкладке devices. Остальные правила также работают. Но при попытке добавить эти же часы в Widgets, панель Dashboards, а также внести изменения в панель Rooms всё это работает ровно до перезагрузки… Дело даже не в часах, а в том, что любые изменения в этих панелях не сохраняются.
На других контроллерах всё нормально.
Отображение времени в devices
11
Настраиваем стартовую страницу, добавляем виджеты и т.д.


А после перезагрузки именно на этом контроллере опять пусто

Будто не сохраняются изменения в каких-то файлах.

У вас довольно старая версия контроллера, поэтому могу ошибиться. Настройки дашбордов и виджетов должны быть прописаны в файле /etc/wb-webui.conf (это символическая ссылка на /mnt/data/etc/wb-webui.conf). Проверьте, записываются ли туда изменения. Можно попробовать переписать файл /mnt/data/etc/wb-webui.conf с контроллера, где все отображается нормально на проблемный контроллер.

1 лайк


не нашел такого файла…
наверное в этой версии записывается куда-то в другое место

А покажите содержимое директории /etc

если правильно вас понял, то вот:




Уточняю у коллег.
А на тех, контроллерах, где все сохраняется нормально, там этот файл есть (посмотрите в обеих директориях)?
Версии пакетов ПО на всех контроллерах одинаковые?

Есть также контроллеры WB5 с такой же версией прошивки, где всё работает. Файла wb-webui в них также не нашел.
Уточнение еще - в проблемном контроллере раньше виджеты и rooms сохранялись и грузится он с этими давно добавленными данными. Просто новые изменения не сохраняются.

Наверное тоже какие-то проблемы с флэш памятью… Подобные катаклизмы уже были с одним контроллером с той партии. Вероятно наработка на отказ памяти соответствует 3-4 годам работы.

А в логах загрузки нет сообщений об ошибках, связанных с картой памяти? Пришлите лог загрузки в виде отдельного файла.

Коллеги подсказывают, что раньше настройки виджетов хранились в базе данных mqtt-брокера mosquitto (Переход на Web UI 2 - #2 от пользователя EvgenyBoger).
Нужно проверить настройки брокера: должна быть указана опция:

persistence true

в файле конфигурации /etc/mosquitto/mosquitto.conf.

Покажите файлы /etc/mosquitto/mosquitto.conf проблемного контроллера и того, у которого настройки сохраняются.

Также бывает проблема с базой данных брокера: /var/lib/mosquitto/mosquitto.db. Можно попробовать ее удалить и перезагрузить контроллер. База данных должна автоматически пересоздасться. Потом снова нужно сделать необходимые настройки.

1 лайк
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /var/run/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

файлы на контроллерах одинаковые.
база mosquitto.db на контроллере, где изменения не сохраняются имеет дату изменения более полугода назад. На остальных актуальная.
Если ее удалить, ранее внесенные виджеты тоже удаляться ? их надо будет заново добавлять ?
Боюсь, что после удаления вообще всё исчезнет…
Как посмотреть лог загрузки?

Возможно, да, если уже созданы.

А сам брокер mosquitto работает? Проверить можно так (могу ошибаться из-за старой версии ПО на контроллере WB5):

service mosquitto status
root@wirenboard-A7E7ADRD:~# service mosquitto status
Б≈▐ mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker
   Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset
   Active: active (running) since Sun 2016-11-06 11:12:21 MSK; 6h ago
  Process: 591 ExecStartPost=/bin/sh -c echo $MAINPID > /var/run/mosquitto.pid (
 Main PID: 489 (mosquitto)
   CGroup: /system.slice/mosquitto.service
           Б■■Б■─489 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

Nov 06 11:12:17 wirenboard-A7E7ADRD systemd[1]: Starting Mosquitto MQTT v3.1/v3.
Nov 06 11:12:21 wirenboard-A7E7ADRD systemd[1]: Started Mosquitto MQTT v3.1/v3.1

время тоже сбрасывается периодически (вероятно при перезагрузке), хотя по совету отсюда всё-таки настроили ntp сервер …

root@wirenboard-A7E7ADRD:~# timedatectl status
      Local time: Sun 2016-11-06 17:39:57 MSK
  Universal time: Sun 2016-11-06 14:39:57 UTC
        RTC time: Sun 2016-11-06 17:39:58
       Time zone: Europe/Moscow (MSK, +0300)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: yes

наверное потому что при перезагрузке скидывается на 2016 год и расхождение слишком велико

root@wirenboard-A7E7ADRD:~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 172.20.254.100  .LOCL.           1 u   46   64  377    5.459  1926392   3.098

батарейка живая при этом.
Контроллер с такими же симптомами уже был. Советовали сменить прошивку - не помогло. Так и пришлось его заменить другим.

@K5Serg Здравствуйте, вам удалось решить проблему?

Здравствуйте.
Проблему решить не удалось. Контроллер заменили на WB6, а этот лежит на столе. Что с ним делать непонятно.