"Живые" графики нужна помощь.

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: "Живые" графики нужна помощь.

Сообщение Urbas81 » Сб ноя 16, 2013 8:25 pm

Вопрос в первую очередь к sergejey, поменялся id ds18b20 который писался в базу, теперь заменил его другим, система ему присвоила другой id, соответственно теперь график строится без учета накопленной информации предыдущим датчиком, можно ли что-то в таблице исправить, чтоб данные писались по старому id?
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: "Живые" графики нужна помощь.

Сообщение Ivan » Вс ноя 17, 2013 9:50 am

- Можно алиас в owfs прописать
- Данные хранятся в обьекте а не в Устройстве. Пропишите в новое устройство ссылку на тот объект в который был.

А вот зачистку данных на определённый периуд в истории не хватает. Было такое что ипортился датчик и давал +80 градусов. Прошло полдня я его заменил, но данные по графику были не красивые. Пришлось ручками в базе чистить.

Хотелось бы иметь кнопочку и запросом даты времени до и после - для зачистки
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: "Живые" графики нужна помощь.

Сообщение Urbas81 » Вс ноя 17, 2013 5:03 pm

Ivan писал(а):- Можно алиас в owfs прописать
- Данные хранятся в обьекте а не в Устройстве. Пропишите в новое устройство ссылку на тот объект в который был.

А вот зачистку данных на определённый периуд в истории не хватает. Было такое что ипортился датчик и давал +80 градусов. Прошло полдня я его заменил, но данные по графику были не красивые. Пришлось ручками в базе чистить.

Хотелось бы иметь кнопочку и запросом даты времени до и после - для зачистки

Так я так и сделал, в новом DS18b20 прописал точно такое же название в свойствах температуры, но это не помогло, добавился новый id который в таблице mysql, не id датчика, я правда еще в таблицу не лазил, может его можно руками изменить, на номер который былл до этого у датчика.

А по поводу запроссов, можно именно 85 в запросе быстро поправить, у меня тоже такие данные появились, все никак не займусь чисткой.
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: "Живые" графики нужна помощь.

Сообщение Ivan » Вс ноя 17, 2013 9:22 pm

Никуда не нужно лазить.
1-wire - сканировать устройства. Найдется ещё один датчик в нем прописать привязки к объекту как в старом. И все. Данные все будут на месте, история хранится в свойстве объекта а не в устройстве

Ещё можно зайти localhost:2323 - движок owfs зайти на датчик и в алиасе нового поставить код старого (только не ошибись, вернуть потом обратно только переходом в браузере назад, если ссылка утеряна)
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: "Живые" графики нужна помощь.

Сообщение Urbas81 » Пн ноя 18, 2013 9:47 am

Ivan писал(а):Никуда не нужно лазить.
1-wire - сканировать устройства. Найдется ещё один датчик в нем прописать привязки к объекту как в старом. И все. Данные все будут на месте, история хранится в свойстве объекта а не в устройстве

Ещё можно зайти localhost:2323 - движок owfs зайти на датчик и в алиасе нового поставить код старого (только не ошибись, вернуть потом обратно только переходом в браузере назад, если ссылка утеряна)
Надо будет попробовать, а то я сразу другое имя ввел. Кстати localhost:2323, это что за порт? это тот который обычно 3001 и работает с owhttpd, у меня сейчас 1-wire работает на роутере, и я запускаю только owserver.
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: "Живые" графики нужна помощь.

Сообщение Ivan » Пн ноя 18, 2013 1:18 pm

Да это у меня порт службы owhttpd - Малина :)
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
dimik
Сообщения: 141
Зарегистрирован: Пн апр 22, 2013 10:42 am
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: "Живые" графики нужна помощь.

Сообщение dimik » Ср фев 05, 2014 12:03 pm

Urbas81 писал(а):
anemcov писал(а):
Urbas81 писал(а):
хотя до этого работало с 30 секундным интервалом, сейчас с 20 минутным, но появляется какой-то график в самом начале, там где его быть не должно, например у меня база с 16 апреля, так вот на старой версии у меня до 16 апреля была прямая линия, а сейчас там отрисовываются какие-то значения.
У этих графиков есть какой-то глюк, если в запрашиваемом интервале есть пустые промежутки. Сам столкнулся с прямыми линиями в хвосте графика. Причем линия находится четко на последнем, правильном значении.
Планирую подправить выдачу данных и графики таким образом, чтобы это были не просто равнораспределенные точки, а с привязкой во времени. И соответствующим образом выводились на график.
Yeс пустыми промежутками до обновления проблем не было, рисовалась просто прямая, затем если данные появлялись все продолжалось, а сейчас в зависимости от выбранного интервала все ueяет туда-сюда.
Вот и у меня наступила такая-же фигня!
второй день бьюсь. Помогите что надо сделать?
графики.jpg
графики.jpg (242.04 КБ) 9968 просмотров
откатил вообще всю систему (windows) вот что стало:
Безымянный.jpg
Безымянный.jpg (165.14 КБ) 9968 просмотров
КАК ЛЕЧИТЬ ОТСУТСТВИЕ ДАННЫХ В БАЗЕ???
dimik
Сообщения: 141
Зарегистрирован: Пн апр 22, 2013 10:42 am
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: "Живые" графики нужна помощь.

Сообщение dimik » Ср фев 05, 2014 12:57 pm

Urbas81 писал(а):Пришло озорение, совсем забыл про pChart, положил старый index.php, все вернулось на место, надо будет сравнить что там добавилось.
Поделитесь пожалуйста "старым" файликом index.php
alekszander
Сообщения: 178
Зарегистрирован: Вс янв 05, 2014 5:37 am
Благодарил (а): 10 раз
Поблагодарили: 17 раз

Re: "Живые" графики нужна помощь.

Сообщение alekszander » Ср фев 05, 2014 2:25 pm

Поделитесь опытом как вы прикрутили графики в домашнии страницы, уже 3-ий день бьюсь не могу понять как. Открывается просто пустая страница.
dimik
Сообщения: 141
Зарегистрирован: Пн апр 22, 2013 10:42 am
Благодарил (а): 3 раза
Поблагодарили: 8 раз

Re: "Живые" графики нужна помощь.

Сообщение dimik » Ср фев 05, 2014 6:42 pm

Да все так-же как в примерах (sample2.php):
на всякий случай вот код страницы:

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

<!DOCTYPE HTML>
<html>
        <head>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
                <title>Highstock Example</title>
                <script type="text/javascript" src="/highcharts/js/jquery-1.7.1.min.js"></script>
                <script type="text/javascript" language="javascript">


var chart_preiod=15; //days
var chart_interval=1200; //seconds (interval);

var dateNow = new Date();
var startDate = new Date(dateNow.getTime() - chart_preiod*24*60*60*1000);
startDate.setHours(0,0,0,0);

$(function() {

url = '/pChart/?p=ws.tempOutside&op=values&start='+startDate.getFullYear()+'/'+(startDate.getMonth()+1)+'/'+(startDate.getDate())+'&interval='+chart_interval;


        $.getJSON(url, function(data) {
        
                //alert(data);
                // Create a timer
                var start = + new Date();
                var old_data=data;
                for(var i=0;i<old_data.length;i++) {
                 data[i]=parseFloat(old_data[i]);
                }
        
                // Create the chart
                var chart = new Highcharts.StockChart({
                    chart: {
                        renderTo: 'Outside',
                                events: {
                                        load: function(chart) {
                                                this.setTitle(null, {
                                                        text: 'Built chart at '+ (new Date() - start) +'ms'
                                                });
                                        }
                                },
                                zoomType: 'x'
                    },
        
                    rangeSelector: {
                        buttons: [{
                            type: 'hour',
                            count: 1,
                            text: '1h'
                        }, {
                            type: 'day',
                            count: 1,
                            text: '1d'
                        }, {
                            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: 3
                    },
        
                        yAxis: {
                                title: {
                                        text: 'Температура (°C)'
                                }
                        },
        
                    title: {
                                text: 'Температура на улице'
                        },
        
                        subtitle: {
                                text: 'Built chart at...' // dummy text to reserve space for dynamic subtitle
                        },
                        
                        series: [{
                        name: 'Temperature',
                        data: data,
                        pointStart: (startDate.getTime()- startDate.getTimezoneOffset() * 60*1000),
                        pointInterval: chart_interval * 1000,
                        tooltip: {
                                valueDecimals: 1,
                                valueSuffix: '°C'
                        }
                    }]
        
                });
        });
});
$(function() {

url = '/pChart/?p=ws.tempInside&op=values&start='+startDate.getFullYear()+'/'+(startDate.getMonth()+1)+'/'+(startDate.getDate())+'&interval='+chart_interval;


        $.getJSON(url, function(data) {
        
                //alert(data);
                // Create a timer
                var start = + new Date();
                var old_data=data;
                for(var i=0;i<old_data.length;i++) {
                 data[i]=parseFloat(old_data[i]);
                }
        
                // Create the chart
                var chart = new Highcharts.StockChart({
                    chart: {
                        renderTo: 'Inside',
                                events: {
                                        load: function(chart) {
                                                this.setTitle(null, {
                                                        text: 'Built chart at '+ (new Date() - start) +'ms'
                                                });
                                        }
                                },
                                zoomType: 'x'
                    },
        
                    rangeSelector: {
                        buttons: [{
                            type: 'hour',
                            count: 1,
                            text: '1h'
                        }, {
                            type: 'day',
                            count: 1,
                            text: '1d'
                        }, {
                            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: 3
                    },
        
                        yAxis: {
                                title: {
                                        text: 'Температура (°C)'
                                }
                        },
        
                    title: {
                                text: 'Температура в квартире'
                        },
        
                        subtitle: {
                                text: 'Built chart at...' // dummy text to reserve space for dynamic subtitle
                        },
                        
                        series: [{
                        name: 'Temperature',
                        data: data,
                        pointStart: (startDate.getTime()- startDate.getTimezoneOffset() * 60*1000),
                        pointInterval: chart_interval * 1000,
                        tooltip: {
                                valueDecimals: 1,
                                valueSuffix: '°C'
                        }
                    }]
        
                });
        });
});
                </script>
        </head>
        <body>
<script src="/highcharts/js/highstock.js"></script>
<script src="/highcharts/js/modules/exporting.js"></script>

<div id="Outside" style="height: 280px; min-width: 550px"></div>
<div id="Inside" style="height: 280px; min-width: 550px"></div>
        </body>
</html>
Ну и хоть кто-нибудь пришлите старый index.php а то прямая в конце графика напрягает...
НАШЕЛ!!!! index.php из версии 0.3.0b от 06.03.2013. Графики строятся корректно. Буду искать в чем разница с новым.
Ответить