Графики не верно отображаются

Как можно сделать чтобы графики показывались корректно?
Дискретные и аналоговые сигналы - при отключении и включении выводятся как наклонные линии. Как будто кнопку медленно отжимали 3 часа - для дискретных сигналов график должен быть прямоугольный как и для аналоговых значений когда они равны нулю.
Вероятно поведение где-то настраивается в самой библиотеке графиков или в загружающем данные JS.

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

1 Like

Обновил, попробовал (FF и chrome ) - не работает.
apt show wb-mqtt-homeui
Package: wb-mqtt-homeui
Version: 2.0.3
Priority: optional
Section: misc
Maintainer: Evgeny Boger boger@contactless.ru
Installed-Size: 6 342 kB
Depends: mosquitto, mqtt-wss, mqtt-tools, nginx-extras, wb-utils (>= 2.0)
Conflicts: wb-homa-webinterface
Breaks: wb-mqtt-confed (<< 1.0.3), wb-mqtt-db (<< 1.5)
Download-Size: 1 973 kB
APT-Manual-Installed: yes
APT-Sources: http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages
Description: Wiren Board Web UI web interface

  1. Сделайте в браузере, пожалуйста, Ctrl+F5.
  2. Что приходит в ответ на mosquitto_sub -v -t /devices/wb-mdm3_44/controls/K1/# ?


Именно с MDM3 выглядит так.

CTRL+F5 делал

root@wirenboard-AB3RVWYB:~# mosquitto_sub -v -t /devices/wb-mdm3_44/controls/K1/#
/devices/wb-mdm3_44/controls/K1/meta/type switch
/devices/wb-mdm3_44/controls/K1/meta/order 1
/devices/wb-mdm3_44/controls/K1/meta/readonly 0
/devices/wb-mdm3_44/controls/K1 0
/devices/wb-mdm3_44/controls/K1 1
/devices/wb-mdm3_44/controls/K1 0
/devices/wb-mdm3_44/controls/K1 1
/devices/wb-mdm3_44/controls/K1 0
1

А эти показания.


Не 0 и 1 они интерполированные или реально зафиксированные?

Частично интерполированные. Если настройки в wb-mqtt-db по умолчанию, то записи делаются не чаще чем раз в 120 секунд. Все помежуточные изменения усредняются и записывается среднее значение.

Какие у вас версии браузеров?
Стоят ли какие-то плагины?
Есть ли прокси/файервол между вами и контроллером?

Версии последние, пробовал с разных компьютеров с разных мест и с прокси и без прокси и с отключенным кэшированием. Плагинов не стоит.
ПОчему я спросил про данные интерполированные. Как вы определяете какой график строить ступенчатый или от точки до точки? Предполагаю, что по данным из mqtt-db.
MR3 и mdm3 они дают данные только включено - и отключено - откуда эти 0,5 и 0,666667?

Тип графика определяется по значению /devices/+/controls/+/meta/type. Если там switch, wo-switch или alarm, то график “прямоугольный”.

На всякий случай давайте сверим “часы”
uname -a
Linux wirenboard-AB3RVWYB 4.9.22-wb6 #2 SMP Wed Dec 9 16:55:10 UTC 2020 armv7l GNU/Linux

apt list | grep wb-mqtt-homeui
wb-mqtt-homeui/stretch,stretch,now 2.0.3 all [установлен]
wb-mqtt-homeui-build-deps/stretch,stretch,stretch,stretch 1.6.5 all

Получилось локально воспроизвести. Попробуйте, пожалуйста, версию с исправлениями:

apt update
apt install --reinstall wb-mqtt-homeui=2.0.3
1 Like

root@wirenboard-AB3RVWYB:~# apt update
Пол:1 http://security.debian.org stretch/updates InRelease [53,0 kB]
Игн:2 http://deb.debian.org/debian stretch InRelease
Пол:3 http://deb.debian.org/debian stretch-updates InRelease [93,6 kB]
Сущ:4 http://releases.contactless.ru/stable/stretch stretch InRelease
Пол:5 http://releases.contactless.ru/experimental/stretch stretch InRelease [13,6 kB]
Сущ:7 http://deb.debian.org/debian stretch Release
Пол:6 http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease [91,8 kB]
Сущ:8 https://deb.nodesource.com/node_12.x stretch InRelease
Пол:9 http://releases.contactless.ru/experimental/stretch stretch/main all Packages [57,4 kB]
Пол:10 http://releases.contactless.ru/experimental/stretch stretch/main armhf Packages [156 kB]
Пол:11 http://security.debian.org stretch/updates/main armhf Packages [627 kB]
Пол:12 http://security.debian.org stretch/updates/main Translation-en [293 kB]
Получено 1 386 kБ за 22с (61,1 kБ/c)
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Все пакеты имеют последние версии.
root@wirenboard-AB3RVWYB:~# apt install --reinstall wb-mqtt-homeui=2.0.3
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующий пакет устанавливался автоматически и больше не требуется:
wb-homa-gpio
Для его удаления используйте «apt autoremove».
обновлено 0, установлено 0 новых пакетов, переустановлено 1 переустановлено, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 1 973 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 0 B.
Пол:1 http://releases.contactless.ru/experimental/stretch stretch/main armhf wb-mqtt-homeui all 2.0.3 [1 973 kB]
Получено 1 973 kБ за 1с (1 111 kБ/c)
(Чтение базы данных … на данный момент установлено 34795 файлов и каталогов.)
Подготовка к распаковке …/wb-mqtt-homeui_2.0.3_all.deb …
Распаковывается wb-mqtt-homeui (2.0.3) на замену (2.0.3) …
Настраивается пакет wb-mqtt-homeui (2.0.3) …
root@wirenboard-AB3RVWYB:~#


Похоже не помогло.

Поправили в версии 2.0.5.

apt update
apt install wb-mqtt-homeui=2.0.5
1 Like

Похоже еще в ведении истории проблема. Как у дискретного сигнала может быть значение 0.33 ?
У дискретного сигнала могут быть только 2 значения 0 и 1, неопределенное состояние значением являться не может. Соотвественно и в базе должно храниться по изменениям, четко со временем. Потому что для работы автоматизируемой системы нужно знать четкие изменеия таких сигналов, вплоть до миллисекунд. И по умолчанию нужно 2 стратегии хранения - Аналоговые по интервалу(с интерполяциями) и Дискретные по изменению(ничего не надо тут интерполировать).

wb-mqtt-db по умолчанию имеет настройку для всех параметров писать в базу не чаще раза в 2 минуты. Если изменения происходят чаще, то считается их среднеарифметическое и через 2 минуты пишется в базу. Отсюда и 0.333. Состояние менялось чаще чем раз в 2 минуты. Можете в конфиге wb-mqtt-db для конкретных топиков поставить эту настройку меньше чем 2 минуты и будут только 0 и 1.