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

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

Модератор: immortal

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

Re: Модуль Charts

Сообщение sergejey »

небольшое дополнение: выбор темы для графика:

Изображение

для выбора берутся файлы из /htdocs/js/highcharts/themes/

т.е. в принципе можно создать свою уникальную тему по образцу и использовать её, причём после обновления она не перепишется, т.к. её просто не будет в дефолтном наборе файлов

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm

Re: Модуль Charts

Сообщение ученик »

Установил модуль Charts, прикрутил 2 температурных датчика
выбрал график линейный все работает.
Добавил датчики, пытался сделать график, но во вкладке данные, доступны 2 вида графика, Gauge и Solid Gauge.
Думал, что нет архива и из-за этого проблемы с графиком.
Создал дополнительный график с установленными температурными датчиками
и с накопленной базой температур.
Но, все равно, выдает из доступных графиков только спидометр.
А как выбрать линейный график, а не спидометр ?
Так-же, в спидометре вывел пределы измерения -20+50 работает
но вывести цвета диапазонов не удалось
график либо не грузится либо работает без цвета.
И еще, как увеличить шрифты в графике?
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
ivannag
Сообщения: 146
Зарегистрирован: Вт апр 12, 2016 12:19 am

Re: Модуль Charts

Сообщение ivannag »

ученик писал(а):Установил модуль Charts, прикрутил 2 температурных датчика
выбрал график линейный все работает.
Добавил датчики, пытался сделать график, но во вкладке данные, доступны 2 вида графика, Gauge и Solid Gauge.
Думал, что нет архива и из-за этого проблемы с графиком.
Создал дополнительный график с установленными температурными датчиками
и с накопленной базой температур.
Но, все равно, выдает из доступных графиков только спидометр.
А как выбрать линейный график, а не спидометр ?
Так-же, в спидометре вывел пределы измерения -20+50 работает
но вывести цвета диапазонов не удалось
график либо не грузится либо работает без цвета.
И еще, как увеличить шрифты в графике?
На вкладке редактирования(создания) графика есть поле "период", когда оно равно 0 доступны Gauge и Solid Gauge, когда не равно 0 то доступны все остальные графики.
цвета диапазонов допишите в пункте "настроить" где додаются свойства, по которых рисуются графики... примеры есть выше в этом топике.
чтобы менять шрифт думаю нужно редактировать css файлы тем, /htdocs/js/highcharts/themes/ пощелкать мышью пока не получится...
PAV
Сообщения: 970
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва

Re: Модуль Charts

Сообщение PAV »

Подскажите, а как сделать, чтобы в меню сделать кнопку Temp и по нажатию справа открывалось окно с графиком, как домашняя страница? Как эту ссылку прописать? При этом сама домашняя страница мне не нужна. Или как создать домашнюю сраницу, но чтобы она во вкладках не показывалась? Вызывать только когда надо.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Модуль Charts

Сообщение nick7zmail »

PAV писал(а):Подскажите, а как сделать, чтобы в меню сделать кнопку Temp и по нажатию справа открывалось окно с графиком, как домашняя страница? Как эту ссылку прописать? При этом сама домашняя страница мне не нужна. Или как создать домашнюю сраницу, но чтобы она во вкладках не показывалась? Вызывать только когда надо.
Создать пустой файл html в htdocs, либо в папках вложенных, наполнить содержимым, и открывать по ссылке <адрес md>/<папка, если не в корне>/<имя файла>.html. А в кнопке ссылку прописать на эту страничку.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
PAV
Сообщения: 970
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва

Re: Модуль Charts

Сообщение PAV »

Это я попробовал, но почему-то, если в html файл вставляешь вызов модуля, он не срабатывает. Разбираюсь.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: Модуль Charts

Сообщение nick7zmail »

PAV писал(а):Это я попробовал, но почему-то, если в html файл вставляешь вызов модуля, он не срабатывает. Разбираюсь.
Скорее всего не подключены какие-либо библиотеки/скрипты. Сейчас, к сожалению, не могу проверить. Поищи конструкции типа

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

<script src="имя скрипта"></script>
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Модуль Charts

Сообщение sergejey »

PAV писал(а):Подскажите, а как сделать, чтобы в меню сделать кнопку Temp и по нажатию справа открывалось окно с графиком, как домашняя страница? Как эту ссылку прописать? При этом сама домашняя страница мне не нужна. Или как создать домашнюю сраницу, но чтобы она во вкладках не показывалась? Вызывать только когда надо.
Скрытую домашнюю страницу, к сожалению, создать нельзя, но можно сделать такую сцену -- в ней есть галочка "Не включать в список переключающихся сцен". Добавил в задачи сделать что-то подобное и для домашних страниц -- может иногда быть полезно. Ну а пока можно для графиков создать скрытую сцену и использовать ссылку на неё для кнопки.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
eeak1
Сообщения: 51
Зарегистрирован: Чт май 12, 2016 9:13 am
Контактная информация:

Re: Модуль Charts

Сообщение eeak1 »

Может кому интересно, добавил возможность установить период прямо в свойствах модуля.
В файле /templates/charts/action_usual.html необходимо найти строку

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

url: '<#ROOTHTML#>ajax/charts.html?id=<#ID#>&prop_id=[#ID#]', 
и заменить ее на

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

url: '<#ROOTHTML#>ajax/charts.html?id=<#ID#>&prop_id=[#ID#]&timerange=<#TIMERANGE#>',
В файле /modules/charts/charts.class.php найдем строки

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

   $history_depth=$chart['HISTORY_DEPTH'];
   $history_type=$chart['HISTORY_TYPE'];
и заменим их на

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

   if (!IsSet($timerange) || $timerange=="") {
    $history_depth=$chart['HISTORY_DEPTH'];
    $history_type=$chart['HISTORY_TYPE'];
   } else {
    $history_depth = intval($timerange);
    $history_type = 1;
   }
А чуть дальше, после

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

  $rec=SQLSelectOne("SELECT * FROM charts WHERE ID='".$this->id."'");
  if (!$rec['ID']) {
   return;
  } 
добавим

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

  if (isset($this->timerange)) {
   $out['TIMERANGE']=$this->timerange;
  } else {
   $out['TIMERANGE']="";
  } 
И не забудем в начало функции usual добавить ссылку на глобальную переменную $timerange

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

global $timerange;
Теперь в вызове модуля можно использовать свойство timerange="количество минут". Без этого свойства модуль ведет себя как обычно.
PHP только осваиваю, так что не стесняйтесь, тыкайте носом в ошибки.
Алиса живёт на нубуке с закрытой крышкой в Docker контейнере, соседствует с контейнерами nextcloud, plex, mosquitto, и т.д.
ранее в Docker контейнере на Raspberry Pi 4
ранее натив на Raspberry Pi 3
https://www.eeak.biz
ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm

Re: Модуль Charts

Сообщение ученик »

Все пытаюсь увеличить шрифты
Попробовал редактировать файл /var/www/highcharts/js/modules/ dark-blue.js.
Изменил все значения fontSize: с 12 до 30
никаких изменений.
и еще момент, а выставить индикаторы в один ряд несколько шт возможно?
и где редактировать?
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
Ответить