[Модуль] Charts (charts)

Разработка дополнительных модулей, подключение различных приложений.

Модераторы: Bagir, Ivan, Vit, immortal, PAV

Аватара пользователя
sergejey
Site Admin
Сообщения: 4263
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1368 раз
Контактная информация:

[Модуль] Charts (charts)

Сообщение sergejey » Пт мар 04, 2016 4:09 pm

В маркет добавлен новый модуль Charts. Модуль предназначен для построения графиков на базе библиотеки HighCharts.
Собственно, в том или ином виде графики были всегда и всегда были нарекания по их работе. Это очередная попытка навести с ними порядок.

Итак, после установки модуля, в разделе Объекты появляется новый пункт Charts:
Изображение

В этом разделе можно создавать такие сущности, как график, задавая ему название (опционально под-название) и определяя лимит времени для выборки данных:
Изображение

После создания графика, можно перейти в раздел данных, где добавляются непосредственно данные:
Изображение

Для каждого элемента данных задаётся название, единица измерения, связанное свойство, а так же приоритет вывода (чем выше, тем раньше идёт).

Собственно, после добавления данных результат можно сразу видеть под настройками:
Изображение

Там же идёт небольшая подсказка с кодом, который можно вставить в пункт меню (тип HTML), на домашнюю страницу либо в сцену.
Пример вызова: [#module name="charts" id="1" width="100%" height="400" interval="3600"#] (кроме id все параметры не обязательны)
width -- ширина графика (может быть в процентах и в пикселях)
height -- высота графика
interval --период обновления графика (в секундах)

По возможностям:
* После вставки кода вывода графика всегда можно вернуться и поменять его параметры
* Поддерживается тёмная/светлая тема оформления
* Два (пока) типа графиков -- линия и столбцы
* Если подключаемые свойства имеют одинаковое название (например Room1.temp и Room2.temp), то данные будут выводится в масштабе одной шкалы, иначе для каждого свойства своя шкала (как в примере выше)

В будущем планируется добавить другие типы графиков, в том числе не только исторические, но и "одномоментные" (типа спидометра и т.д.)
За это сообщение автора sergejey поблагодарили (всего 9):
Amarok (Сб мар 05, 2016 10:03 am) • olehs (Сб мар 05, 2016 12:56 pm) • Alien (Вс мар 06, 2016 10:50 am) • Molostov (Вс мар 06, 2016 9:51 pm) • ipz (Вс мар 06, 2016 11:01 pm) • skysilver (Вт мар 08, 2016 1:27 pm) • Otto (Чт апр 07, 2016 8:48 pm) • consul (Вт фев 06, 2018 3:50 pm) • AlexL (Ср май 23, 2018 10:09 am)
Рейтинг: 12.33%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Molostov
Сообщения: 31
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 67 раз
Поблагодарили: 5 раз

Re: Модуль Charts

Сообщение Molostov » Сб мар 05, 2016 12:15 am

Попробовал на одном графике показать температуру внутри и снаружи. Внутри показывает правильно, а у наружней температуры игнорирует минусовое значение, показывает как плюсовое.
Вложения
temp2.PNG
Реальная уличная температура
temp2.PNG (11.94 КБ) 14145 просмотров
temp.PNG
temp.PNG (160.43 КБ) 14145 просмотров
За это сообщение автора Molostov поблагодарил:
Otto (Чт апр 07, 2016 8:48 pm)
Рейтинг: 1.37%
Аватара пользователя
sergejey
Site Admin
Сообщения: 4263
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1368 раз
Контактная информация:

Re: Модуль Charts

Сообщение sergejey » Сб мар 05, 2016 9:56 am

Буду разбираться, ещё не до конца отлажен процесс )

update: кажется понял -- модуль решил, что это разные единицы и сделал две шкалы, причём не понятно почему правая шкала отображается без значений, хотя, скорее всего, там должны быть отрицательные. Внесу изменения, чтобы проверялись не только названия свойств, но и заданная единица измерения -- если она одинаковая, то будет одна шкала.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4263
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1368 раз
Контактная информация:

Re: Модуль Charts

Сообщение sergejey » Сб мар 05, 2016 10:25 am

Внёс исправления:
* Если заданы одинаковые единицы измерения, то будет одна шкала, даже если название свойств разное
* Добавил тип графика Area
* Включил возможность увеличения отрезка графика (нажать и перетянуть мышью через интересуемую область)
* Исправил проблему со сдвигом времени в последней точке (в примерах горизонтальная линия в конце графика)
За это сообщение автора sergejey поблагодарил:
AlexL (Ср май 23, 2018 10:26 am)
Рейтинг: 1.37%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
olehs
Сообщения: 1048
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 77 раз
Поблагодарили: 296 раз

Re: Модуль Charts

Сообщение olehs » Сб мар 05, 2016 1:00 pm

Сергей, а как поменять тему на светлую?
И еще хотелось бы иметь возможность убрать точки.
Вообще настроек у HighChart много, можно как-то к ним доступ получать?
olehs
Сообщения: 1048
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 77 раз
Поблагодарили: 296 раз

Re: Модуль Charts

Сообщение olehs » Сб мар 05, 2016 1:02 pm

А, я понял... тема зависит от темы МЖД, верно?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4263
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1368 раз
Контактная информация:

Re: Модуль Charts

Сообщение sergejey » Сб мар 05, 2016 1:28 pm

olehs писал(а):Сергей, а как поменять тему на светлую?
И еще хотелось бы иметь возможность убрать точки.
Вообще настроек у HighChart много, можно как-то к ним доступ получать?
Да, тема зависит от общей темы системы (тёмная/светлая).
Доступ к настройкам... ну надо подумать. Я не хотел бы усложнять интерфейс большим количеством настроек, так что пока вопрос открытый.
Точки можно убрать, если поставить тип графика Area.

P.S. один из вариантов тонкой настройки это перенести файл .\templates\charts\action_usual.html в .\templates_alt\charts\ , но я пока не рекомендовал бы, т.к. модуль ещё в разработке и основной шаблон будет дорабатываться.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
olehs
Сообщения: 1048
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 77 раз
Поблагодарили: 296 раз

Re: Модуль Charts

Сообщение olehs » Сб мар 05, 2016 2:42 pm

sergejey писал(а): Доступ к настройкам... ну надо подумать. Я не хотел бы усложнять интерфейс большим количеством настроек, так что пока вопрос открытый.
Могу предложить вариант, не перегружающий настройками, но он скорее для гиков )

В настройки вынести вызов кода/скрипта. Код/скрипт должны вернуть JSON-объект с нужными настройками. Этот объект "смерджить" с объектом инициализации Highcharts.Chart
Molostov
Сообщения: 31
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 67 раз
Поблагодарили: 5 раз

Re: Модуль Charts

Сообщение Molostov » Сб мар 05, 2016 11:59 pm

Попробовал снова. Оставил вообще только один график - уличную температуру. Всё равно шкала в плюсе, по крайней мере, визуально. Всё это время температура отрицательная.
Вложения
temp.PNG
temp.PNG (103.35 КБ) 14036 просмотров
За это сообщение автора Molostov поблагодарил:
Otto (Чт апр 07, 2016 8:48 pm)
Рейтинг: 1.37%
Аватара пользователя
sergejey
Site Admin
Сообщения: 4263
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1368 раз
Контактная информация:

Re: Модуль Charts

Сообщение sergejey » Вс мар 06, 2016 5:50 pm

Molostov писал(а):Попробовал снова. Оставил вообще только один график - уличную температуру. Всё равно шкала в плюсе, по крайней мере, визуально. Всё это время температура отрицательная.
Нашёл ошибку с отрицательными значениями -- исправил
За это сообщение автора sergejey поблагодарил:
Molostov (Вс мар 06, 2016 9:50 pm)
Рейтинг: 1.37%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить