[Модификация] Строим графики Highstock

Вносятся изменения в файлы или устанавливаются доп программы

Модераторы: immortal, newz20

smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

Re: Строим графики Highstock

Сообщение smart_g » Вт мар 27, 2018 9:28 am

To Bagir.
День добрый. Сегодня заметил, что после перевода времени данные на графике отображаются со сдвигом на час. В логе датчиков, которые используются для построения графиков, время нормальное. Что и где подправить?
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 374 раза

Re: Строим графики Highstock

Сообщение Bagir » Чт мар 29, 2018 10:13 am

Прежде всего надо посмотреть на время записей в базе данных. А потом будем делать выводы. Ещё надо уточнить, где был сделан перевод времени. Внутренние часы сервера? Зима/лето? Что сервер показывает по UTC?
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
smart_g
Сообщения: 292
Зарегистрирован: Вт окт 17, 2017 11:29 am
Откуда: Украина, Киев
Благодарил (а): 15 раз
Поблагодарили: 33 раза

Re: Строим графики Highstock

Сообщение smart_g » Чт мар 29, 2018 11:37 am

Bagir писал(а):Прежде всего надо посмотреть на время записей в базе данных. А потом будем делать выводы. Ещё надо уточнить, где был сделан перевод времени. Внутренние часы сервера? Зима/лето? Что сервер показывает по UTC?
Время на сервере МД синхронизировано с интернетом. Часовой пояс соответствует городу. Оно правильное. Но сейчас на графиках правильно. А вот 25.03.18 (ночью был перевод времени на час вперед) и 26.03.18 была разница в час между логом (свойства объекта датчика температуры) и графиком. Сейчас эта разница всплывает на графике за 24.03.18 и раньше.

2018-03-24 21:14:02: 53.875 X
2018-03-24 21:13:03: 52.0625 X
2018-03-24 21:12:03: 51.0625 X
2018-03-24 21:11:02: 49.125 X
2018-03-24 21:10:04: 46.875 X
2018-03-24 21:09:04: 43.75 X
2018-03-24 21:08:02: 41.125 X
2018-03-24 21:07:02: 37 X
2018-03-24 21:06:03: 33.1875 X
2018-03-24 21:05:04: 28.125 X
2018-03-24 21:04:03: 22.1875 X
2018-03-24 21:03:03: 16.125 X
2018-03-24 21:02:03: 13.8125 X
log_temp.JPG
log_temp.JPG (77.79 КБ) 6105 просмотров
Ubuntu Server 16.04 LTS, OpenWRT 1-wire, SonOFF, MYSensors, MiHome, Yeelight, MiFlower
maps
Сообщения: 7
Зарегистрирован: Вт окт 27, 2020 10:59 pm
Благодарил (а): 9 раз
Поблагодарили: 0

Re: [Модификация] Строим графики Highstock

Сообщение maps » Вт окт 27, 2020 11:12 pm

после запуска сценария
Безымянный.png
Безымянный.png (68.05 КБ) 3791 просмотр
Может кто знает куда капать
Аватара пользователя
Lerych
Сообщения: 191
Зарегистрирован: Чт дек 14, 2017 8:46 pm
Откуда: Московская область, Серпухов
Благодарил (а): 79 раз
Поблагодарили: 24 раза

Re: [Модификация] Строим графики Highstock

Сообщение Lerych » Пн ноя 02, 2020 10:10 pm

Как называется панель внизу графиков, и что там за данные. В графике три серии, а в этой панели одна. Можно отключить?
Аватара пользователя
Lerych
Сообщения: 191
Зарегистрирован: Чт дек 14, 2017 8:46 pm
Откуда: Московская область, Серпухов
Благодарил (а): 79 раз
Поблагодарили: 24 раза

Re: [Модификация] Строим графики Highstock

Сообщение Lerych » Вт ноя 03, 2020 1:04 pm

Предыдущий вопрос пока без ответа ;)
Кому надо поменять цвета по-умолчанию:
Есть код страницы

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

<script type="text/javascript" src="../../highcharts/js/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="../../highcharts/js/highstock.js"></script>
<script type="text/javascript">

$(function () {
    var seriesOptions = [],
          obsss = 0,
          seriesCounter = 0,
          timeback = 0,
          names = ['кухня','гостиная','спальня','холл','кабинет'], 
          sensornames = ['KitchenArea.Temperature', 
                                    'Livingroom.Temperature', 
                                    'Bedroom.Temperature',
                                    'HallArea.Temperature',
                                    'OfficeRoom.Temperature'];

    Highcharts.setOptions({
        lang: {
            months: ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль', 
                          'Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],

            shortMonths: ['Янв','Фев','Мар','Апр','Май','Июн','Июл', 
                                     'Авг','Сен','Окт','Ноя','Дек'],

            weekdays: ['Вск','Пнд','Втр','Срд','Чтв','Птн','Сбт'],

            rangeSelectorZoom: 'Маcштаб',
            rangeSelectorFrom: 'От',
            rangeSelectorTo: 'До',
            thousandsSep: ' '
        },
            global: {
                useUTC: false
            }
    });


    // create the chart when all data is loaded
    createChart = function () {
        $('#container').highcharts('StockChart', {
            rangeSelector: {
                buttons: [{ type: 'hour',    count: 1, text: '1h' },
                               { type: 'day',     count: 1, text: '1d' },
                               { type: 'day',     count: 2, text: '2d' },
                               { type: 'week',   count: 1, text: '1w' },
                               { type: 'month', count: 1, text: '1m' },
                               { type: 'month', count: 6, text: '6m' },
                               { type: 'year',    count: 1, text: '1y' },
                               { type: 'all', text: 'All' }],
                selected: 1  // Какая кнопка выбрана по умолчанию
            },
  
            title: { text : 'График температур в доме'},
            legend: { enabled : true,
                           layout : 'horizontal',
                           align : 'center',
                           verticalAlign : 'top',
                           borderWidth: 0,
                           x : 0,
                           y : 20 },

            xAxis : {
                minRange: 3600 * 1000 // one hour
            },

            yAxis: {
                title: {
                    text: 'Температура (°C)'
                }
            },

            plotOptions: {
                series: {
                    lineWidth: 1,
                    point: {
                        events: {
                            'click': function () {
                                if (this.series.data.length > 1) {
                                    this.remove();
                                }
                            }
                        }
                    }
                }
            },

            exporting: {
                enabled: false
            },

            series: seriesOptions
        });
    };

    $.each(names, function (i, name) {
        $.getJSON('/objects/?script=jconhs&name='+sensornames[i]+'&callback=?', function (data) {

            seriesOptions[i] = {
                name: name,
                data: data,
                type: 'spline'
            };

            // As we're loading the data asynchronously, we don't know what order it will arrive. So
            // we keep a counter and create the chart when all the data is loaded.
            seriesCounter += 1;

            if (seriesCounter === names.length) {
                createChart();
            }
        });
    });

});
</script>

<div id="container" style="height: 500px; min-width: 500px"></div>
Добавляем строку
color = ['red','green','blue','yellow','orange'],

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

names = ['кухня','гостиная','спальня','холл','кабинет'], 
	  color = ['red','green','blue','yellow','orange'],
          sensornames = ['KitchenArea.Temperature', 
                                    'Livingroom.Temperature', 
                                    'Bedroom.Temperature',
                                    'HallArea.Temperature',
                                    'OfficeRoom.Temperature'];
и ещё строку в секции seriesOptions

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

seriesOptions[i] = {
                name: name,
                data: data,
                color:color[i],
                type: 'spline'
            };
maps
Сообщения: 7
Зарегистрирован: Вт окт 27, 2020 10:59 pm
Благодарил (а): 9 раз
Поблагодарили: 0

Re: [Модификация] Строим графики Highstock

Сообщение maps » Вт ноя 03, 2020 4:05 pm

Lerych писал(а):
Пн ноя 02, 2020 10:10 pm
Как называется панель внизу графиков, и что там за данные. В графике три серии, а в этой панели одна. Можно отключить?
в HTML-code только изменил

names = [ 'Гостиная',
'Кухня',
'2_Этаж'],
sensornames = ['Sensor_temp08.value',
'Sensor_temp04.value',
'Sensor_temp09.value'];

и комментировать первой строка Running script:
Вложения
Безымянный1.png
Безымянный1.png (49.53 КБ) 3611 просмотров
Аватара пользователя
Lerych
Сообщения: 191
Зарегистрирован: Чт дек 14, 2017 8:46 pm
Откуда: Московская область, Серпухов
Благодарил (а): 79 раз
Поблагодарили: 24 раза

Re: [Модификация] Строим графики Highstock

Сообщение Lerych » Вт ноя 03, 2020 7:07 pm

Я спрашивал про панель на рисунке (цифрой 1 выделил). Что там за данные, и как скрыть её?
Ashampoo_Snap_2020.11.03_19h02m57s_001_.png
Ashampoo_Snap_2020.11.03_19h02m57s_001_.png (68.12 КБ) 3589 просмотров
Аватара пользователя
Lerych
Сообщения: 191
Зарегистрирован: Чт дек 14, 2017 8:46 pm
Откуда: Московская область, Серпухов
Благодарил (а): 79 раз
Поблагодарили: 24 раза

Re: [Модификация] Строим графики Highstock

Сообщение Lerych » Вт ноя 03, 2020 7:15 pm

Нашёл как отключить.
Ashampoo_Snap_2020.11.03_19h14m21s_001_.png
Ashampoo_Snap_2020.11.03_19h14m21s_001_.png (21.11 КБ) 3589 просмотров
maps
Сообщения: 7
Зарегистрирован: Вт окт 27, 2020 10:59 pm
Благодарил (а): 9 раз
Поблагодарили: 0

Re: [Модификация] Строим графики Highstock

Сообщение maps » Ср ноя 04, 2020 12:59 am

Lerych писал(а):
Вт ноя 03, 2020 7:07 pm
Я спрашивал про панель на рисунке (цифрой 1 выделил). Что там за данные, и как скрыть её?
Ashampoo_Snap_2020.11.03_19h02m57s_001_.png
При открытии просто чистая страница.
Ответить