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

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

Модератор: immortal

dengi.76
Сообщения: 222
Зарегистрирован: Вт фев 06, 2018 9:40 pm
Откуда: Пермь
Благодарил (а): 117 раз
Поблагодарили: 7 раз

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

Сообщение dengi.76 » Ср май 05, 2021 5:55 pm

Подтверждаю! Тоже всё пропало! Спас - откат!
Аватара пользователя
andrey040670
Сообщения: 458
Зарегистрирован: Пн июл 31, 2017 10:00 pm
Благодарил (а): 161 раз
Поблагодарили: 85 раз

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

Сообщение andrey040670 » Чт май 06, 2021 11:10 am

EKrivonogov писал(а):
Ср май 05, 2021 1:53 pm
Можно ваш код графика атмосферного давления для образца?

Код: Выделить всё

function (config, options) {
config.credits = {enabled: false};
config.legend= {enabled: false};
config.yAxis = {
   title: null,
   tickPixelInterval: 12,
};
config.xAxis = {
   type: 'datetime',
   minorTickInterval: 'auto',
   tickPosition: 'inside',
   tickLength: 6,
   labels: {
      overflow: 'justify',
      style: {fontSize: '11px'}
   }
};
config.title = {
   text: 'Атмосферное давление BMP 180',
   style: {
      color: '#999',
      font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif'
   }
};
config.series = [{
   name: 'Атмосферное давление BMP 180',
   tooltip: {
      valueSuffix: ' mmhp',
   },
   marker: {
      enabled: false,
      radius: 1,
   },
   states: {
      hover: {lineWidth: 2}
   },
   zones: [{
      value: 740,
      color: 'red'
   }, {
      value: 745,
      color: 'yellow'
   }, {
      value: 755,
      color: '#00ff00'
   }, {
      value: 760,
      color: 'yellow'
   }, {
      color: 'red'
   }]
}];
options.lang = {
      loading: 'Загрузка...',
      months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
      weekdays: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],
      shortMonths: ['Янв', 'Фев', 'Март', 'Апр', 'Май', 'Июнь', 'Июль', 'Авг', 'Сент', 'Окт', 'Нояб', 'Дек'],
      exportButtonTitle: "Экспорт",
      printButtonTitle: "Печать",
      rangeSelectorFrom: "С",
      rangeSelectorTo: "По",
      rangeSelectorZoom: "Период",
      downloadPNG: 'Скачать PNG',
      downloadJPEG: 'Скачать JPEG',
      downloadPDF: 'Скачать PDF',
      downloadSVG: 'Скачать SVG',
      printChart: 'Напечатать график',
      resetZoom: 'Сбросить зум',
      resetZoomTitle: 'Сбросить зум',
      thousandsSep: " ",
      decimalPoint: '.'
   };
}
За это сообщение автора andrey040670 поблагодарили (всего 2):
dengi.76 (Чт май 06, 2021 12:18 pm) • ~220v (Сб май 15, 2021 10:59 pm)
Рейтинг: 2.33%
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
EKrivonogov
Сообщения: 7
Зарегистрирован: Ср фев 07, 2018 8:00 am
Благодарил (а): 0
Поблагодарили: 3 раза

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

Сообщение EKrivonogov » Чт май 06, 2021 12:39 pm

Спасибо!
После обновления ваш код работает, мой перестаёт! Буду сравнивать. Где то ошибка закралась, хотя делал по примерам с этого же форума.
EKrivonogov
Сообщения: 7
Зарегистрирован: Ср фев 07, 2018 8:00 am
Благодарил (а): 0
Поблагодарили: 3 раза

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

Сообщение EKrivonogov » Чт май 06, 2021 12:57 pm

Нашёл причину.
При каком то очередном обновлении криво работала подсказка (тултип), если на графике более одной линии.
Кто то предложил костыль для исправления, и я им воспользовался. Требовалось в начале кода строчку

Код: Выделить всё

function (config, options) {
заменить на

Код: Выделить всё

config => {
config.tooltip = {
formatter: function () {
  var series = this.point.series.chart.series,
        index = this.point.series.points.indexOf(this.point),
        str = '';

for (var i = series.length-1; i >=0; i--) {

    str += series[i].name + ' : ' + series[i].points[index].y + '<br/>';
  }
  return str;
}
  };
и проблема частично исправлялась.
После последнего обновления этот костыль перестал работать. Вернул назад, и мой код заработал!
За это сообщение автора EKrivonogov поблагодарили (всего 2):
dengi.76 (Чт май 06, 2021 6:41 pm) • ~220v (Вс май 16, 2021 12:59 am)
Рейтинг: 2.33%
Аватара пользователя
~220v
Сообщения: 96
Зарегистрирован: Пн дек 23, 2019 5:56 pm
Благодарил (а): 109 раз
Поблагодарили: 18 раз

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

Сообщение ~220v » Вс май 16, 2021 1:08 am

EKrivonogov писал(а):
Чт май 06, 2021 12:57 pm
Кто то предложил костыль для исправления, и я им воспользовался. Требовалось в начале кода строчку
Фух, спасибо что отписались о решении бо намучился с такими апдейтами :evil: ... Аналогично было:
заменил config => { на
function (config, options) {
и заработало 8-)
homester
Сообщения: 194
Зарегистрирован: Вт дек 24, 2019 2:09 pm
Благодарил (а): 112 раз
Поблагодарили: 34 раза

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

Сообщение homester » Вс сен 26, 2021 7:53 am

Подскажите пожалуйста, как из сцены по onclick вызвать определенный график.
Raspberry Pi3 B+, v4.44, внешняя з/к
Аватара пользователя
Samir77
Сообщения: 95
Зарегистрирован: Чт фев 02, 2017 7:30 pm
Благодарил (а): 755 раз
Поблагодарили: 9 раз

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

Сообщение Samir77 » Ср окт 27, 2021 2:05 pm

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), то данные будут выводится в масштабе одной шкалы, иначе для каждого свойства своя шкала (как в примере выше)

В будущем планируется добавить другие типы графиков, в том числе не только исторические, но и "одномоментные" (типа спидометра и т.д.)

Пример дополнительных значений (цвет шкалы)
ещё пример доп значений (цвет шкалы)
Некоторые индикаторы не модуля
Ещё индикаторы
Кто подскажет , не могу отправить в телегу график , ID11?12 и так далее.. в пхпмайадмин в таблице крайний столбик в charts указано null? как исправить?
Заранее благодарен за ответ!
Старые графики отправляються без проблем...
альфа , raspberry3
ASUS ASPIRE 5739G Windows 7 + Raspberry Pi3 + Broadlink + Sonoff
AK1
Сообщения: 135
Зарегистрирован: Чт фев 13, 2020 6:39 pm
Благодарил (а): 23 раза
Поблагодарили: 30 раз

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

Сообщение AK1 » Вс ноя 14, 2021 4:48 pm

Та же проблема. При изменении настроек графика не меняется поле HIGHCHARTS_CONFIG. Если менять вручную в phpmyadmin, то меняется.
Для новых графиков HIGHCHARTS_CONFIG не создается.

Откатил action_usual.html и все заработало
kotbrs
Сообщения: 18
Зарегистрирован: Сб авг 20, 2016 5:58 pm
Благодарил (а): 3 раза
Поблагодарили: 2 раза

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

Сообщение kotbrs » Пт янв 21, 2022 6:13 pm

img33.png
img33.png (128.04 КБ) 1789 просмотров
Добрый день!
С некоторого обновления модуля Charts, в новых графиках, где более одной переменной отображается (нижний на картинке), слева появляются для каждой переменной подсказки со значениями для шкалы Y. При этом на ранее созданных графиках(верхний на картинке) этого не появляется, то есть диапазон Y растягивается на графике, исходя из макс и мин значений отображаемых переменных.

Вопрос - как убрать эти подсказки размерности шкалы Y для каждой переменной, и чтоб размерность шкалы Y автоматически выбиралась исходя из минимальных и максимальных значений всех участвующих в графике переменных.
Аватара пользователя
xor
Сообщения: 2036
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 283 раза
Поблагодарили: 628 раз

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

Сообщение xor » Сб янв 22, 2022 2:01 am

kotbrs писал(а):
Пт янв 21, 2022 6:13 pm
Вопрос - как убрать эти подсказки размерности шкалы Y для каждой переменной, и чтоб размерность шкалы Y автоматически выбиралась исходя из минимальных и максимальных значений всех участвующих в графике переменных.
у меня одна шкала, если указана одна и та же единица измерения для всех групп данных. Вроде, и у вас на первом скрине градусы присутствуют, а на втором - нет
2022-01-22_02-00-06.png
2022-01-22_02-00-06.png (30.04 КБ) 1764 просмотра
За это сообщение автора xor поблагодарили (всего 2):
homester (Сб янв 22, 2022 5:51 am) • ~220v (Пн янв 24, 2022 1:09 pm)
Рейтинг: 2.33%
Ответить