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

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

Модератор: immortal

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

Re: Модуль Charts

Сообщение sergejey » Ср май 04, 2016 5:18 pm

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

Изображение

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

т.е. в принципе можно создать свою уникальную тему по образцу и использовать её, причём после обновления она не перепишется, т.к. её просто не будет в дефолтном наборе файлов
За это сообщение автора sergejey поблагодарил:
ElectronicsInFocus (Чт май 05, 2016 8:53 am)
Рейтинг: 1.16%

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

Re: Модуль Charts

Сообщение ученик » Вс май 22, 2016 7:56 am

Установил модуль 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
Благодарил (а): 18 раз
Поблагодарили: 27 раз

Re: Модуль Charts

Сообщение ivannag » Вс май 22, 2016 4:29 pm

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

Re: Модуль Charts

Сообщение PAV » Вс май 22, 2016 7:29 pm

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

Re: Модуль Charts

Сообщение nick7zmail » Пн май 23, 2016 10:06 am

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

Re: Модуль Charts

Сообщение PAV » Пн май 23, 2016 10:38 am

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

Re: Модуль Charts

Сообщение nick7zmail » Пн май 23, 2016 10:49 am

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

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

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

Re: Модуль Charts

Сообщение sergejey » Пн май 23, 2016 4:37 pm

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

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

Re: Модуль Charts

Сообщение eeak1 » Ср май 25, 2016 3:43 pm

Может кому интересно, добавил возможность установить период прямо в свойствах модуля.
В файле /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 только осваиваю, так что не стесняйтесь, тыкайте носом в ошибки.
За это сообщение автора eeak1 поблагодарил:
Samir77 (Чт ноя 01, 2018 4:26 pm)
Рейтинг: 1.16%
Алиса живёт на нубуке с закрытой крышкой в Docker контейнере, соседствует с контейнерами nextcloud, plex, mosquitto, и т.д.
ранее в Docker контейнере на Raspberry Pi 4
ранее натив на Raspberry Pi 3
https://www.eeak.biz
ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 6 раз

Re: Модуль Charts

Сообщение ученик » Пт июн 03, 2016 6:52 am

Все пытаюсь увеличить шрифты
Попробовал редактировать файл /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.
Ответить