Страница 11 из 55

Re: Модуль Charts

Добавлено: Пн фев 06, 2017 1:31 pm
Amarok
Попросил Сергея внести clock в его модуль charts

Re: Модуль Charts

Добавлено: Пн фев 06, 2017 1:41 pm
serghei
Вообще в этой библиотеке очень много "веселых" и интересных графиков есть. Одна проблема - я пока не знаю как привязать мои цифры к стрелкам на АМС. Попробую пойти окольными путями - сначала сливать данные в МД а потом их оттуда забирать. ((( Но это бред какой то.....

Re: Модуль Charts

Добавлено: Ср фев 08, 2017 4:53 pm
EvgenyG
EvgenyG писал(а):
EvgenyG писал(а):up
ещё для температуры необходимо задавать диапазон для шкалы
у меня в полу 2 датчика температуры
они показывают температуру с разницей от 0.1 до 2 градусов
на графике у них почти всегда разные шкалы
оооочень неудобно
up
Планируется ли расширение функционала и добавление возможности установки диапазона для шкалы?
Ещё раз попрошу о помощи, как настроить шкалу отображения для графика?
Можно ли объединить шкалы для графиков с одинаковыми единицами?

Re: Модуль Charts

Добавлено: Пт фев 10, 2017 7:56 am
directman66
Почему-то из типов графиков есть только Gause и Solid Gaude. И нет класических графиков как на картинках.

Re: Модуль Charts

Добавлено: Пт фев 10, 2017 8:28 am
Jager
directman66 писал(а):Почему-то из типов графиков есть только Gause и Solid Gaude. И нет класических графиков как на картинках.
Установите период отличный от нуля и появятся остальные графики.

Re: Модуль Charts

Добавлено: Вс фев 12, 2017 12:18 pm
serghei
В очередной раз запустил МД из старой версии 0.8 от Adzam , подключил АМС , получаю температуру с далласа и вывожу на график с историей. НО ! Когда выключаю физически ардуину , последнее значение температуры остается в памяти МД и продолжают отображаться на графике. Это глюк модуля или кого то еще? Ведь значения Uptime ардуины не меняется и по идее МД знает ,что датчик отвалился. Кстати то же самое происходит и в АМС на " домашней" странице. Если отвалился сенсор , даже перезапуск браузера не помогает - все равно выводится последнее значение из XML таблицы.

Re: Модуль Charts

Добавлено: Вс фев 12, 2017 12:43 pm
EvgenyG
serghei писал(а):Когда выключаю физически ардуину , последнее значение температуры остается в памяти МД и продолжают отображаться на графике. Это глюк модуля или кого то еще?
Вроде нормальное поведение
Переменная же есть
И она отображается на графике
Надо отдельно прописывать, что если Uptime не меняется, то переменную заменяем на 0 или ещё что-то.

Re: Модуль Charts

Добавлено: Ср фев 15, 2017 8:31 pm
ipz
EvgenyG писал(а): Ещё раз попрошу о помощи, как настроить шкалу отображения для графика?
Можно ли объединить шкалы для графиков с одинаковыми единицами?
Нужно задать единицу измерения в настройках. Если не нужны никакие символы в единице измерения я ставлю точку.
Только работает, если задать всем сразу. Часть графиков не получится объединить под одной осью. Только все.
chart.jpg
chart.jpg (8.51 КБ) 7301 просмотр

Re: Модуль Charts

Добавлено: Ср фев 15, 2017 8:44 pm
ipz
serghei писал(а):последнее значение температуры остается в памяти МД и продолжают отображаться на графике. Это глюк модуля или кого то еще?
МДМ не причем. Это Highcharts так отрисовывает график: от последнего полученного значения до текущего момента рисует прямую линию. Такое решение имеет право на жизнь.
chart3.jpg
chart3.jpg (2.35 КБ) 7292 просмотра
Например, счетчик ошибок - он может только расти, сброс в нуль только принудительно, поэтому такой график выглядит естественно.
Можно провести мышкой над ним и увидеть где стоит маркер (даже если маркеры отключены)

Если нужно нарисовать мгновенные значения, например, расход воды, то лучше использовать столбики (и да, сбрасывать в нуль, если это не происходит на передающей стороне)

А так возможны и другие артефакты:
chart1.jpg
chart1.jpg (9.85 КБ) 7295 просмотров

Re: Модуль Charts

Добавлено: Пт фев 17, 2017 5:40 pm
serghei
I_I_Imonder писал(а): ...Добавил индикаторы на сцену, но они появляются на секунду и пропадают, куда рыть?
Скорее всего проблема с модулем. У меня древняя версия МД (около года). Индикаторы есть , но значений нет ( NaN ). На свежей системе значения появляются на 5 секунд и опять NaN. Браузер орет про не корректные имена свойств.


PS В общем разобрался я. Ошибка была в названии переменной. Всегда надо " название.свойство". И до кучи прицепить Jquery библиотеку. Для температуры с Openweathermap
SPOILERSPOILER_SHOW

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

<body onload="init()">

<canvas id="canvasTin" width="401" height="401"></canvas> // Размер спидометра
 
<script>
    var scroll = false;
    var RadialTin;
    function init() {
        // Initialzing gauge
        // Define some sections
        //раскрасим шкалу -15..+15 голубой
        //15...25 зеленый
        //-30...-15,25...30 желтый
        var sections = [steelseries.Section(-15, 15, 'rgba(0, 0, 220, 0.3)'),
                        steelseries.Section(15, 25, 'rgba(0, 220, 0, 0.3)'),
                        steelseries.Section(-30, -15, 'rgba(220, 220, 0, 0.3)'),
                        steelseries.Section(25, 30, 'rgba(220, 220, 0, 0.3)') ],

            // Define one area
            // розовый сектор
            areas = [steelseries.Section(30, 40, 'rgba(220, 0, 0, 0.3)'),
                     steelseries.Section(-40, -30, 'rgba(220, 0, 0, 0.3)'),],
            //treshold = 25 - лампочка начинает мигать
        RadialTin = new steelseries.Radial('canvasTin', {
                            gaugeType: steelseries.GaugeType.TYPE4,
                            size: 401,
                            section: sections,
                            area: areas,
                            minValue:-40,
                            maxValue:40,
                            titleString: "Температура",
                            unitString: "Градусы",
                            threshold: 25,
                            lcdVisible: true
                        });
       //RadialTin.setBackgroundColor(steelseries.BackgroundColor.WHITE);
       
        RadialTin.setBackgroundColor(steelseries.BackgroundColor.STAINLESS); // Тут внутренности спидометра
        
        
         RadialTin.setFrameDesign(steelseries.FrameDesign.GLOSSY_METAL); // Раскрашиваем обод спидометра

        //upd
       // live_upd("/pChart/?op=value&p=ws.tempInside", RadialTin);
        
            live_upd("/pChart/?op=value&p=ow_fact.temperature", RadialTin);
           
        // Start the update
        //читаем данные каждые 7 с
        setInterval(function(){ live_upd("/pChart/?op=value&p=ow_fact.temperature", RadialTin); },7000);
        
        //setInterval(function(){ live_upd("/pChart/?op=value&p=ws.tempInside", RadialTin); },7000);
}

    function live_upd(url,gauge) {
             $.ajax({
             url: url,
             }).done(function(data) { 
              if (data!='') {gauge.setValueAnimated(parseFloat(data));}
             });
     }


</script>

<script src="../SteelSeries/jquery.js"></script>  // скачиваем и прикручиваем библиотеку
 
<script src="../SteelSeries/tween-min.js"></script>
<script src="../SteelSeries/steelseries-min.js"></script>
</body>
Громадное спасибо Xor и Adzam за терпение и науку!!